import * as React from 'react';
import { render, screen } from '@testing-library/react';
import Menu from '../index';
import directory from '../../../directory/directory.mjs';
jest.mock('../RepoActions', () => () =>
Repo Actions
);
Object.defineProperty(window, 'matchMedia', {
value: () => {
return {
matches: true
};
}
});
const directoryKeys = Object.keys(directory);
describe('Menu', () => {
directoryKeys.forEach((directoryKey) => {
it(`should render the Menu component with the ${directoryKey} key`, async () => {
const url = `/${directoryKey}`;
render(
);
const directoryObject = directory[directoryKey];
const rootText = directoryObject['productRoot'].title;
const itemsText = Object.values(directoryObject['items']).map(
(e) => e.title
);
const rootNode = screen.getByText(rootText);
expect(rootNode).toBeTruthy();
itemsText.forEach((text) => {
const textNode = screen.getByText(text);
expect(textNode).toBeTruthy();
});
});
});
});