Skip to content

Commit 6017554

Browse files
Merge branch 'deriv-com:main' into yaswanth/FEQ-1974_Added_test_for_sidenote_component
2 parents dfaf382 + 72a545c commit 6017554

File tree

2 files changed

+93
-0
lines changed

2 files changed

+93
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import React from 'react';
2+
import { render } from '@testing-library/react';
3+
import { Loader } from '..';
4+
5+
describe('Loader component', () => {
6+
it('renders with default props', () => {
7+
const { getByTestId } = render(<Loader />);
8+
const loader = getByTestId('dt_derivs-loader');
9+
expect(loader).toBeInTheDocument();
10+
expect(loader).toHaveClass('derivs-loader');
11+
expect(loader).toHaveClass('derivs-loader--fullscreen');
12+
const loaderElements = loader.querySelectorAll('.derivs-loader__element');
13+
loaderElements.forEach(element => {
14+
expect(element).toHaveStyle({ backgroundColor: '#85ACB0' });
15+
});
16+
});
17+
18+
it('renders with custom color', () => {
19+
const { getByTestId } = render(<Loader color="#FF0000" />);
20+
const loader = getByTestId('dt_derivs-loader');
21+
const loaderElements = loader.querySelectorAll('.derivs-loader__element');
22+
loaderElements.forEach(element => {
23+
expect(element).toHaveStyle({ backgroundColor: '#FF0000' });
24+
});
25+
});
26+
27+
it('renders without full screen class when isFullScreen is false', () => {
28+
const { getByTestId } = render(<Loader isFullScreen={false} />);
29+
const loader = getByTestId('dt_derivs-loader');
30+
expect(loader).not.toHaveClass('derivs-loader--fullscreen');
31+
});
32+
33+
it('renders with custom className', () => {
34+
const { getByTestId } = render(<Loader className="custom-loader" />);
35+
const loader = getByTestId('dt_derivs-loader');
36+
expect(loader).toHaveClass('custom-loader');
37+
});
38+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import React from 'react';
2+
import { render, fireEvent,waitFor } from '@testing-library/react';
3+
import { Tooltip } from '..';
4+
5+
describe('Tooltip Component', () => {
6+
7+
it('displays tooltip message on hover', async () => {
8+
const { getByText, getByText: getByTooltipText } = render(
9+
<Tooltip message="Tooltip message">Hover me</Tooltip>
10+
);
11+
12+
fireEvent.mouseEnter(getByText('Hover me'));
13+
expect(getByTooltipText('Tooltip message')).toBeInTheDocument();
14+
15+
fireEvent.mouseLeave(getByText('Hover me'));
16+
expect(() => getByTooltipText('Tooltip message')).toThrow();
17+
});
18+
19+
it('toggles tooltip message on click', async () => {
20+
const { getByText, getByText: getByTooltipText } = render(
21+
<Tooltip message="Tooltip message" triggerAction="click">Click me</Tooltip>
22+
);
23+
24+
fireEvent.click(getByText('Click me'));
25+
expect(getByTooltipText('Tooltip message')).toBeInTheDocument();
26+
27+
fireEvent.click(getByText('Click me'));
28+
expect(() => getByTooltipText('Tooltip message')).toThrow();
29+
});
30+
31+
it('applies correct variant class', async() => {
32+
const { getByText, container } = render(
33+
<Tooltip message="Tooltip message" variant="error">Hover me</Tooltip>
34+
);
35+
36+
fireEvent.mouseEnter(getByText('Hover me'));
37+
await waitFor(() => {
38+
const tooltipContainer = container.querySelector('.deriv-tooltip');
39+
expect(tooltipContainer).toHaveClass('deriv-tooltip--error');
40+
});
41+
});
42+
43+
it('applies correct position class', async () => {
44+
const { getByText, container } = render(
45+
<Tooltip message="Tooltip message" position="bottom">Hover me</Tooltip>
46+
);
47+
48+
fireEvent.mouseEnter(getByText('Hover me'));
49+
await waitFor(() => {
50+
const tooltipContainer = container.querySelector('.deriv-tooltip');
51+
expect(tooltipContainer).toHaveClass('deriv-bottom');
52+
});
53+
});
54+
55+
});

0 commit comments

Comments
 (0)