@@ -8,13 +8,15 @@ import {
88 Polygon ,
99 TokenPocket ,
1010 WagmiWeb3ConfigProvider ,
11+ WalletConnect ,
1112 WalletFactory ,
1213 type WalletConnectOptions ,
1314} from '@ant-design/web3-wagmi' ;
1415import { fireEvent , render } from '@testing-library/react' ;
1516import { describe , expect , it , vi } from 'vitest' ;
1617import { http } from 'wagmi' ;
1718import { base } from 'wagmi/chains' ;
19+ import { walletConnect } from 'wagmi/connectors' ;
1820
1921describe ( 'WagmiWeb3ConfigProvider' , ( ) => {
2022 it ( 'mount correctly' , ( ) => {
@@ -213,14 +215,23 @@ describe('WagmiWeb3ConfigProvider', () => {
213215 const { availableWallets } = useProvider ( ) ;
214216 return (
215217 < div className = "wallets-qrcode" >
216- { availableWallets ?. map ( ( item ) => ( item . getQrCode ? 'qrcode' : 'noqrcode' ) ) . join ( ',' ) }
218+ { availableWallets
219+ ?. map ( ( item ) => `${ typeof item . getQrCode } -${ item . customQrCodePanel } ` )
220+ . join ( ',' ) }
217221 </ div >
218222 ) ;
219223 } ;
220224
221225 const App = ( ) => (
222226 < WagmiWeb3ConfigProvider
223- wallets = { [ MetaMask ( ) , TokenPocket ( ) , OkxWallet ( ) ] }
227+ wallets = { [
228+ MetaMask ( ) ,
229+ TokenPocket ( ) ,
230+ OkxWallet ( ) ,
231+ WalletConnect ( {
232+ useWalletConnectOfficialModal : true ,
233+ } ) ,
234+ ] }
224235 chains = { [ Polygon , Goerli , Mainnet ] }
225236 walletConnect = { {
226237 projectId : 'test' ,
@@ -235,7 +246,44 @@ describe('WagmiWeb3ConfigProvider', () => {
235246 </ WagmiWeb3ConfigProvider >
236247 ) ;
237248 const { baseElement } = render ( < App /> ) ;
238- expect ( baseElement . querySelector ( '.wallets-qrcode' ) ?. textContent ) . toBe ( 'qrcode,qrcode,qrcode' ) ;
249+ expect ( baseElement . querySelector ( '.wallets-qrcode' ) ?. textContent ) . toBe (
250+ 'function-undefined,function-undefined,function-undefined,function-true' ,
251+ ) ;
252+ } ) ;
253+
254+ it ( 'wallet connect with customQrCodePanel' , ( ) => {
255+ const CustomConnector : React . FC = ( ) => {
256+ const { availableWallets } = useProvider ( ) ;
257+ return (
258+ < div className = "wallets-qrcode" >
259+ { availableWallets
260+ ?. map ( ( item ) => `${ typeof item . getQrCode } -${ item . customQrCodePanel } ` )
261+ . join ( ',' ) }
262+ </ div >
263+ ) ;
264+ } ;
265+
266+ const App = ( ) => (
267+ < WagmiWeb3ConfigProvider
268+ wallets = { [ MetaMask ( ) , TokenPocket ( ) , OkxWallet ( ) , WalletConnect ( ) ] }
269+ chains = { [ Polygon , Goerli , Mainnet ] }
270+ walletConnect = { {
271+ projectId : 'test' ,
272+ useWalletConnectOfficialModal : true ,
273+ } }
274+ transports = { {
275+ [ Goerli . id ] : http ( ) ,
276+ [ Mainnet . id ] : http ( ) ,
277+ [ Polygon . id ] : http ( ) ,
278+ } }
279+ >
280+ < CustomConnector />
281+ </ WagmiWeb3ConfigProvider >
282+ ) ;
283+ const { baseElement } = render ( < App /> ) ;
284+ expect ( baseElement . querySelector ( '.wallets-qrcode' ) ?. textContent ) . toBe (
285+ 'function-true,function-true,function-true,function-true' ,
286+ ) ;
239287 } ) ;
240288
241289 it ( 'refresh walletConnect' , ( ) => {
0 commit comments