* feat: System-defined tooltip added * feat: Taxonomy card menu added. Export menu item added * feat: Modal for export taxonomy * feat: Connect with export API * test: Tests for API and selectors * feat: Use windows.location.href to call the export endpoint * test: ExportModal.test added * style: Delete unnecesary code * docs: README updated with taxonomy feature * style: TaxonomyCard updated to a better code style * style: injectIntl replaced by useIntl on taxonomy pages and components * refactor: Move and rename taxonomy UI components to match 0002 ADR * refactor: Move api to data to match with 0002 ADR * test: Refactor ExportModal tests * chore: Fix validations * chore: Lint * refactor: Moving hooks to apiHooks * feat: add taxonomy detail page * fix: address nits in PR review * refactor: move data/selectors to data/apiHooks and fix tests to mock useQuery. * fix: address nits in PR review * fix: replace taxonomy menu ModalPopup with Dropdown menu Avoids clicking through to the card when using the menu button to hide a card's menu. * fix: change taxonomy URLs * /taxonomy-list is now /taxonomies, and there's a temporary redirect * /taxonomy-list/🆔 is now /taxonomy/🆔 --------- Co-authored-by: Christofer <christofer@opencraft.com> Co-authored-by: XnpioChV <xnpiochv@gmail.com> Co-authored-by: Christofer Chavez <christofer@example.com> Co-authored-by: Jillian Vogel <jill@opencraft.com> Co-authored-by: Braden MacDonald <braden@opencraft.com>
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
import React from 'react';
|
|
import { IntlProvider } from '@edx/frontend-platform/i18n';
|
|
import { initializeMockApp } from '@edx/frontend-platform';
|
|
import { AppProvider } from '@edx/frontend-platform/react';
|
|
import { render } from '@testing-library/react';
|
|
|
|
import initializeStore from '../store';
|
|
import TaxonomyLayout from './TaxonomyLayout';
|
|
|
|
let store;
|
|
|
|
jest.mock('../header', () => jest.fn(() => <div data-testid="mock-header" />));
|
|
jest.mock('@edx/frontend-component-footer', () => ({
|
|
StudioFooter: jest.fn(() => <div data-testid="mock-footer" />),
|
|
}));
|
|
jest.mock('react-router-dom', () => ({
|
|
...jest.requireActual('react-router-dom'),
|
|
Outlet: jest.fn(() => <div data-testid="mock-content" />),
|
|
}));
|
|
|
|
const RootWrapper = () => (
|
|
<AppProvider store={store}>
|
|
<IntlProvider locale="en" messages={{}}>
|
|
<TaxonomyLayout />
|
|
</IntlProvider>
|
|
</AppProvider>
|
|
);
|
|
|
|
describe('<TaxonomyLayout />', async () => {
|
|
beforeEach(async () => {
|
|
initializeMockApp({
|
|
authenticatedUser: {
|
|
userId: 3,
|
|
username: 'abc123',
|
|
administrator: true,
|
|
roles: [],
|
|
},
|
|
});
|
|
store = initializeStore();
|
|
});
|
|
|
|
it('should render page correctly', async () => {
|
|
const { getByTestId } = render(<RootWrapper />);
|
|
expect(getByTestId('mock-header')).toBeInTheDocument();
|
|
expect(getByTestId('mock-content')).toBeInTheDocument();
|
|
expect(getByTestId('mock-footer')).toBeInTheDocument();
|
|
});
|
|
});
|