From 374ac8bce13e41ad9bc659a9c7f53d5e35472fb3 Mon Sep 17 00:00:00 2001 From: Gabriel Buragev Date: Thu, 9 Feb 2023 19:49:26 +0100 Subject: [PATCH] frontend: adjust useWallet composable tests --- .../tests/unit/composables/useWallet.spec.ts | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/frontend/tests/unit/composables/useWallet.spec.ts b/frontend/tests/unit/composables/useWallet.spec.ts index 720ef8790..9e4b05087 100644 --- a/frontend/tests/unit/composables/useWallet.spec.ts +++ b/frontend/tests/unit/composables/useWallet.spec.ts @@ -167,6 +167,42 @@ describe('useWallets', () => { }); }); + describe('connectWalletConnect()', () => { + it('creates WalletConnect 2 provider instance', async () => { + const rpcUrls = ref({ 5: 'fakeRpc.url' }); + const { connectWalletConnect } = useWallet(ref(undefined), ref(undefined), rpcUrls); + + await connectWalletConnect(); + + expect(web3ProviderService.createWalletConnectProvider).toHaveBeenCalledOnce(); + expect(web3ProviderService.createWalletConnectProvider).toHaveBeenLastCalledWith( + rpcUrls.value, + ); + }); + + it('sets the provider instance', async () => { + const wallet = 'fake-provider'; // TODO: work-around for horrible mock typing issues. + Object.defineProperty(web3ProviderService, 'createWalletConnectProvider', { + value: vi.fn().mockResolvedValue(wallet), + }); + const provider = ref(undefined); + const { connectWalletConnect } = useWallet(provider, ref(undefined), ref({})); + + await connectWalletConnect(); + + expect(provider.value).toBe(wallet); + }); + + it('sets the connected wallet type', async () => { + const connectedWallet = ref(undefined); + const { connectWalletConnect } = useWallet(ref(undefined), connectedWallet, ref({})); + + await connectWalletConnect(); + + expect(connectedWallet.value).toBe('wallet_connect'); + }); + }); + describe('reconnectToWallet()', () => { it('can reconnect to MetaMask', async () => { const provider = ref(undefined);