Skip to content
Fluxify

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 docs
Setup add test user Request GET /users/7 the route, unchanged Entrypoint GET /users/:id DB Get Single hook: skipped → { "id": 7 } Response 200 checks ✓ status = 200 ✓ body.name exists ✓ duration < 50 ms Teardown remove test user
Suites run on the same workers as your live routes, in a sealed test process. Hooks exist only inside the suite — the live route is never touched.

hooks

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.

✕ not in this suite override DB Insert connection: Main database Main database production Test database this suite only
Swap an integration, or an App Config value, for one suite only. Setup, the route, its hooks and teardown all use the replacement.

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

next Observability A span per block, tail sampling, logs and metrics to OTLP or Loki.