@kadconsulting/dry
Version:
KAD Reusable Component Library
201 lines • 9.36 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
// import { useEffect, useRef, useState } from 'react';
// import { render, screen, waitFor } from '@testing-library/react';
import { render } from '@testing-library/react';
import NavBar from './NavBar';
import { BrowserRouter } from 'react-router-dom';
// import type { NavBarProps } from './NavBarTypes';
describe('NavBar', () => {
it('renders without crashing', () => {
const { container } = render(_jsx(BrowserRouter, { children: _jsx(NavBar, { navRoutes: {
'Coaching Programs': {
name: 'Coaching Programs',
visibleInNav: true,
path: '/coaching-programs',
subNavigation: {
'Junior Group': {
subRoutes: {
'Future 36ers': {
name: 'Future 36ers',
path: '/coaching-programs/junior-group/future-36ers',
},
'Learn to Play': {
name: 'Learn to Play',
path: '/coaching-programs/junior-group/learn-to-play',
},
'Play To Improve': {
name: 'Play To Improve',
path: '/coaching-programs/junior-group/play-to-improve',
},
'Train To Compete': {
name: 'Train To Compete',
path: '/coaching-programs/junior-group/train-to-compete',
},
},
path: '/coaching-programs/junior-group',
name: 'Junior Group',
icon: 'JuniorGroupIcon',
},
'Adult Group': {
subRoutes: {
'PEAK Starters': {
name: 'PEAK Starters',
path: '/coaching-programs/adult-group/peak-starters',
},
'PEAK Performers': {
name: 'PEAK Performers',
path: '/coaching-programs/adult-group/peak-performers',
},
'Chip and Sip': {
name: 'Chip and Sip',
path: '/coaching-programs/adult-group/chip-and-sip',
},
'Playing School': {
name: 'Playing School',
path: '/coaching-programs/adult-group/playing-school',
},
'Individual Coaching': {
name: 'Individual Coaching',
path: '/coaching-programs/adult-group/individual-coaching',
},
},
path: '/coaching-programs/adult-group',
name: 'Adult Group',
icon: 'AdultGroupIcon',
},
},
},
'Playing Programs': {
name: 'Playing Programs',
visibleInNav: true,
path: '/playing-programs',
subNavigation: {
'PGA Junior League': {
icon: '',
name: 'PGA Junior League',
path: '/playing-programs/pga-junior-league',
},
'Junior Play Club': {
icon: '',
name: 'Junior Play Club',
path: '/playing-programs/junior-play-club',
},
'Operation 36 Matches': {
icon: '',
name: 'Operation 36 Matches',
path: '/playing-programs/operation-36-matches',
},
},
},
'Book Now': {
name: 'Book Now',
visibleInNav: true,
path: '/book-now',
subNavigation: {
'Simulator Bay': {
icon: '',
name: 'Simulator Bay',
path: '/book-now/simulator-bay',
},
'Individual Session': {
icon: '',
name: 'Individual Session',
path: '/book-now/individual-session',
},
'Coaching Program': {
icon: '',
name: 'Coaching Program',
path: '/book-now/coaching-program',
},
},
},
Locations: {
name: 'Locations',
visibleInNav: true,
path: '/locations',
},
'Log in': { name: 'Log in', visibleInNav: true, path: '/login' },
}, logoProps: {
logoUrl: 'http://127.0.0.1:1337/uploads/PEAK_LOGO_MAIN_1daef8bc71.svg',
} }) }));
expect(container.firstChild).toBeInTheDocument();
});
// it('encourages contributors to open the test file', () => {
// expect(false).toBe(true);
// });
// it('renders with a dry-prepended className', () => {
// // ARRANGE
// const { container } = render(<NavBar />);
// // ASSERT
// expect(container.firstChild).toHaveClass('dry-navbar');
// });
// it('passes a ref to its outermost element', async () => {
// // ARRANGE
// const Wrapper = () => {
// const ref = useRef<HTMLDivElement>(null);
// const [refWasPassed, setRefWasPassed] = useState(false);
// useEffect(() => {
// setRefWasPassed(!!ref.current);
// }, []);
// return (
// <>
// <NavBar ref={ref} />
// {refWasPassed && <div>Ref was passed!</div>}
// </>
// );
// };
// render(<Wrapper />);
// // ASSERT
// await waitFor(() => screen.getByText('Ref was passed!'));
// });
// it('passes a downstream id', () => {
// // ARRANGE
// const id = 'test-id';
// const testId = 'test-subject';
// // ACT
// render(<NavBar data-testid={testId} id={id} />);
// // ASSERT
// expect(screen.getByTestId(testId)).toHaveAttribute('id', id);
// });
// it('passes any downstream className(s)', () => {
// // ARRANGE
// const className = 'first second third';
// const testId = 'test-subject';
// // ACT
// render(<NavBar data-testid={testId} className={className} />);
// // ASSERT
// expect(screen.getByTestId(testId)).toHaveClass('first');
// expect(screen.getByTestId(testId)).toHaveClass('second');
// expect(screen.getByTestId(testId)).toHaveClass('third');
// });
// it('passes any downstream inline style(s)', () => {
// // ARRANGE
// const style = { color: 'red' };
// const testId = 'test-subject';
// // ACT
// render(<NavBar data-testid={testId} style={style} />);
// // ASSERT
// expect(screen.getByTestId(testId)).toHaveStyle('color: red');
// });
// it('passes any downstream data-* attribute(s)', () => {
// // ARRANGE
// const testId = 'test-subject';
// const testValue = 'product-1234-abcd-5678-efgh';
// // ACT
// render(<NavBar data-testid={testId} data-product={testValue} />);
// // ASSERT
// expect(screen.getByTestId(testId)).toHaveAttribute(
// 'data-product',
// testValue
// );
// });
// it('supports downstream @testing-library `screen.getByTestId`', () => {
// // ARRANGE
// const testId = 'test-subject';
// // ACT
// render(<NavBar data-testid={testId} />);
// // ASSERT
// expect(screen.getByTestId(testId)).toBeInTheDocument();
// });
});
//# sourceMappingURL=NavBar.test.js.map