1+ import { createMockSdkInstance } from "@/test/helpers/sdkInstance" ;
12import { buildSwapCallData } from "@/utils/buildSwapCallData" ;
3+ import * as getQuoteModule from "@/utils/getQuote" ;
24import { Token } from "@uniswap/sdk-core" ;
35import { Pool } from "@uniswap/v4-sdk" ;
46import { type Address , zeroAddress } from "viem" ;
5- import { describe , expect , it } from "vitest" ;
7+ import { describe , expect , it , vi } from "vitest" ;
8+
9+ const sdkInstance = createMockSdkInstance ( ) ;
10+
11+ // Mock getQuote to return a fixed amount
12+ vi . spyOn ( getQuoteModule , "getQuote" ) . mockImplementation ( async ( ) => ( {
13+ amountOut : BigInt ( 1000000000000000000 ) , // 1 WETH
14+ estimatedGasUsed : BigInt ( 100000 ) ,
15+ timestamp : Date . now ( ) ,
16+ } ) ) ;
617
718describe ( "buildSwapCallData" , ( ) => {
819 // USDC and WETH on Mainnet
@@ -31,11 +42,11 @@ describe("buildSwapCallData", () => {
3142 const params = {
3243 tokenIn : mockTokens [ 0 ] ,
3344 amountIn : BigInt ( 1000000 ) , // 1 USDC
34- amountOutMin : BigInt ( 0 ) ,
45+ slippageTolerance : 50 ,
3546 pool : mockPool ,
3647 } ;
3748
38- const calldata = await buildSwapCallData ( params ) ;
49+ const calldata = await buildSwapCallData ( params , sdkInstance ) ;
3950 expect ( calldata ) . toBeDefined ( ) ;
4051 expect ( calldata ) . toMatch ( / ^ 0 x / ) ; // Should be a hex string
4152 } ) ;
@@ -44,11 +55,11 @@ describe("buildSwapCallData", () => {
4455 const params = {
4556 tokenIn : mockTokens [ 1 ] ,
4657 amountIn : BigInt ( 1000000000000000000 ) , // 1 WETH
47- amountOutMin : BigInt ( 0 ) ,
58+ slippageTolerance : 50 ,
4859 pool : mockPool ,
4960 } ;
5061
51- const calldata = await buildSwapCallData ( params ) ;
62+ const calldata = await buildSwapCallData ( params , sdkInstance ) ;
5263 expect ( calldata ) . toBeDefined ( ) ;
5364 expect ( calldata ) . toMatch ( / ^ 0 x / ) ;
5465 } ) ;
@@ -57,11 +68,11 @@ describe("buildSwapCallData", () => {
5768 const params = {
5869 tokenIn : mockTokens [ 0 ] ,
5970 amountIn : BigInt ( 1000000 ) ,
60- amountOutMin : BigInt ( 500000 ) , // 0.5 WETH minimum
71+ slippageTolerance : 50 ,
6172 pool : mockPool ,
6273 } ;
6374
64- const calldata = await buildSwapCallData ( params ) ;
75+ const calldata = await buildSwapCallData ( params , sdkInstance ) ;
6576 expect ( calldata ) . toBeDefined ( ) ;
6677 expect ( calldata ) . toMatch ( / ^ 0 x / ) ;
6778 } ) ;
@@ -70,11 +81,11 @@ describe("buildSwapCallData", () => {
7081 const params = {
7182 tokenIn : mockTokens [ 0 ] ,
7283 amountIn : BigInt ( 1000000 ) ,
73- amountOutMin : BigInt ( 0 ) ,
84+ slippageTolerance : 50 ,
7485 pool : mockPool ,
7586 } ;
7687
77- const calldata = await buildSwapCallData ( params ) ;
88+ const calldata = await buildSwapCallData ( params , sdkInstance ) ;
7889 expect ( calldata ) . toBeDefined ( ) ;
7990 expect ( calldata ) . toMatch ( / ^ 0 x / ) ;
8091 } ) ;
@@ -83,11 +94,11 @@ describe("buildSwapCallData", () => {
8394 const params = {
8495 tokenIn : mockTokens [ 0 ] ,
8596 amountIn : BigInt ( 1000000 ) ,
86- amountOutMin : BigInt ( 0 ) ,
97+ slippageTolerance : 50 ,
8798 pool : mockPool ,
8899 } ;
89100
90- const calldata = await buildSwapCallData ( params ) ;
101+ const calldata = await buildSwapCallData ( params , sdkInstance ) ;
91102 expect ( calldata ) . toBeDefined ( ) ;
92103 expect ( calldata ) . toMatch ( / ^ 0 x / ) ;
93104 } ) ;
0 commit comments