1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-22 19:26:13 +02:00
metamask-extension/ui/pages/settings/snaps/view-snap/view-snap.test.js
Frederik Bolding 789779f4d5
[FLASK] Rework Snaps headers and footers (#19442)
* Add new snap header and footer to snap install

* Add new snap header and footer to snap result and snap update

* Fix loading state

* Fix lint

* Add required scrolling

* Adjust avatar component

* Apply new headers and footers to snaps confirmations

* Rename previous SnapAuthorship component to SnapAuthorshipExpanded

* Fix lint

* Fix font weight

* Fix fencing

* Fix a test

* Fix lint after rebase

* Fix E2E

* Fix locale lint

* Fix another E2E

* Fix test ID

* Address PR comments

* Better scroll button centering

* Address design comments

* Fix unit test

* Fix E2Es
2023-06-07 15:18:49 +02:00

77 lines
2.3 KiB
JavaScript

import * as React from 'react';
import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
import { renderWithProvider } from '../../../../../test/lib/render-helpers';
import mockState from '../../../../../test/data/mock-state.json';
import ViewSnap from './view-snap';
jest.mock('../../../../store/actions.ts', () => {
return {
disableSnap: jest.fn(),
enableSnap: jest.fn(),
removeSnap: jest.fn(),
removePermissionsFor: jest.fn(),
updateCaveat: jest.fn(),
};
});
jest.mock('react-router-dom', () => {
const original = jest.requireActual('react-router-dom');
return {
...original,
useLocation: jest.fn(() => ({
pathname: `/settings/snaps-view/${encodeURIComponent(
'npm:@metamask/test-snap-bip44',
)}`,
})),
};
});
const mockStore = configureMockStore([thunk])(mockState);
describe('ViewSnap', () => {
it('should properly display Snap View elements', async () => {
const { getByText, container, getByRole } = renderWithProvider(
<ViewSnap />,
mockStore,
);
// Snap name & Snap authorship component
expect(getByText('BIP-44 Test Snap')).toBeDefined();
expect(
container.getElementsByClassName('snaps-authorship-expanded')?.length,
).toBe(1);
// Snap description
expect(
getByText('An example Snap that signs messages using BLS.'),
).toBeDefined();
// Snap version info
expect(getByText('v5.1.2')).toBeDefined();
// Enable Snap
expect(getByText('Enabled')).toBeDefined();
expect(container.getElementsByClassName('toggle-button')?.length).toBe(1);
// Permissions
expect(getByText('Permissions')).toBeDefined();
expect(
container.getElementsByClassName('snap-permissions-list')?.length,
).toBe(1);
// Connected sites
expect(getByText('Connected sites')).toBeDefined();
expect(
container.getElementsByClassName('connected-sites-list__content-rows')
?.length,
).toBe(1);
// Remove snap
expect(getByText('Remove snap')).toBeDefined();
expect(
getByText(
'This action will delete the snap, its data and revoke your given permissions.',
),
).toBeDefined();
expect(getByText('Remove BIP-44 Test Snap')).toBeDefined();
expect(getByRole('button')).toHaveClass(
'button btn--rounded btn-danger view-snap__remove-button',
);
});
});