Skip to content

Commit e3d4444

Browse files
committed
test: add a accept disclaimer test
1 parent c4e8411 commit e3d4444

3 files changed

Lines changed: 42 additions & 7 deletions

File tree

apps/web/src/providers/DisclaimerProvider.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export const DisclaimerProvider: React.FC<{ children: React.ReactElement }> = ({
1414
return (
1515
<React.Fragment>
1616
{children}
17-
<Dialog data-test-id="Disclaimer-dialog" open={isDisclaimerAccepted}>
17+
<Dialog data-test-id="Disclaimer-dialog" open={!isDisclaimerAccepted}>
1818
<Dialog.Content data-test-id="Disclaimer-dialog-content" onOpenAutoFocus={(event) => event.preventDefault()}>
1919
<Dialog.Header>
2020
<Dialog.Title>
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { expect, test } from './helpers/fixtures';
2+
3+
test.describe('disclaimer', () => {
4+
test('should accept the disclaimer', async ({ getProjectAuth, page }) => {
5+
// Get the auth token
6+
const auth = await getProjectAuth();
7+
8+
// Set localStorage to ensure disclaimer appears and set auth
9+
await page.addInitScript((accessToken) => {
10+
window.__PLAYWRIGHT_ACCESS_TOKEN__ = accessToken;
11+
// Set the app localStorage item to ensure disclaimer is not accepted
12+
localStorage.setItem('app', JSON.stringify({ state: { isDisclaimerAccepted: false }, version: 1 }));
13+
}, auth.accessToken);
14+
15+
// Navigate to dashboard
16+
await page.goto('/dashboard');
17+
18+
// Wait for the disclaimer dialog to appear
19+
const disclaimerDialog = page.getByRole('dialog', { name: 'Disclaimer' });
20+
await expect(disclaimerDialog).toBeVisible();
21+
22+
// Click the accept disclaimer button
23+
const acceptButton = page.getByRole('button', { name: 'Accept' });
24+
await expect(acceptButton).toBeVisible();
25+
await acceptButton.click();
26+
27+
// Verify the disclaimer dialog is no longer visible
28+
await expect(disclaimerDialog).not.toBeVisible();
29+
30+
// Verify we're still on the dashboard
31+
const pageHeader = page.getByTestId('page-header');
32+
await expect(pageHeader).toBeVisible();
33+
await expect(pageHeader).toContainText('Dashboard');
34+
});
35+
});

testing/e2e/src/2.3-start-session.spec.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { expect, test } from './helpers/fixtures';
22

33
test.describe('start session', () => {
4-
test.beforeAll(async ({ page }) => {
5-
// Set disclaimer as accepted for persistence across tests
6-
await page.addInitScript(() => {
7-
localStorage.setItem('app', JSON.stringify({ state: { isDisclaimerAccepted: true }, version: 1 }));
8-
});
9-
});
4+
// test.beforeAll(async ({ page }) => {
5+
// // Set disclaimer as accepted for persistence across tests
6+
// await page.addInitScript(() => {
7+
// localStorage.setItem('app', JSON.stringify({ state: { isDisclaimerAccepted: true }, version: 1 }));
8+
// });
9+
// });
1010

1111
test('should display the start session form header', async ({ getPageModel }) => {
1212
const startSessionPage = await getPageModel('/session/start-session');

0 commit comments

Comments
 (0)