Add tests for onboarding

This commit is contained in:
Arnaud 2024-10-21 15:55:26 +02:00
parent 37c0df0888
commit 7ec8262953
No known key found for this signature in database
GPG Key ID: 69D6CE281FCAE663
2 changed files with 20 additions and 0 deletions

19
e2e/onboarding.spec.ts Normal file
View File

@ -0,0 +1,19 @@
import { test, expect } from '@playwright/test';
test('onboarding steps', async ({ page }) => {
await page.context().setOffline(false)
await page.goto('/');
await expect(page.locator('#root')).toContainText('Network connected');
await page.locator('a').nth(2).click();
await page.context().setOffline(true)
await expect(page.locator('#root')).toContainText('Network disconnected');
await page.getByLabel('Display name').click();
await page.getByLabel('Display name').fill('Arnaud');
await page.locator('a').click();
await page.locator('div').filter({ hasText: /^Internet connectionStatus indicator for the Internet\.$/ }).first().click();
await expect(page.getByTestId("network").locator(".onboarding-check-icon--valid")).not.toBeInViewport()
await expect(page.getByTestId("network").locator(".onboarding-check-icon--invalid")).toBeInViewport()
await page.context().setOffline(false)
await expect(page.getByTestId("network").locator(".onboarding-check-icon--valid")).toBeInViewport()
await expect(page.getByTestId("network").locator(".onboarding-check-icon--invalid")).not.toBeInViewport()
});

View File

@ -59,6 +59,7 @@ export function OnBoardingStepThree({ online, onStepValid }: Props) {
<ButtonIcon Icon={Save} onClick={onSave}></ButtonIcon>
</div>
<div
data-testid="network"
className={classnames(
["onboarding-check"],
["onboarding-check--valid", online]