- 7 E2E test fajlova (54 testa ukupno): - login.spec.ts: prijava, pogresna lozinka, redirect bez sesije - dashboard.spec.ts: statistike, navbar, odjava, root redirect - licenses.spec.ts: tabela, filteri, pretraga - license-crud.spec.ts: forma, kreiranje LT/ARV/ESIR licence - license-detail.spec.ts: informacije, aktivacije, audit, revoke, force release - audit.spec.ts: audit log stranica, kolone, generisanje zapisa - api-client.spec.ts: activate, deactivate, validate, revoke flow, API key auth - CLAUDE.md: dodato pravilo o rigoroznom testiranju Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
42 lines
1.5 KiB
TypeScript
42 lines
1.5 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
|
|
test.describe('Login', () => {
|
|
test('prikazuje login formu', async ({ page }) => {
|
|
await page.goto('/login');
|
|
await expect(page.locator('h1')).toHaveText('DAL License Server');
|
|
await expect(page.locator('input[name="password"]')).toBeVisible();
|
|
await expect(page.locator('button[type="submit"]')).toHaveText('Prijava');
|
|
});
|
|
|
|
test('prijava sa ispravnom lozinkom', async ({ page }) => {
|
|
await page.goto('/login');
|
|
await page.fill('input[name="password"]', 'admin123');
|
|
await page.click('button[type="submit"]');
|
|
await expect(page).toHaveURL(/\/dashboard/);
|
|
await expect(page.locator('h1')).toHaveText('Dashboard');
|
|
});
|
|
|
|
test('prijava sa pogresnom lozinkom prikazuje gresku', async ({ page }) => {
|
|
await page.goto('/login');
|
|
await page.fill('input[name="password"]', 'pogresna_lozinka');
|
|
await page.click('button[type="submit"]');
|
|
await expect(page.locator('.alert-error')).toHaveText('Pogresna lozinka');
|
|
await expect(page).toHaveURL(/\/login/);
|
|
});
|
|
|
|
test('pristup dashboard-u bez logina preusmerava na login', async ({ page }) => {
|
|
await page.goto('/dashboard');
|
|
await expect(page).toHaveURL(/\/login/);
|
|
});
|
|
|
|
test('pristup licencama bez logina preusmerava na login', async ({ page }) => {
|
|
await page.goto('/licenses');
|
|
await expect(page).toHaveURL(/\/login/);
|
|
});
|
|
|
|
test('pristup auditu bez logina preusmerava na login', async ({ page }) => {
|
|
await page.goto('/audit');
|
|
await expect(page).toHaveURL(/\/login/);
|
|
});
|
|
});
|