Skip to content

Commit d7e4665

Browse files
committed
test: update test cases
Signed-off-by: Adam Setch <[email protected]>
1 parent 479559a commit d7e4665

File tree

6 files changed

+1074
-792
lines changed

6 files changed

+1074
-792
lines changed

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

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -90,31 +90,31 @@ describe('renderer/routes/components/settings/AppearanceSettings.tsx', () => {
9090
});
9191

9292
await act(async () => {
93-
fireEvent.click(screen.getByLabelText('Zoom Out'));
93+
fireEvent.click(screen.getByTestId('settings-zoom-out'));
9494
await zoomTimeout();
9595
});
9696

9797
expect(updateSetting).toHaveBeenCalledTimes(1);
9898
expect(updateSetting).toHaveBeenCalledWith('zoomPercentage', 90);
9999

100100
await act(async () => {
101-
fireEvent.click(screen.getByLabelText('Zoom Out'));
101+
fireEvent.click(screen.getByTestId('settings-zoom-out'));
102102
await zoomTimeout();
103103

104104
expect(updateSetting).toHaveBeenCalledTimes(2);
105105
expect(updateSetting).toHaveBeenNthCalledWith(2, 'zoomPercentage', 80);
106106
});
107107

108108
await act(async () => {
109-
fireEvent.click(screen.getByLabelText('Zoom In'));
109+
fireEvent.click(screen.getByTestId('settings-zoom-in'));
110110
await zoomTimeout();
111111

112112
expect(updateSetting).toHaveBeenCalledTimes(3);
113113
expect(updateSetting).toHaveBeenNthCalledWith(3, 'zoomPercentage', 90);
114114
});
115115

116116
await act(async () => {
117-
fireEvent.click(screen.getByLabelText('Reset Zoom'));
117+
fireEvent.click(screen.getByTestId('settings-zoom-reset'));
118118
await zoomTimeout();
119119

120120
expect(updateSetting).toHaveBeenCalledTimes(4);
@@ -139,8 +139,6 @@ describe('renderer/routes/components/settings/AppearanceSettings.tsx', () => {
139139
);
140140
});
141141

142-
await screen.findByLabelText('Detailed notifications');
143-
144142
fireEvent.click(screen.getByLabelText('Detailed notifications'));
145143

146144
expect(updateSetting).toHaveBeenCalledTimes(1);
@@ -164,8 +162,6 @@ describe('renderer/routes/components/settings/AppearanceSettings.tsx', () => {
164162
);
165163
});
166164

167-
await screen.findByLabelText('Show notification metric pills');
168-
169165
fireEvent.click(screen.getByLabelText('Show notification metric pills'));
170166

171167
expect(updateSetting).toHaveBeenCalledTimes(1);
@@ -189,8 +185,6 @@ describe('renderer/routes/components/settings/AppearanceSettings.tsx', () => {
189185
);
190186
});
191187

192-
await screen.findByLabelText('Show number');
193-
194188
fireEvent.click(screen.getByLabelText('Show number'));
195189

196190
expect(updateSetting).toHaveBeenCalledTimes(1);
@@ -216,8 +210,6 @@ describe('renderer/routes/components/settings/AppearanceSettings.tsx', () => {
216210
);
217211
});
218212

219-
await screen.findByLabelText('Show account header');
220-
221213
fireEvent.click(screen.getByLabelText('Show account header'));
222214

223215
expect(updateSetting).toHaveBeenCalledTimes(1);

src/renderer/components/settings/AppearanceSettings.tsx

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ import {
1313
TagIcon,
1414
XCircleIcon,
1515
} from '@primer/octicons-react';
16-
import { Button, ButtonGroup, IconButton, useTheme } from '@primer/react';
16+
import { Button, ButtonGroup, Tooltip, useTheme } from '@primer/react';
1717
import type { ColorModeWithAuto } from '@primer/react/lib/ThemeProvider';
18+
1819
import { AppContext } from '../../context/App';
1920
import { Size, Theme } from '../../types';
2021
import { hasMultipleAccounts } from '../../utils/auth/utils';
@@ -97,34 +98,46 @@ export const AppearanceSettings: FC = () => {
9798
</label>
9899

99100
<ButtonGroup>
100-
<IconButton
101-
aria-label="Zoom out"
102-
icon={DashIcon}
101+
<Button
103102
size="small"
104103
onClick={() =>
105104
zoomPercentage > 0 &&
106105
webFrame.setZoomLevel(zoomPercentageToLevel(zoomPercentage - 10))
107106
}
108-
/>
109-
<Button aria-label="Zoom Percentage" size="small" disabled>
107+
data-testid="settings-zoom-out"
108+
>
109+
<Tooltip text="Zoom out">
110+
<DashIcon size={Size.SMALL} />
111+
</Tooltip>
112+
</Button>
113+
114+
<Button aria-label="Zoom percentage" size="small" disabled>
110115
{zoomPercentage.toFixed(0)}%
111116
</Button>
112-
<IconButton
113-
aria-label="Zoom in"
114-
icon={PlusIcon}
117+
118+
<Button
115119
size="small"
116120
onClick={() =>
117121
zoomPercentage < 120 &&
118122
webFrame.setZoomLevel(zoomPercentageToLevel(zoomPercentage + 10))
119123
}
120-
/>
121-
<IconButton
122-
aria-label="Reset zoom level"
123-
icon={XCircleIcon}
124+
data-testid="settings-zoom-in"
125+
>
126+
<Tooltip text="Zoom in">
127+
<PlusIcon size={Size.SMALL} />
128+
</Tooltip>
129+
</Button>
130+
131+
<Button
124132
size="small"
125133
variant="danger"
126134
onClick={() => webFrame.setZoomLevel(0)}
127-
/>
135+
data-testid="settings-zoom-reset"
136+
>
137+
<Tooltip text="Reset zoom">
138+
<XCircleIcon size={Size.SMALL} />
139+
</Tooltip>
140+
</Button>
128141
</ButtonGroup>
129142
</div>
130143

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ describe('renderer/routes/components/settings/SettingsFooter.tsx', () => {
4646
);
4747
});
4848

49-
expect(screen.getByLabelText('app-version')).toMatchSnapshot();
49+
expect(screen.getByTestId('settings-release-notes')).toMatchSnapshot();
5050
});
5151

5252
it('should show development app version', async () => {
@@ -70,7 +70,7 @@ describe('renderer/routes/components/settings/SettingsFooter.tsx', () => {
7070
);
7171
});
7272

73-
expect(screen.getByLabelText('app-version')).toMatchSnapshot();
73+
expect(screen.getByTestId('settings-release-notes')).toMatchSnapshot();
7474
});
7575
});
7676

@@ -98,7 +98,7 @@ describe('renderer/routes/components/settings/SettingsFooter.tsx', () => {
9898
);
9999
});
100100

101-
fireEvent.click(screen.getByTitle('View release notes'));
101+
fireEvent.click(screen.getByTestId('settings-release-notes'));
102102

103103
expect(openExternalLinkMock).toHaveBeenCalledTimes(1);
104104
expect(openExternalLinkMock).toHaveBeenCalledWith(
@@ -122,7 +122,8 @@ describe('renderer/routes/components/settings/SettingsFooter.tsx', () => {
122122
);
123123
});
124124

125-
fireEvent.click(screen.getByTitle('Accounts'));
125+
fireEvent.click(screen.getByTestId('settings-accounts'));
126+
126127
expect(mockNavigate).toHaveBeenCalledWith('/accounts');
127128
});
128129

@@ -144,7 +145,8 @@ describe('renderer/routes/components/settings/SettingsFooter.tsx', () => {
144145
);
145146
});
146147

147-
fireEvent.click(screen.getByLabelText('Quit Gitify'));
148+
fireEvent.click(screen.getByTestId('settings-quit'));
149+
148150
expect(quitAppMock).toHaveBeenCalledTimes(1);
149151
});
150152
});

src/renderer/components/settings/SettingsFooter.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@ export const SettingsFooter: FC = () => {
2626
<div className="flex items-center justify-between bg-gray-200 px-4 py-1 text-sm dark:bg-gray-darker">
2727
<Stack direction="horizontal">
2828
<Tooltip text="View release notes" direction="n">
29-
<Button onClick={() => openGitifyReleaseNotes(appVersion)}>
29+
<Button
30+
onClick={() => openGitifyReleaseNotes(appVersion)}
31+
data-testid="settings-release-notes"
32+
>
3033
Gitify {appVersion}
3134
</Button>
3235
</Tooltip>
@@ -40,6 +43,7 @@ export const SettingsFooter: FC = () => {
4043
onClick={() => {
4144
navigate('/accounts');
4245
}}
46+
data-testid="settings-accounts"
4347
/>
4448
</Tooltip>
4549

@@ -51,6 +55,7 @@ export const SettingsFooter: FC = () => {
5155
onClick={() => {
5256
quitApp();
5357
}}
58+
data-testid="settings-quit"
5459
/>
5560
</Tooltip>
5661
</Stack>

src/renderer/components/settings/__snapshots__/SettingsFooter.test.tsx.snap

Lines changed: 42 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)