ghost-keychain/packages/extension-ui/src/partials/Header.spec.tsx
Ryan Lee 727c61663c
chore: update module resolution to bundler (#1387)
* chore: update module resolution to bundler

* fix: linter issues

* fix jest

* fix: build

* use import type

* lint
2024-07-08 15:15:17 -04:00

46 lines
1.5 KiB
TypeScript

// Copyright 2019-2024 @polkadot/extension-ui authors & contributors
// SPDX-License-Identifier: Apache-2.0
import '@polkadot/extension-mocks/chrome';
import type { ReactWrapper } from 'enzyme';
import type * as _ from '@polkadot/dev-test/globals.d.ts';
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
import enzyme from 'enzyme';
import React from 'react';
import { MemoryRouter } from 'react-router';
import Header from './Header.js';
import Settings from './MenuSettings.js';
const { configure, mount } = enzyme;
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call
configure({ adapter: new Adapter() });
describe('Header component', () => {
let wrapper: ReactWrapper;
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
const mountHeader = (props: React.ComponentProps<typeof Header> = {}): ReactWrapper => mount(
<MemoryRouter>
<Header {...props} />
</MemoryRouter>);
it('gear icon is not highlighted when settings are hidden', () => {
wrapper = mountHeader({ showSettings: true });
expect(wrapper.find(Settings).length).toBe(0);
expect(wrapper.find('.cogIcon').first().hasClass('selected')).toBe(false);
});
it('highlights gear icon when settings are toggled', () => {
wrapper = mountHeader({ showSettings: true });
wrapper.find('div[data-toggle-settings]').simulate('click');
expect(wrapper.find(Settings).length).toBe(1);
expect(wrapper.find('.cogIcon').first().hasClass('selected')).toBe(true);
});
});