Validation Lab

HAKDOGAN.COM

Core UI Testing

  • Learning HubLIVE

    Learning paths & modules

    • Inputs
    • Buttons
    • Keyboard Keys
    • Dropdowns
    • Multi Select
    • Searchable Select
    • Checkboxes
    • Radio Buttons
    • Slider Lab
    • Notifications
    • Toast Messages
    • JavaScript Alerts
    • Loader / Spinner
    • Static Table
    • Dynamic Table
    • Date Picker
    • Date Range
    • File Upload
    • File Download
    • PDF Download
    • Generate Text File
    • Broken Images
    • Drag & Drop
    • Tabs
    • New Tab
    • Iframes
    • Accordions
    • Infinite Scroll
    • Register Form
    • Login Form
    • OTP Login
    • Contact Form
    • Address Form
    • Profile Update Form
    • Multi-Step Form
    • Payment Form
    • Checkout Form
    • Validation Errors

Real User Flows

  • Bug PlaygroundNEW

    Login required · Manual + Automation

Automation Lab

  • FrameworkNEW

    Playwright · TypeScript (POM)

Data & API

  • API Testing LabNEW

    Contracts / Bugs / Playwright

Reporting

  • Edge CasesDEMO

    Validation / Negative Cases

Portfolio

  • Portfolio

    hakdogan.com

Sign in to lab

Guest session

VALIDATION LAB•DATA & API

Data & API

Tables · JSON · Requests

Where the front-end meets the back-end. Each module exposes a stable surface — searchable user tables, mock REST and GraphQL endpoints, paginated APIs, query-param filters, CSV exports — so you can author tests that pin both the UI and the contract.

Tables

TablesIntermediate

User Table — Search + Sort

Search by partial name/email, sort by signups asc/desc, paginate, and verify the visible row count + page metadata reflect every operation.

Open module →

TablesBeginner

Pagination API

Step through a paged list, confirm the rendered URL changes between pages, and verify the metadata block shows the right `start-end of total`.

Open module →

Requests

RequestsIntermediate

Fake REST API

Send canned REST requests and receive deterministic JSON responses; toggle a forced 500 to drive negative-path coverage.

Open module →

RequestsAdvanced

GraphQL Playground

Edit the query and variables, execute against a canned schema, and verify both the success and the malformed-variables paths.

Open module →

RequestsIntermediate

Filter Query Params

Compose a multi-axis filter (role + status + search) and confirm the query string reflects the active filters in stable order.

Open module →

RequestsIntermediate

CSV Export Validation

Pick a scope (all / active / admins), generate the CSV, and verify the header row, the comma-escaping in names, and the filename pattern on download.

Open module →