@@ -332,6 +332,7 @@ func TestTWTInfoJSON_FullAssetValidation(t *testing.T) {
332332// TestSpamTokenInfoJSON verifies the new spam token entry is valid.
333333func TestSpamTokenInfoJSON (t * testing.T ) {
334334 f := "blockchains/smartchain/assets/0xF11215614946E7990842b96F998B4797187D8888/info.json"
335+ addr := "0xF11215614946E7990842b96F998B4797187D8888"
335336
336337 t .Run ("valid_json" , func (t * testing.T ) {
337338 fullPath := filepath .Join (repoRoot (t ), f )
@@ -344,13 +345,6 @@ func TestSpamTokenInfoJSON(t *testing.T) {
344345 }
345346 })
346347
347- t .Run ("required_keys" , func (t * testing.T ) {
348- model := loadAssetInfo (t , f )
349- if err := ValidateAssetRequiredKeys (model ); err != nil {
350- t .Errorf ("missing required keys: %v" , err )
351- }
352- })
353-
354348 t .Run ("status_is_spam" , func (t * testing.T ) {
355349 model := loadAssetInfo (t , f )
356350 if model .Status == nil {
@@ -359,54 +353,11 @@ func TestSpamTokenInfoJSON(t *testing.T) {
359353 if * model .Status != "spam" {
360354 t .Errorf ("status = %q, want %q" , * model .Status , "spam" )
361355 }
362- if err := ValidateStatus (* model .Status ); err != nil {
363- t .Errorf ("status validation failed: %v" , err )
364- }
365- })
366-
367- t .Run ("id_matches_address" , func (t * testing.T ) {
368- model := loadAssetInfo (t , f )
369- if model .ID == nil {
370- t .Fatal ("id field is nil" )
371- }
372- if err := ValidateAssetID (* model .ID , "0xF11215614946E7990842b96F998B4797187D8888" ); err != nil {
373- t .Errorf ("asset ID validation failed: %v" , err )
374- }
375- })
376-
377- t .Run ("type_is_BEP20" , func (t * testing.T ) {
378- model := loadAssetInfo (t , f )
379- if model .Type == nil {
380- t .Fatal ("type field is nil" )
381- }
382- if * model .Type != "BEP20" {
383- t .Errorf ("type = %q, want %q" , * model .Type , "BEP20" )
384- }
385- })
386-
387- t .Run ("decimals_valid" , func (t * testing.T ) {
388- model := loadAssetInfo (t , f )
389- if model .Decimals == nil {
390- t .Fatal ("decimals field is nil" )
391- }
392- if err := ValidateDecimals (* model .Decimals ); err != nil {
393- t .Errorf ("decimals validation failed: %v" , err )
394- }
395- })
396-
397- t .Run ("description_valid" , func (t * testing.T ) {
398- model := loadAssetInfo (t , f )
399- if model .Description == nil {
400- t .Fatal ("description field is nil" )
401- }
402- if err := ValidateDescription (* model .Description ); err != nil {
403- t .Errorf ("description validation failed: %v" , err )
404- }
405356 })
406357
407358 t .Run ("full_asset_validation" , func (t * testing.T ) {
408359 model := loadAssetInfo (t , f )
409- if err := ValidateAsset (model , coin .Smartchain (), "0xF11215614946E7990842b96F998B4797187D8888" ); err != nil {
360+ if err := ValidateAsset (model , coin .Smartchain (), addr ); err != nil {
410361 t .Errorf ("full asset validation failed: %v" , err )
411362 }
412363 })
@@ -467,81 +418,25 @@ func TestValidateLinks_CoinMarketCapPrefix(t *testing.T) {
467418
468419// TestValidateLinks_AllLinkTypes validates various allowed link types.
469420func TestValidateLinks_AllLinkTypes (t * testing.T ) {
421+ gh := Link {Name : ptr ("github" ), URL : ptr ("https://github.com/trustwallet" )}
470422 tests := []struct {
471423 name string
472424 links []Link
473425 wantErr bool
474426 }{
475- {
476- name : "valid_github_and_x" ,
477- links : []Link {
478- {Name : ptr ("github" ), URL : ptr ("https://github.com/trustwallet" )},
479- {Name : ptr ("x" ), URL : ptr ("https://x.com/trustwallet" )},
480- },
481- wantErr : false ,
482- },
483- {
484- name : "invalid_link_name" ,
485- links : []Link {
486- {Name : ptr ("github" ), URL : ptr ("https://github.com/trustwallet" )},
487- {Name : ptr ("twitter" ), URL : ptr ("https://twitter.com/trustwallet" )},
488- },
489- wantErr : true ,
490- },
491- {
492- name : "nil_link_name" ,
493- links : []Link {
494- {Name : ptr ("github" ), URL : ptr ("https://github.com/trustwallet" )},
495- {Name : nil , URL : ptr ("https://example.com" )},
496- },
497- wantErr : true ,
498- },
499- {
500- name : "nil_link_url" ,
501- links : []Link {
502- {Name : ptr ("github" ), URL : ptr ("https://github.com/trustwallet" )},
503- {Name : ptr ("x" ), URL : nil },
504- },
505- wantErr : true ,
506- },
507- {
508- name : "single_link_skips_validation" ,
509- links : []Link {
510- {Name : ptr ("github" ), URL : ptr ("https://github.com/trustwallet" )},
511- },
512- wantErr : false ,
513- },
514- {
515- name : "empty_links_skips_validation" ,
516- links : []Link {},
517- wantErr : false ,
518- },
519- {
520- name : "github_wrong_prefix" ,
521- links : []Link {
522- {Name : ptr ("github" ), URL : ptr ("https://gitlab.com/trustwallet" )},
523- {Name : ptr ("x" ), URL : ptr ("https://x.com/trustwallet" )},
524- },
525- wantErr : true ,
526- },
527- {
528- name : "reddit_valid_prefix" ,
529- links : []Link {
530- {Name : ptr ("github" ), URL : ptr ("https://github.com/trustwallet" )},
531- {Name : ptr ("reddit" ), URL : ptr ("https://reddit.com/r/trustapp" )},
532- },
533- wantErr : false ,
534- },
535- {
536- name : "coingecko_valid" ,
537- links : []Link {
538- {Name : ptr ("github" ), URL : ptr ("https://github.com/trustwallet" )},
539- {Name : ptr ("coingecko" ), URL : ptr ("https://coingecko.com/en/coins/trust-wallet-token" )},
540- },
541- wantErr : false ,
542- },
427+ {"valid_github_and_x" , []Link {gh , {Name : ptr ("x" ), URL : ptr ("https://x.com/trustwallet" )}}, false },
428+ {"invalid_link_name" , []Link {gh , {Name : ptr ("twitter" ), URL : ptr ("https://twitter.com/tw" )}}, true },
429+ {"nil_link_name" , []Link {gh , {Name : nil , URL : ptr ("https://example.com" )}}, true },
430+ {"nil_link_url" , []Link {gh , {Name : ptr ("x" ), URL : nil }}, true },
431+ {"single_link" , []Link {gh }, false },
432+ {"empty_links" , nil , false },
433+ {"wrong_prefix" , []Link {
434+ {Name : ptr ("github" ), URL : ptr ("https://gitlab.com/tw" )},
435+ {Name : ptr ("x" ), URL : ptr ("https://x.com/tw" )},
436+ }, true },
437+ {"reddit_valid" , []Link {gh , {Name : ptr ("reddit" ), URL : ptr ("https://reddit.com/r/trustapp" )}}, false },
438+ {"coingecko_valid" , []Link {gh , {Name : ptr ("coingecko" ), URL : ptr ("https://coingecko.com/en/coins/twt" )}}, false },
543439 }
544-
545440 for _ , tt := range tests {
546441 t .Run (tt .name , func (t * testing.T ) {
547442 err := ValidateLinks (tt .links )
0 commit comments