1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-25 03:20:23 +01:00
metamask-extension/ui/pages/confirmation/templates/error.test.js
2023-07-12 09:29:54 +01:00

67 lines
1.6 KiB
JavaScript

import React from 'react';
import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
import { waitFor } from '@testing-library/react';
import { ApprovalType } from '@metamask/controller-utils';
import { renderWithProvider } from '../../../../test/lib/render-helpers';
import Confirmation from '../confirmation';
jest.mock('../../../../shared/lib/fetch-with-cache');
const middleware = [thunk];
const mockApprovalId = 1;
const mockApproval = {
id: mockApprovalId,
origin: 'https://test-dapp.metamask.io',
requestData: {
header: [
{
key: 'headerText',
element: 'Typography',
children: 'Error mock',
props: {
variant: 'h2',
class: 'header-mock-class',
},
},
],
message: 'Error message',
},
};
const mockBaseStore = {
metamask: {
pendingApprovals: {
[mockApprovalId]: mockApproval,
},
approvalFlows: [],
subjectMetadata: {},
},
};
describe('error template', () => {
it('matches the snapshot', async () => {
const testStore = {
metamask: {
...mockBaseStore.metamask,
pendingApprovals: {
[mockApprovalId]: {
...mockApproval,
type: ApprovalType.ResultError,
},
},
},
};
const store = configureMockStore(middleware)(testStore);
const { getByText, container } = renderWithProvider(
<Confirmation />,
store,
);
await waitFor(() => {
expect(getByText('Error mock')).toBeInTheDocument();
expect(container).toMatchSnapshot();
});
});
});