1
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

31 lines
1.0 KiB

import React from 'react';
import { NavModelItem } from '@grafana/data';
import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { NavBarMenu } from './NavBarMenu';
describe('NavBarMenu', () => {
const mockOnClose = jest.fn();
const mockNavItems: NavModelItem[] = [];
beforeEach(() => {
render(<NavBarMenu onClose={mockOnClose} navItems={mockNavItems} />);
});
it('should render the component', () => {
const sidemenu = screen.getByTestId('navbarmenu');
expect(sidemenu).toBeInTheDocument();
});
it('has a close button', () => {
const closeButton = screen.getByRole('button', { name: 'Close navigation menu' });
expect(closeButton).toBeInTheDocument();
});
it('clicking the close button calls the onClose callback', () => {
const closeButton = screen.getByRole('button', { name: 'Close navigation menu' });
expect(closeButton).toBeInTheDocument();
userEvent.click(closeButton);
expect(mockOnClose).toHaveBeenCalled();
});
});