@@ -938,7 +938,7 @@ describe('useAppKitWallets', () => {
938938 await result . fetchWallets ( )
939939
940940 expect ( setIsFetchingWallets ) . toHaveBeenCalledWith ( true )
941- expect ( fetchWalletsByPageSpy ) . toHaveBeenCalledWith ( { page : 1 , entries : undefined } )
941+ expect ( fetchWalletsByPageSpy ) . toHaveBeenCalledWith ( { page : 1 } )
942942 expect ( ApiController . state . search ) . toEqual ( [ ] )
943943 expect ( setIsFetchingWallets ) . toHaveBeenCalledWith ( false )
944944 } )
@@ -1058,6 +1058,197 @@ describe('useAppKitWallets', () => {
10581058 consoleErrorSpy . mockRestore ( )
10591059 } )
10601060
1061+ it ( 'should fetch wallets with search param' , async ( ) => {
1062+ const setIsFetchingWallets = vi . fn ( )
1063+ mockedReact . useState . mockReturnValue ( [ false , setIsFetchingWallets ] )
1064+
1065+ useSnapshot
1066+ . mockReturnValueOnce ( {
1067+ features : { headless : true } ,
1068+ remoteFeatures : { headless : true }
1069+ } )
1070+ . mockReturnValueOnce ( {
1071+ wcUri : undefined ,
1072+ wcFetchingUri : false
1073+ } )
1074+ . mockReturnValueOnce ( {
1075+ wallets : [ ] ,
1076+ search : [ ] ,
1077+ page : 1 ,
1078+ count : 0
1079+ } )
1080+ . mockReturnValueOnce ( {
1081+ initialized : true ,
1082+ connectingWallet : undefined
1083+ } )
1084+
1085+ vi . spyOn ( ConnectUtil , 'getInitialWallets' ) . mockReturnValue ( [ ] )
1086+ vi . spyOn ( ConnectUtil , 'getWalletConnectWallets' ) . mockReturnValue ( [ ] )
1087+ const searchWalletSpy = vi . spyOn ( ApiController , 'searchWallet' ) . mockResolvedValue ( undefined )
1088+
1089+ const result = useAppKitWallets ( )
1090+
1091+ await result . fetchWallets ( { search : 'phantom' } )
1092+
1093+ expect ( searchWalletSpy ) . toHaveBeenCalledWith ( { search : 'phantom' } )
1094+ } )
1095+
1096+ it ( 'should use search over query when both provided' , async ( ) => {
1097+ const setIsFetchingWallets = vi . fn ( )
1098+ mockedReact . useState . mockReturnValue ( [ false , setIsFetchingWallets ] )
1099+
1100+ useSnapshot
1101+ . mockReturnValueOnce ( {
1102+ features : { headless : true } ,
1103+ remoteFeatures : { headless : true }
1104+ } )
1105+ . mockReturnValueOnce ( {
1106+ wcUri : undefined ,
1107+ wcFetchingUri : false
1108+ } )
1109+ . mockReturnValueOnce ( {
1110+ wallets : [ ] ,
1111+ search : [ ] ,
1112+ page : 1 ,
1113+ count : 0
1114+ } )
1115+ . mockReturnValueOnce ( {
1116+ initialized : true ,
1117+ connectingWallet : undefined
1118+ } )
1119+
1120+ vi . spyOn ( ConnectUtil , 'getInitialWallets' ) . mockReturnValue ( [ ] )
1121+ vi . spyOn ( ConnectUtil , 'getWalletConnectWallets' ) . mockReturnValue ( [ ] )
1122+ const searchWalletSpy = vi . spyOn ( ApiController , 'searchWallet' ) . mockResolvedValue ( undefined )
1123+
1124+ const result = useAppKitWallets ( )
1125+
1126+ await result . fetchWallets ( { search : 'phantom' , query : 'metamask' } )
1127+
1128+ expect ( searchWalletSpy ) . toHaveBeenCalledWith ( { search : 'phantom' } )
1129+ } )
1130+
1131+ it ( 'should pass entries and badge to fetchWalletsByPage' , async ( ) => {
1132+ const setIsFetchingWallets = vi . fn ( )
1133+ mockedReact . useState . mockReturnValue ( [ false , setIsFetchingWallets ] )
1134+
1135+ useSnapshot
1136+ . mockReturnValueOnce ( {
1137+ features : { headless : true } ,
1138+ remoteFeatures : { headless : true }
1139+ } )
1140+ . mockReturnValueOnce ( {
1141+ wcUri : undefined ,
1142+ wcFetchingUri : false
1143+ } )
1144+ . mockReturnValueOnce ( {
1145+ wallets : [ ] ,
1146+ search : [ ] ,
1147+ page : 1 ,
1148+ count : 0
1149+ } )
1150+ . mockReturnValueOnce ( {
1151+ initialized : true ,
1152+ connectingWallet : undefined
1153+ } )
1154+
1155+ vi . spyOn ( ConnectUtil , 'getInitialWallets' ) . mockReturnValue ( [ ] )
1156+ vi . spyOn ( ConnectUtil , 'getWalletConnectWallets' ) . mockReturnValue ( [ ] )
1157+ const fetchWalletsByPageSpy = vi
1158+ . spyOn ( ApiController , 'fetchWalletsByPage' )
1159+ . mockResolvedValue ( undefined )
1160+
1161+ const result = useAppKitWallets ( )
1162+
1163+ await result . fetchWallets ( { entries : 20 , badge : 'certified' } )
1164+
1165+ expect ( fetchWalletsByPageSpy ) . toHaveBeenCalledWith ( {
1166+ page : 1 ,
1167+ entries : 20 ,
1168+ badge : 'certified'
1169+ } )
1170+ } )
1171+
1172+ it ( 'should pass badge and entries to searchWallet' , async ( ) => {
1173+ const setIsFetchingWallets = vi . fn ( )
1174+ mockedReact . useState . mockReturnValue ( [ false , setIsFetchingWallets ] )
1175+
1176+ useSnapshot
1177+ . mockReturnValueOnce ( {
1178+ features : { headless : true } ,
1179+ remoteFeatures : { headless : true }
1180+ } )
1181+ . mockReturnValueOnce ( {
1182+ wcUri : undefined ,
1183+ wcFetchingUri : false
1184+ } )
1185+ . mockReturnValueOnce ( {
1186+ wallets : [ ] ,
1187+ search : [ ] ,
1188+ page : 1 ,
1189+ count : 0
1190+ } )
1191+ . mockReturnValueOnce ( {
1192+ initialized : true ,
1193+ connectingWallet : undefined
1194+ } )
1195+
1196+ vi . spyOn ( ConnectUtil , 'getInitialWallets' ) . mockReturnValue ( [ ] )
1197+ vi . spyOn ( ConnectUtil , 'getWalletConnectWallets' ) . mockReturnValue ( [ ] )
1198+ const searchWalletSpy = vi . spyOn ( ApiController , 'searchWallet' ) . mockResolvedValue ( undefined )
1199+
1200+ const result = useAppKitWallets ( )
1201+
1202+ await result . fetchWallets ( { query : 'safe' , badge : 'certified' , entries : 50 } )
1203+
1204+ expect ( searchWalletSpy ) . toHaveBeenCalledWith ( {
1205+ search : 'safe' ,
1206+ badge : 'certified' ,
1207+ entries : 50
1208+ } )
1209+ } )
1210+
1211+ it ( 'should pass include and exclude to fetchWalletsByPage' , async ( ) => {
1212+ const setIsFetchingWallets = vi . fn ( )
1213+ mockedReact . useState . mockReturnValue ( [ false , setIsFetchingWallets ] )
1214+
1215+ useSnapshot
1216+ . mockReturnValueOnce ( {
1217+ features : { headless : true } ,
1218+ remoteFeatures : { headless : true }
1219+ } )
1220+ . mockReturnValueOnce ( {
1221+ wcUri : undefined ,
1222+ wcFetchingUri : false
1223+ } )
1224+ . mockReturnValueOnce ( {
1225+ wallets : [ ] ,
1226+ search : [ ] ,
1227+ page : 1 ,
1228+ count : 0
1229+ } )
1230+ . mockReturnValueOnce ( {
1231+ initialized : true ,
1232+ connectingWallet : undefined
1233+ } )
1234+
1235+ vi . spyOn ( ConnectUtil , 'getInitialWallets' ) . mockReturnValue ( [ ] )
1236+ vi . spyOn ( ConnectUtil , 'getWalletConnectWallets' ) . mockReturnValue ( [ ] )
1237+ const fetchWalletsByPageSpy = vi
1238+ . spyOn ( ApiController , 'fetchWalletsByPage' )
1239+ . mockResolvedValue ( undefined )
1240+
1241+ const result = useAppKitWallets ( )
1242+
1243+ await result . fetchWallets ( { include : [ 'wallet-1' ] , exclude : [ 'wallet-2' ] } )
1244+
1245+ expect ( fetchWalletsByPageSpy ) . toHaveBeenCalledWith ( {
1246+ page : 1 ,
1247+ include : [ 'wallet-1' ] ,
1248+ exclude : [ 'wallet-2' ]
1249+ } )
1250+ } )
1251+
10611252 it ( 'should connect to injected wallet' , async ( ) => {
10621253 const mockConnector = {
10631254 id : 'test-connector' ,
0 commit comments