Skip to content

Commit e52fcf3

Browse files
committed
feat(settings): improve tooltips
Signed-off-by: Adam Setch <[email protected]>
1 parent f0fb349 commit e52fcf3

File tree

3 files changed

+49
-193
lines changed

3 files changed

+49
-193
lines changed
Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import { render, screen } from '@testing-library/react';
22
import userEvent from '@testing-library/user-event';
33

4+
import { BaseStyles, ThemeProvider } from '@primer/react';
5+
6+
import { mockSettings } from '../../__mocks__/state-mocks';
7+
import { AppContext } from '../../context/App';
48
import { type ITooltip, Tooltip } from './Tooltip';
59

610
describe('renderer/components/fields/Tooltip.tsx', () => {
@@ -10,19 +14,44 @@ describe('renderer/components/fields/Tooltip.tsx', () => {
1014
};
1115

1216
it('should render', () => {
13-
const tree = render(<Tooltip {...props} />);
14-
expect(tree).toMatchSnapshot();
17+
render(
18+
<ThemeProvider>
19+
<BaseStyles>
20+
<AppContext.Provider
21+
value={{
22+
settings: mockSettings,
23+
}}
24+
>
25+
<Tooltip {...props} />
26+
</AppContext.Provider>
27+
</BaseStyles>
28+
</ThemeProvider>,
29+
);
30+
31+
expect(screen.getByTestId('tooltip-test')).toBeInTheDocument();
1532
});
1633

1734
it('should display on mouse enter / leave', async () => {
18-
render(<Tooltip {...props} />);
35+
render(
36+
<ThemeProvider>
37+
<BaseStyles>
38+
<AppContext.Provider
39+
value={{
40+
settings: mockSettings,
41+
}}
42+
>
43+
<Tooltip {...props} />
44+
</AppContext.Provider>
45+
</BaseStyles>
46+
</ThemeProvider>,
47+
);
1948

2049
const tooltipElement = screen.getByTestId('tooltip-test');
2150

2251
await userEvent.hover(tooltipElement);
23-
expect(tooltipElement).toMatchSnapshot();
52+
expect(screen.queryByText(props.tooltip as string)).toBeInTheDocument();
2453

2554
await userEvent.unhover(tooltipElement);
26-
expect(tooltipElement).toMatchSnapshot();
55+
expect(screen.queryByText(props.tooltip as string)).not.toBeInTheDocument();
2756
});
2857
});

src/renderer/components/fields/__snapshots__/Tooltip.test.tsx.snap

Lines changed: 0 additions & 179 deletions
This file was deleted.

src/renderer/components/settings/NotificationSettings.test.tsx

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { act, render, screen } from '@testing-library/react';
22
import userEvent from '@testing-library/user-event';
33

4+
import { BaseStyles, ThemeProvider } from '@primer/react';
5+
46
import { mockAuth, mockSettings } from '../../__mocks__/state-mocks';
57
import { Constants } from '../../constants';
68
import { AppContext } from '../../context/App';
@@ -323,15 +325,19 @@ describe('renderer/components/settings/NotificationSettings.tsx', () => {
323325

324326
await act(async () => {
325327
render(
326-
<AppContext.Provider
327-
value={{
328-
auth: mockAuth,
329-
settings: mockSettings,
330-
updateSetting,
331-
}}
332-
>
333-
<NotificationSettings />
334-
</AppContext.Provider>,
328+
<ThemeProvider>
329+
<BaseStyles>
330+
<AppContext.Provider
331+
value={{
332+
auth: mockAuth,
333+
settings: mockSettings,
334+
updateSetting,
335+
}}
336+
>
337+
<NotificationSettings />
338+
</AppContext.Provider>
339+
</BaseStyles>
340+
</ThemeProvider>,
335341
);
336342
});
337343

0 commit comments

Comments
 (0)