mirror of
https://github.com/pocket-id/pocket-id.git
synced 2025-12-06 05:12:57 +03:00
49 lines
1.5 KiB
TypeScript
49 lines
1.5 KiB
TypeScript
import test, { expect } from '@playwright/test';
|
|
import { oneTimeAccessTokens } from '../data';
|
|
import { cleanupBackend } from '../utils/cleanup.util';
|
|
|
|
test.beforeEach(cleanupBackend);
|
|
|
|
// Disable authentication for these tests
|
|
test.use({ storageState: { cookies: [], origins: [] } });
|
|
|
|
test('Sign in with login code', async ({ page }) => {
|
|
const token = oneTimeAccessTokens.filter((t) => !t.expired)[0];
|
|
await page.goto(`/lc/${token.token}`);
|
|
|
|
await page.waitForURL('/settings/account');
|
|
});
|
|
|
|
test('Sign in with login code entered manually', async ({ page }) => {
|
|
const token = oneTimeAccessTokens.filter((t) => !t.expired)[0];
|
|
await page.goto('/lc');
|
|
|
|
await page.getByPlaceholder('Code').first().fill(token.token);
|
|
|
|
await page.getByText('Submit').first().click();
|
|
|
|
await page.waitForURL('/settings/account');
|
|
});
|
|
|
|
test('Sign in with expired login code fails', async ({ page }) => {
|
|
const token = oneTimeAccessTokens.filter((t) => t.expired)[0];
|
|
await page.goto(`/lc/${token.token}`);
|
|
|
|
await expect(page.getByRole('paragraph')).toHaveText(
|
|
'Token is invalid or expired. Please try again.'
|
|
);
|
|
});
|
|
|
|
test('Sign in with login code entered manually fails', async ({ page }) => {
|
|
const token = oneTimeAccessTokens.filter((t) => t.expired)[0];
|
|
await page.goto('/lc');
|
|
|
|
await page.getByPlaceholder('Code').first().fill(token.token);
|
|
|
|
await page.getByText('Submit').first().click();
|
|
|
|
await expect(page.getByRole('paragraph')).toHaveText(
|
|
'Token is invalid or expired. Please try again.'
|
|
);
|
|
});
|