UNPKG

@reown/appkit-scaffold-ui

Version:

The full stack toolkit to build onchain app UX.

50 lines 2.23 kB
import { fixture } from '@open-wc/testing'; import { afterEach, beforeAll, describe, expect, it, vi } from 'vitest'; import { html } from 'lit'; import { ConnectionController, CoreHelperUtil, EventsController, RouterController } from '@reown/appkit-controllers'; import { HelpersUtil } from '../utils/HelpersUtil'; const QR_CODE = 'wui-qr-code'; const WALLET = { name: 'WalletConnect' }; describe('W3mConnectingWcQrcode', () => { beforeAll(() => { vi.spyOn(ConnectionController, 'state', 'get').mockReturnValue({ ...ConnectionController.state, wcUri: 'xyz' }); vi.spyOn(EventsController, 'sendEvent'); vi.spyOn(CoreHelperUtil, 'isMobile').mockReturnValue(false); }); afterEach(() => { vi.clearAllMocks(); }); it('it should display a QR code', async () => { vi.spyOn(ConnectionController, 'setWcLinking'); vi.spyOn(ConnectionController, 'setRecentWallet'); vi.spyOn(RouterController, 'state', 'get').mockReturnValue({ ...RouterController.state, data: { wallet: WALLET } }); const connectingQrCode = await fixture(html `<w3m-connecting-wc-qrcode></w3m-connecting-wc-qrcode>`); await new Promise(resolve => setTimeout(resolve, 300)); const qrCode = HelpersUtil.querySelect(connectingQrCode, QR_CODE); expect(qrCode).not.toBeNull(); expect(qrCode.getAttribute('uri')).toBe('xyz'); expect(ConnectionController.setWcLinking).toHaveBeenCalledWith(undefined); expect(ConnectionController.setRecentWallet).toHaveBeenCalledWith(WALLET); expect(EventsController.sendEvent).toHaveBeenCalledWith({ type: 'track', event: 'SELECT_WALLET', properties: { name: WALLET.name, platform: 'qrcode' } }); }); it('it should not send event if basic is true', async () => { await fixture(html `<w3m-connecting-wc-qrcode basic></w3m-connecting-wc-qrcode>`); await new Promise(resolve => setTimeout(resolve, 300)); expect(EventsController.sendEvent).not.toHaveBeenCalled(); }); }); //# sourceMappingURL=w3m-connecting-wc-qrcode.test.js.map