UNPKG

@reown/appkit-scaffold-ui

Version:

The full stack toolkit to build onchain app UX.

37 lines 2.14 kB
import { fixture } from '@open-wc/testing'; import { beforeEach, describe, expect, it, vi } from 'vitest'; import { html } from 'lit'; import { AssetUtil, RouterController } from '@reown/appkit-controllers'; import '../../src/partials/w3m-wallet-send-details/index'; import { HelpersUtil } from '../utils/HelpersUtil'; describe('W3mWalletSendDetails', () => { beforeEach(() => { vi.clearAllMocks(); vi.spyOn(AssetUtil, 'getNetworkImage').mockReturnValue('net.png'); vi.spyOn(RouterController, 'push').mockImplementation(vi.fn()); }); it('should render address and network when provided', async () => { const network = { name: 'Ethereum', id: 'eip155:1' }; const el = (await fixture(html `<w3m-wallet-send-details receiverAddress="0x1234567890abcdef" .caipNetwork=${network} />`)); const title = el.shadowRoot?.textContent?.includes('Details'); const addressRow = HelpersUtil.querySelect(el, 'wui-list-content:not(.network)'); const networkRow = HelpersUtil.querySelect(el, 'wui-list-content.network'); expect(title).toBe(true); expect(addressRow).toBeTruthy(); expect(networkRow).toBeTruthy(); expect(networkRow?.getAttribute('imagesrc')).toBe('net.png'); }); it('should navigate to Networks on network click', async () => { const network = { name: 'Ethereum', id: 'eip155:1' }; const el = (await fixture(html `<w3m-wallet-send-details receiverAddress="0x1234567890abcdef" .caipNetwork=${network} />`)); const networkRow = HelpersUtil.querySelect(el, 'wui-list-content.network'); networkRow.click(); expect(RouterController.push).toHaveBeenCalledWith('Networks', { network }); }); it('should render without network when caipNetwork is undefined', async () => { const el = (await fixture(html `<w3m-wallet-send-details receiverAddress="0xabc"></w3m-wallet-send-details>`)); const networkRow = HelpersUtil.querySelect(el, 'wui-list-content.network'); expect(networkRow).toBeNull(); }); }); //# sourceMappingURL=w3m-wallet-send-details.test.js.map