Skip to content

Commit dd93106

Browse files
author
Leshe4ka
committed
Tests
1 parent 0b6286d commit dd93106

File tree

3 files changed

+52
-1
lines changed

3 files changed

+52
-1
lines changed

frontend/src/components/Nav/Menu/MenuColorPicker/MenuColorPicker.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { ClusterColorKey } from 'theme/theme';
55

66
import * as S from './MenuColorPicker.styled';
77

8-
interface MenuColorPickerProps {
8+
export interface MenuColorPickerProps {
99
setColorKey: (key: ClusterColorKey) => void;
1010
}
1111

@@ -32,6 +32,7 @@ const MenuColorPicker = ({ setColorKey }: MenuColorPickerProps) => {
3232
<S.Container>
3333
{COLOR_KEYS.map((key) => (
3434
<S.ColorCircle
35+
data-testid={`color-circle-${key}`}
3536
onClick={handleCircleCLick(key)}
3637
$colorKey={key}
3738
key={key}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import { fireEvent, screen } from '@testing-library/react';
2+
import MenuColorPicker, {
3+
MenuColorPickerProps,
4+
} from 'components/Nav/Menu/MenuColorPicker/MenuColorPicker';
5+
import React from 'react';
6+
import { render } from 'lib/testHelpers';
7+
import { ClusterColorKey } from 'theme/theme';
8+
9+
describe('MenuColorPicker component', () => {
10+
const setupWrapper = (props?: Partial<MenuColorPickerProps>) => (
11+
<MenuColorPicker setColorKey={jest.fn()} {...props} />
12+
);
13+
14+
it('renders all color circles', () => {
15+
render(setupWrapper());
16+
17+
const colorKeys: ClusterColorKey[] = [
18+
'transparent',
19+
'gray',
20+
'red',
21+
'orange',
22+
'lettuce',
23+
'green',
24+
'turquoise',
25+
'blue',
26+
'violet',
27+
'pink',
28+
];
29+
30+
colorKeys.forEach((key) => {
31+
expect(screen.getByTestId(`color-circle-${key}`)).toBeInTheDocument();
32+
});
33+
});
34+
35+
it('calls setColorKey with the correct color key when a color circle is clicked', () => {
36+
const setColorKeyMock = jest.fn();
37+
render(setupWrapper({ setColorKey: setColorKeyMock }));
38+
39+
const colorCircle = screen.getByTestId('color-circle-red');
40+
fireEvent.click(colorCircle);
41+
42+
expect(setColorKeyMock).toHaveBeenCalledWith('red');
43+
});
44+
45+
it('renders the Dropdown component', () => {
46+
render(setupWrapper());
47+
expect(screen.getByRole('button')).toBeInTheDocument();
48+
});
49+
});

frontend/src/components/Nav/Menu/__tests__/MenuTab.spec.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const toggleClusterMenuMock = jest.fn();
1111
describe('MenuTab component', () => {
1212
const setupWrapper = (props?: Partial<MenuTabProps>) => (
1313
<MenuTab
14+
setColorKey={() => {}}
1415
status={ServerStatus.ONLINE}
1516
isOpen
1617
title={testClusterName}

0 commit comments

Comments
 (0)