@@ -110,6 +110,7 @@ describe('Token Service', () => {
110110 useValue : {
111111 getTokenAssets : jest . fn ( ) ,
112112 getAllAccountAssets : jest . fn ( ) ,
113+ getAllTokenAssets : jest . fn ( ) ,
113114 } ,
114115 } ,
115116 {
@@ -603,7 +604,7 @@ describe('Token Service', () => {
603604 expect ( getAllTokensMock ) . toHaveBeenCalledTimes ( 1 ) ;
604605
605606 const secondToken = mockTokens [ 1 ] ;
606- secondToken . assets . priceSource = { type : 'customUrl' } ;
607+ secondToken . assets . priceSource = { type : 'customUrl' } ;
607608 const newExpectedMarketCap = result - secondToken . marketCap ;
608609 mockTokens [ 1 ] = secondToken ;
609610
@@ -692,7 +693,6 @@ describe('Token Service', () => {
692693 } ) ;
693694
694695 it ( 'should return tokens from other sources when isTokensFetchFeatureEnabled is false' , async ( ) => {
695-
696696 const mockTokenProperties : Partial < TokenProperties > [ ] = [ { identifier : 'mockIdentifier' } ] ;
697697 let mockTokens : Partial < TokenDetailed > [ ] = mockTokenProperties . map ( properties => ApiUtils . mergeObjects ( new TokenDetailed ( ) , properties ) ) ;
698698 const mockTokenAssets : Partial < TokenAssets > = { name : 'mockName' } ;
@@ -702,6 +702,7 @@ describe('Token Service', () => {
702702 jest . spyOn ( apiConfigService , 'isTokensFetchFeatureEnabled' ) . mockReturnValue ( false ) ;
703703 jest . spyOn ( esdtService , 'getAllFungibleTokenProperties' ) . mockResolvedValue ( mockTokenProperties as TokenProperties [ ] ) ;
704704 jest . spyOn ( assetsService , 'getTokenAssets' ) . mockResolvedValue ( mockTokenAssets as TokenAssets ) ;
705+ jest . spyOn ( assetsService , 'getAllTokenAssets' ) . mockResolvedValue ( { mockIdentifier : mockTokenAssets , 'EGLD-000000' : mockTokenAssets } as any ) ;
705706 jest . spyOn ( collectionService , 'getNftCollections' ) . mockResolvedValue ( mockNftCollections as NftCollection [ ] ) ;
706707
707708 jest . spyOn ( tokenService as any , 'batchProcessTokens' ) . mockImplementation ( ( ) => Promise . resolve ( ) ) ;
@@ -723,16 +724,14 @@ describe('Token Service', () => {
723724 expect ( apiConfigService . isTokensFetchFeatureEnabled ) . toHaveBeenCalled ( ) ;
724725 expect ( esdtService . getAllFungibleTokenProperties ) . toHaveBeenCalled ( ) ;
725726
726- mockTokens . forEach ( ( mockToken ) => {
727- expect ( assetsService . getTokenAssets ) . toHaveBeenCalledWith ( mockToken . identifier ) ;
728- } ) ;
727+ expect ( assetsService . getAllTokenAssets ) . toHaveBeenCalledTimes ( 1 ) ;
729728
730- expect ( esdtService . getAllFungibleTokenProperties ) . toHaveBeenCalled ( ) ;
731729 mockTokens . forEach ( mockToken => {
732- expect ( assetsService . getTokenAssets ) . toHaveBeenCalledWith ( mockToken . identifier ) ;
733730 mockToken . name = mockTokenAssets . name ;
734731 } ) ;
735- expect ( assetsService . getTokenAssets ) . toHaveBeenCalledTimes ( mockTokens . length + 1 ) ; // add 1 for EGLD-000000
732+
733+ expect ( esdtService . getAllFungibleTokenProperties ) . toHaveBeenCalled ( ) ;
734+ expect ( assetsService . getTokenAssets ) . toHaveBeenCalledWith ( 'EGLD-000000' ) ;
736735
737736
738737 expect ( ( collectionService as any ) . getNftCollections ) . toHaveBeenCalledWith ( expect . anything ( ) , { type : [ TokenType . MetaESDT ] } ) ;
@@ -817,23 +816,26 @@ describe('Token Service', () => {
817816 new TokenProperties ( { identifier : 'token5' } ) ,
818817 ] ) ;
819818
820- // Only token2 has a custom price source
819+ const mockAllAssets : { [ key : string ] : TokenAssets } = {
820+ token1 : new TokenAssets ( { name : 'Token token1' } ) ,
821+ token2 : new TokenAssets ( {
822+ name : 'Token token2' ,
823+ priceSource : {
824+ type : TokenAssetsPriceSourceType . customUrl ,
825+ path : '0.usdPrice' ,
826+ url : 'url' ,
827+ } ,
828+ } ) ,
829+ token3 : new TokenAssets ( { name : 'Token token3' } ) ,
830+ token4 : new TokenAssets ( { name : 'Token token4' } ) ,
831+ token5 : new TokenAssets ( { name : 'Token token5' } ) ,
832+ 'EGLD-000000' : new TokenAssets ( { name : 'EGLD' } ) ,
833+ } ;
834+ jest . spyOn ( tokenService [ 'assetsService' ] , 'getAllTokenAssets' ) . mockResolvedValue ( mockAllAssets ) ;
835+
821836 // eslint-disable-next-line require-await
822837 jest . spyOn ( tokenService [ 'assetsService' ] , 'getTokenAssets' ) . mockImplementation ( async ( identifier : string ) => {
823- if ( identifier === 'token2' ) {
824- return new TokenAssets ( {
825- name : `Token ${ identifier } ` ,
826- priceSource : {
827- type : TokenAssetsPriceSourceType . customUrl ,
828- path : '0.usdPrice' ,
829- url : 'url' ,
830- } ,
831- } ) ;
832- }
833- return new TokenAssets ( {
834- name : `Token ${ identifier } ` ,
835- // No priceSource
836- } ) ;
838+ return mockAllAssets [ identifier ] ;
837839 } ) ;
838840
839841 jest . spyOn ( tokenService [ 'collectionService' ] , 'getNftCollections' ) . mockResolvedValue ( [ ] ) ;
@@ -854,7 +856,7 @@ describe('Token Service', () => {
854856 jest . spyOn ( tokenService as any , 'applyMexPrices' ) . mockResolvedValue ( undefined ) ;
855857 jest . spyOn ( tokenService as any , 'applyMexPairType' ) . mockResolvedValue ( undefined ) ;
856858 jest . spyOn ( tokenService as any , 'applyMexPairTradesCount' ) . mockResolvedValue ( undefined ) ;
857- jest . spyOn ( tokenService [ 'apiService' ] as any , 'get' ) . mockResolvedValue ( { data : [ { usdPrice : 1.0 } ] } ) ;
859+ jest . spyOn ( tokenService [ 'apiService' ] as any , 'get' ) . mockResolvedValue ( { data : [ { usdPrice : 1.0 } ] } ) ;
858860 jest . spyOn ( tokenService [ 'cachingService' ] , 'batchApplyAll' ) . mockImplementation (
859861 // eslint-disable-next-line require-await
860862 async ( ...args : unknown [ ] ) => {
0 commit comments