A Metamask fork with Infura removed and default networks editable
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ciphermask/ui/components/app/modals/cancel-transaction/cancel-transaction.componen...

91 lines
2.5 KiB

import React from 'react';
import configureMockStore from 'redux-mock-store';
import { fireEvent, waitFor } from '@testing-library/react';
import thunk from 'redux-thunk';
import { renderWithProvider } from '../../../../../test/lib/render-helpers';
import mockState from '../../../../../test/data/mock-state.json';
import {
yesLetsTry,
nevermind,
} from '../../../../../app/_locales/en/messages.json';
import CancelTransaction from '.';
const mockCreateCancelTransaction = jest.fn();
const mockShowModal = jest.fn();
const mockHideModal = jest.fn();
jest.mock('../../../../store/actions.js', () => {
return {
createCancelTransaction: () => mockCreateCancelTransaction,
showModal: () => mockShowModal,
hideModal: () => mockHideModal,
};
});
6 years ago
describe('CancelTransaction Component', () => {
afterEach(() => {
mockCreateCancelTransaction.mockClear();
mockShowModal.mockClear();
mockHideModal.mockClear();
});
6 years ago
const props = {
newGasFee: '0x1319718a5000', // 21000000000000
};
6 years ago
it('should match snapshot', () => {
const mockStore = configureMockStore()(mockState);
const { container } = renderWithProvider(
<CancelTransaction {...props} />,
mockStore,
);
expect(container).toMatchSnapshot();
});
it('should call create cancel transaction and hide modal', async () => {
const mockStore = configureMockStore([thunk])(mockState);
const { queryByText } = renderWithProvider(
<CancelTransaction />,
mockStore,
);
fireEvent.click(queryByText(yesLetsTry.message));
await waitFor(() => {
expect(mockCreateCancelTransaction).toHaveBeenCalled();
expect(mockHideModal).toHaveBeenCalled();
});
});
6 years ago
it('should hide modal when clicking "Nevermind" button', () => {
const mockStore = configureMockStore([thunk])(mockState);
const { queryByText } = renderWithProvider(
<CancelTransaction />,
mockStore,
);
6 years ago
fireEvent.click(queryByText(nevermind.message));
expect(mockCreateCancelTransaction).not.toHaveBeenCalled();
expect(mockHideModal).toHaveBeenCalled();
});
it('should hide modal when closing from header', () => {
const mockStore = configureMockStore([thunk])(mockState);
const { queryByTestId } = renderWithProvider(
<CancelTransaction {...props} />,
mockStore,
);
6 years ago
fireEvent.click(queryByTestId('modal-header-close'));
6 years ago
expect(mockCreateCancelTransaction).not.toHaveBeenCalled();
expect(mockHideModal).toHaveBeenCalled();
});
});