import { render } from '@testing-library/react' import Modal from 'components/Modal' import UnlockModal from 'components/Modals/Unlock/UnlockModal' import { TESTNET_VAULTS } from 'constants/vaults' import useStore from 'store' import { BN } from 'utils/helpers' jest.mock('components/Modal') const mockedModal = jest.mocked(Modal).mockImplementation(() =>
Modal
) const mockedDepositedVault: DepositedVault = { ...TESTNET_VAULTS[0], status: 'active', apy: 1, ltv: { max: 0.65, liq: 0.7, }, amounts: { primary: BN(1), secondary: BN(1), locked: BN(1), unlocked: BN(1), unlocking: BN(1), }, values: { primary: BN(0), secondary: BN(0), }, cap: { denom: 'mock', max: 10, used: 1, }, } describe('', () => { beforeAll(() => { useStore.setState({ unlockModal: null }) }) it('should render', () => { const { container } = render() expect(mockedModal).toHaveBeenCalledTimes(1) expect(container).toBeInTheDocument() }) describe('should set open attribute correctly', () => { it('should set open = false when no modal is present in store', () => { render() expect(mockedModal).toHaveBeenCalledWith( expect.objectContaining({ open: false }), expect.anything(), ) }) it('should set open = true when no modal is present in store', () => { useStore.setState({ unlockModal: { vault: mockedDepositedVault } }) render() expect(mockedModal).toHaveBeenLastCalledWith( expect.objectContaining({ open: true }), expect.anything(), ) }) }) })