@@ -283,7 +283,7 @@ describe('FT routes', () => {
283283 } ) ;
284284
285285 describe ( 'index' , ( ) => {
286- const insertFt = async ( item : DbFungibleTokenMetadataItem ) => {
286+ const insertFt = async ( item : DbFungibleTokenMetadataItem , skipMetadata : boolean = false ) => {
287287 const [ tokenJob ] = await insertAndEnqueueTestContractWithTokens (
288288 db ,
289289 item . principal ,
@@ -301,22 +301,24 @@ describe('FT routes', () => {
301301 total_supply : item . total_supply ?. toString ( ) ,
302302 uri : item . uri ?? null ,
303303 } ,
304- metadataLocales : [
305- {
306- metadata : {
307- sip : 16 ,
308- token_id : tokenJob . token_id ?? 0 ,
309- name : item . name ?? '' ,
310- l10n_locale : 'en' ,
311- l10n_uri : null ,
312- l10n_default : true ,
313- description : item . description ?? '' ,
314- image : item . image ?? '' ,
315- cached_image : item . cached_image ?? '' ,
316- cached_thumbnail_image : item . cached_thumbnail_image ?? '' ,
317- } ,
318- } ,
319- ] ,
304+ metadataLocales : skipMetadata
305+ ? [ ]
306+ : [
307+ {
308+ metadata : {
309+ sip : 16 ,
310+ token_id : tokenJob . token_id ?? 0 ,
311+ name : item . name ?? '' ,
312+ l10n_locale : 'en' ,
313+ l10n_uri : null ,
314+ l10n_default : true ,
315+ description : item . description ?? '' ,
316+ image : item . image ?? '' ,
317+ cached_image : item . cached_image ?? '' ,
318+ cached_thumbnail_image : item . cached_thumbnail_image ?? '' ,
319+ } ,
320+ } ,
321+ ] ,
320322 } ,
321323 } ) ;
322324 } ;
@@ -437,6 +439,24 @@ describe('FT routes', () => {
437439 const json3 = response3 . json ( ) ;
438440 expect ( json3 . total ) . toBe ( 1 ) ;
439441 expect ( json3 . results [ 0 ] . symbol ) . toBe ( 'MIA' ) ;
442+
443+ // Test a token without SIP-16 metadata
444+ await insertFt ( {
445+ name : 'Scam token' ,
446+ symbol : 'rstSTX' ,
447+ decimals : 5 ,
448+ tx_id : '0xbdc41843d5e0cd4a70611f6badeb5c87b07b12309e77c4fbaf2334c7b4cee89b' ,
449+ principal : 'SP22PCWZ9EJMHV4PHVS0C8H3B3E4Q079ZHY6CXDS1.meme-token' ,
450+ total_supply : '200000' ,
451+ } ) ;
452+ const response4 = await fastify . inject ( {
453+ method : 'GET' ,
454+ url : '/metadata/ft?name=scam' ,
455+ } ) ;
456+ expect ( response4 . statusCode ) . toBe ( 200 ) ;
457+ const json4 = response4 . json ( ) ;
458+ expect ( json4 . total ) . toBe ( 1 ) ;
459+ expect ( json4 . results [ 0 ] . symbol ) . toBe ( 'rstSTX' ) ;
440460 } ) ;
441461
442462 test ( 'filters by symbol' , async ( ) => {
0 commit comments