VALIDATION LABVALID 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. 1.Open /login
  2. 2.Click 'Use demo account' or fill demo@hakdogan.com / Password123!
  3. 3.Click 'Sign in'
  4. 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
ts
1
2
3
4
5
6
7
8
9
10
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();
});