testing Saved requests that know the right answer.
A test suite sends a route a request you describe and checks what comes back — status, body, headers, timing. Run it after every change and catch the break before your users do.
Read the docshooks
Fake one block, test the rest.
A hook attaches to a single block, runs only inside the suite, and can skip the block with made-up data. Test a payment route without charging a card.
- Skip a block pretend the DB returned a user, without a database
- Change its input steer the route down a particular path
- Change its output try an unusual case with real data
- Check mid-route assert on values between blocks
- Make it fail prove your error handler answers correctly
overrides
Point a suite at test data.
Swap the main database for a test one — or change an App Config value — for one suite only. The route itself never changes.
results
Know exactly why it failed.
Every check shows what it expected and what it got, next to the response the route actually sent. Suites appear as they finish, so you never wait on the slowest one.
- returns the user passed · 3 checks · 12 ms
- creates an order failed · expected 500 to be 201
- rejects duplicates error · Setup failed: duplicate email
- bulk import timeout · suite timed out
workflows too
Test background work the same way.
Give a workflow an input — once, or once per case — and check what it did. Setup and teardown create and clean up test data around every suite, and Run alone keeps suites that share data from colliding.
01
Setup
a block adds test rows
02
Run
the route or workflow runs with hooks
03
Teardown
a block removes them, even after a failure