mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2026-07-17 23:41:11 +00:00
feat: add simple e2e tests
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
import {LoginFixture, LogoutFixture, TOTPFixture} from "../fixtures/auth.fixtures";
|
||||
|
||||
test('should be able to login', async ({ page }) => {
|
||||
const loginFixture = new LoginFixture(page);
|
||||
await page.goto('http://tinyauth.127.0.0.1.sslip.io');
|
||||
await loginFixture.run('user1', 'password')
|
||||
await loginFixture.expectSuccess('user1')
|
||||
});
|
||||
|
||||
test('should fail to login with wrong credentials', async ({ page }) => {
|
||||
const loginFixture = new LoginFixture(page);
|
||||
await page.goto('http://tinyauth.127.0.0.1.sslip.io');
|
||||
await loginFixture.run('user27267', 'password')
|
||||
const toast = page.locator('[data-sonner-toast]').first();
|
||||
await expect(toast).toBeVisible();
|
||||
await expect(toast).toContainText('Failed to log in');
|
||||
});
|
||||
|
||||
|
||||
test('should be able to logout', async ({ page }) => {
|
||||
const loginFixture = new LoginFixture(page);
|
||||
await page.goto('http://tinyauth.127.0.0.1.sslip.io');
|
||||
await loginFixture.run('user1', 'password')
|
||||
await loginFixture.expectSuccess('user1')
|
||||
const logoutFixture = new LogoutFixture(page);
|
||||
await logoutFixture.run()
|
||||
})
|
||||
|
||||
test('should be able to login with totp', async ({ page }) => {
|
||||
const loginFixture = new LoginFixture(page);
|
||||
const totpFixture = new TOTPFixture(page);
|
||||
await page.goto('http://tinyauth.127.0.0.1.sslip.io');
|
||||
await loginFixture.run('user3', 'password')
|
||||
await totpFixture.run('MVR4JQWNXYKNM6HHJEYEFP2O74QIIEJE')
|
||||
await loginFixture.expectSuccess('user3');
|
||||
});
|
||||
|
||||
test('should fail to login with wrong totp', async ({ page }) => {
|
||||
const loginFixture = new LoginFixture(page);
|
||||
const totpFixture = new TOTPFixture(page);
|
||||
await page.goto('http://tinyauth.127.0.0.1.sslip.io');
|
||||
await loginFixture.run('user3', 'password')
|
||||
await totpFixture.run('VZVMOMQCBN24DJ5VRFAL5TJAZGBHXMN3')
|
||||
const toast = page.locator('[data-sonner-toast]').first();
|
||||
await expect(toast).toBeVisible();
|
||||
await expect(toast).toContainText('Failed to verify code');
|
||||
});
|
||||
Reference in New Issue
Block a user