C.W.K.
Stream
← C.W.K. Quests
🧪

Web Testing Quest

Updated: 2026-05-25

Vitest for the fast inner loop. Playwright for the slow honest one.

Testing isn't a checkbox you tick before shipping. It's the moment you start trusting your own code without holding your breath.

9 tracks · 32 lessons · ~16h · difficulty: intermediate-to-advanced

Level 0Test Curious
0 XP0/32 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete
Most testing material is one of two failure modes: a Jest tutorial that pretends Vitest doesn't exist, or a Playwright walkthrough that pretends unit tests don't matter. This quest does both — Vitest as the fast inner loop where a test runs in 30 ms on every save, Playwright as the slow honest loop where a real browser clicks real buttons against your real app. Nine tracks, thirty-plus lessons, every example runnable. Pragmatic, anti-dogmatic, with the working-engineer voice — snapshot tests are a footgun, coverage percentage is a lagging indicator, flaky E2E is a design problem before it's a Playwright problem. The example bank pulls from Pippa's own frontend test suite. By the end, testing stops feeling like ceremony and starts feeling like trust.

Tracks

  1. 01🧭Foundations: Trust Without Holding Your Breath

    0/3 lessons

    Why test, what to test, when not to

    Tests exist so you can change code without holding your breath. Before any framework, the question is — what are you trying to trust? Walk through the working-engineer view of why testing exists, the pyramid that shapes a sane test suite, and how to pick between Vitest, Playwright, Jest, and Cypress without ceremony.

    Lesson list (3)Quiz · 4 questions
  2. 02Vitest Setup — Your Inner Loop

    0/4 lessons

    Install, configure, assert, watch

    Vitest is the fast inner loop where a test runs in 30 ms on every save. Get it installed, get the config right, learn the assertion vocabulary, and meet the watch + UI modes that turn testing into a feedback loop instead of a ceremony. Four lessons — by the end, Vitest runs against your project and stays out of your way.

    Lesson list (4)Quiz · 5 questions
  3. 03🎭Mocking: Faking Reality, Carefully

    0/4 lessons

    Functions, modules, time, and the network

    Mocking lets you isolate the unit under test from the rest of the universe — but every mock is a lie you've told your test, and that lie has costs. Learn the four kinds of mocks (function, module, time, network), the cases where each earns its keep, and the failure modes you'll hit when you overuse them. Four lessons.

    Lesson list (4)Quiz · 5 questions
  4. 04🧩Component Testing — Like a User

    0/4 lessons

    RTL, queries, user-event, async

    React Testing Library (RTL) flipped the script on component testing — instead of poking at internals, you query the rendered DOM the way a user would. Get RTL wired into Vitest, learn the query priority that catches bugs without breaking on refactors, drive interactions with user-event, and handle async state without resorting to waitFor everywhere. Four lessons.

    Lesson list (4)Quiz · 5 questions
  5. 05📊Vitest Advanced — Coverage, Tables, Types

    0/3 lessons

    Things you reach for on the second pass

    The advanced track covers the parts you don't need on day one but become essential by week two — coverage reporting (and what NOT to measure), parametrized tests for table-driven verification, custom matchers that make assertion messages legible, and the type-safe testing patterns that make refactors painless. Three lessons.

    Lesson list (3)Quiz · 4 questions
  6. 06🎬Playwright Setup — The Real Browser Loop

    0/4 lessons

    Install, configure, record, debug

    Playwright is the outer loop where a real Chromium / Firefox / WebKit clicks real buttons on your real app. Get the install right, write a config that works in dev AND CI, learn the codegen + headed-debug + UI-mode + trace-viewer toolkit, and feel what 'I trust this test' is like when the test IS the browser. Four lessons.

    Lesson list (4)Quiz · 4 questions
  7. 07🎯Locators — How Playwright Finds Things

    0/4 lessons

    Role-based, web-first, auto-waiting

    Locators are the single biggest reason Playwright tests stay green. They retry, they auto-wait, and they default to accessibility-first queries — but only if you write them that way. This track covers the role-based selector hierarchy, web-first assertions that retry until they pass or fail, the auto-wait model that means you almost never `sleep`, and the anti-flake habits that keep your suite trustworthy. Four lessons.

    Lesson list (4)Quiz · 4 questions
  8. 08🚀Playwright Advanced — Network, Auth, Fixtures, CI

    0/4 lessons

    The parts that take a Playwright suite from working to shippable

    Day-one Playwright tests run against a live app and work. Production-grade Playwright suites also mock network calls deterministically, reuse authentication across tests so log-in isn't every test's first 30 seconds, ride custom fixtures that hide setup, and run sharded in CI under 10 minutes. Four lessons to bridge from 'works' to 'we trust this in CI.'

    Lesson list (4)Quiz · 4 questions
  9. 09🧠Epilogue — Closing the Loop

    0/2 lessons

    Decide what to test, then apply it to your own project

    Eight tracks of tools and patterns. The epilogue asks the harder question: now that you can test almost anything, what SHOULD you test? Two short lessons close the loop. The first gives you a decision framework for spending your testing budget — unit vs integration vs E2E vs 'no test.' The second walks through Pippa's own frontend test suite as a living example of these principles applied for real.

    Lesson list (2)Quiz · 3 questions
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.