import React from 'react'; import configureMockStore from 'redux-mock-store'; import { renderWithProvider } from '../../../../test/lib/render-helpers'; import testData from '../../../../.storybook/test-data'; import WrongNetworkNotification from '.'; jest.mock('../../../../shared/modules/hash.utils'); describe('Wrong Network Notification', function () { const mockStore = { ...testData, metamask: { ...testData.metamask, providerConfig: { type: 'test', chainId: '3', }, selectedAddress: '0x5Ab19e7091dD208F352F8E727B6DCC6F8aBB6275', cachedBalances: { '0x1': { '0x5Ab19e7091dD208F352F8E727B6DCC6F8aBB6275': '0x0', }, }, custodianSupportedChains: { '0x5Ab19e7091dD208F352F8E727B6DCC6F8aBB6275': { supportedChains: ['1', '2'], custodianName: 'saturn', }, }, identities: { '0x5Ab19e7091dD208F352F8E727B6DCC6F8aBB6275': { name: 'Custody Account A', address: '0x5Ab19e7091dD208F352F8E727B6DCC6F8aBB6275', }, }, keyrings: [ { type: 'Custody', accounts: ['0x5Ab19e7091dD208F352F8E727B6DCC6F8aBB6275'], }, ], }, }; beforeEach(() => { jest.resetAllMocks(); }); it('should not render if balance is empty', () => { const store = configureMockStore()(mockStore); const { container } = renderWithProvider( , store, ); expect(container.firstChild).toBeNull(); }); it('should not render if has a balance and custodian is in correct network', () => { const customData = { ...mockStore, metamask: { ...mockStore.metamask, providerConfig: { type: 'test', chainId: '3', }, cachedBalances: { '0x1': { '0x5Ab19e7091dD208F352F8E727B6DCC6F8aBB6275': '0x0', }, }, }, }; const store = configureMockStore()(customData); const { container } = renderWithProvider( , store, ); expect(container.firstChild).toBeNull(); }); it('should render if has a balance but custodian is in wrong network', () => { const customData = { ...mockStore, metamask: { ...mockStore.metamask, providerConfig: { type: 'test', chainId: '3', }, cachedBalances: { 3: { '0x5Ab19e7091dD208F352F8E727B6DCC6F8aBB6275': '0x0', }, }, }, }; const store = configureMockStore()(customData); const { getByTestId } = renderWithProvider( , store, ); expect(getByTestId('wrong-network-notification')).toBeInTheDocument(); }); });