VALIDATION LAB•VALID LOGIN
Authentication
Valid login
Demo credentials happy path that lands on Bug Playground — the primary post-login QA workspace.
User story
As a returning user, I want to sign in with my credentials so that I can resume exploring the embedded defect lab.
Acceptance criteria
- Email + password fields accept valid input
- Submit fires a single auth call (no double clicks)
- Successful response redirects to /bug-playground within 2s
- Bug Playground heading is visible with the mini application frame
Manual test steps
- 1.Open /login
- 2.Click 'Use demo account' or fill demo@hakdogan.com / Password123!
- 3.Click 'Sign in'
- 4.Wait for /bug-playground
Expected result
Bug Playground renders with the scenario brief and the Northwind QA Supplies mini storefront. /dashboard stays available separately for legacy mock metrics.
Possible bug risks
- Submit button fires twice on slow networks → duplicate sessions
- Password autofill races focus, breaking field-level validation
- Welcome name leaks the email when first name is empty
Reference Playwright spec
valid-login.spec.ts
ts12345678910
import { test, expect } from '@playwright/test';
test('valid login lands on bug playground @smoke', async ({ page }) => {
await page.goto('https://lab.hakdogan.com/login');
await page.getByRole('button', { name: /use demo account/i }).click();
await page.getByRole('button', { name: /sign in/i }).click();
await expect(page).toHaveURL(/\/bug-playground$/);
await expect(page.getByRole('heading', { name: /bug playground/i })).toBeVisible();
});