@@ -9,6 +9,7 @@ import type {
99 GetTrendingTokensResponse ,
1010 Token ,
1111} from "../../src/api/types"
12+ import { Chain } from "../../src/types"
1213import { createMockFetcher } from "../fixtures/fetcher"
1314
1415const mockToken : Token = {
@@ -352,6 +353,68 @@ describe("API: TokensAPI", () => {
352353 } )
353354 } )
354355
356+ describe ( "getTokenHolders" , ( ) => {
357+ test ( "fetches token holders without args" , async ( ) => {
358+ mockGet . mockResolvedValue ( { holders : [ ] } )
359+
360+ await tokensAPI . getTokenHolders (
361+ Chain . Mainnet ,
362+ "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" ,
363+ )
364+
365+ expect ( mockGet ) . toHaveBeenCalledTimes ( 1 )
366+ expect ( mockGet . mock . calls [ 0 ] [ 0 ] ) . toBe (
367+ "/api/v2/chain/ethereum/token/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/holders" ,
368+ )
369+ expect ( mockGet . mock . calls [ 0 ] [ 1 ] ) . toBeUndefined ( )
370+ } )
371+
372+ test ( "passes limit/cursor/sortBy/sortDirection query args" , async ( ) => {
373+ mockGet . mockResolvedValue ( { holders : [ ] } )
374+
375+ await tokensAPI . getTokenHolders ( Chain . Mainnet , "0xabc" , {
376+ limit : 50 ,
377+ cursor : "page-2" ,
378+ sortBy : "QUANTITY" ,
379+ sortDirection : "desc" ,
380+ } )
381+
382+ expect ( mockGet . mock . calls [ 0 ] [ 1 ] ) . toEqual ( {
383+ limit : 50 ,
384+ cursor : "page-2" ,
385+ sortBy : "QUANTITY" ,
386+ sortDirection : "desc" ,
387+ } )
388+ } )
389+ } )
390+
391+ describe ( "getTokenLiquidityPools" , ( ) => {
392+ test ( "fetches token liquidity pools without args" , async ( ) => {
393+ mockGet . mockResolvedValue ( { pools : [ ] } )
394+
395+ await tokensAPI . getTokenLiquidityPools (
396+ Chain . Mainnet ,
397+ "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" ,
398+ )
399+
400+ expect ( mockGet ) . toHaveBeenCalledTimes ( 1 )
401+ expect ( mockGet . mock . calls [ 0 ] [ 0 ] ) . toBe (
402+ "/api/v2/chain/ethereum/token/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/liquidity-pools" ,
403+ )
404+ expect ( mockGet . mock . calls [ 0 ] [ 1 ] ) . toBeUndefined ( )
405+ } )
406+
407+ test ( "passes limit query arg" , async ( ) => {
408+ mockGet . mockResolvedValue ( { pools : [ ] } )
409+
410+ await tokensAPI . getTokenLiquidityPools ( Chain . Mainnet , "0xabc" , {
411+ limit : 50 ,
412+ } )
413+
414+ expect ( mockGet . mock . calls [ 0 ] [ 1 ] ) . toEqual ( { limit : 50 } )
415+ } )
416+ } )
417+
355418 describe ( "Constructor" , ( ) => {
356419 test ( "initializes with fetcher" , ( ) => {
357420 const { fetcher } = createMockFetcher ( )
0 commit comments