Journey Lanes

Cases

New customers can’t finish onboarding after a deploy

A super admin creates a company and its admin, an invitation goes out, and the new admin signs in. One deploy breaks a link in that chain.

  • Super Admin
  • Company Admin

Why ordinary tests miss it

Onboarding crosses two roles and an email. Each endpoint has its own tests, but nobody runs the whole chain after every deploy, so the break shows up when a real customer gets stuck halfway.

Set it up

Describe the journey

A super admin logs in. The super admin creates a company and creates a user. A company admin logs in and sees the users.

The flow Journey Lanes draws from the sentence above Super Admin: Log in via Keycloak, then Create company (POST /api/companies), then Create user (POST /api/users). Company Admin: Log in via Keycloak, then Users (GET /api/users). Super AdminROLE_SUPER_ADMIN Company AdminROLE_COMPANY_ADMIN Mock backendCollections Action Create company POST /api/companies Action Create user POST /api/users Screen Users GET /api/users Data Company Mock collection Data User Mock collection
Drawn by Journey Lanes from the sentence above, against the sample portal API.
  1. Describe the journey in one sentence. Journey Lanes draws it with a lane for the super admin and one for the company admin.

  2. Make the company name and the new admin’s email unique per run with {{run.id}}, so the flow can run as often as you like.

  3. Add an email step after creating the user. It reads the invitation from your Mailpit or Mailtrap test inbox and takes the sign-in link from it.

  4. Add your acceptance environment with a test account per role, and allow writes there.

  5. Call the deploy hook from CI or Argo CD after each deploy to acceptance. The result goes to GitHub as a commit status on the deployed commit.

The moment it’s caught

GitHub, on the deployed commit
  1. ✗ Journey Lanes / Acceptance: 0 of 1 flows passed
  2. ✓ Super AdminPOST /realms/portal/protocol/openid-connect/token 200
  3. ✓ Super AdminPOST /api/companies 201
  4. ✗ Super AdminPOST /api/users ✗ Status is 201 (got 500)
An example of what you see, in Journey Lanes’ own words. The numbers and names are made up.

The commit that broke onboarding is marked before anyone merges on top of it, and the run shows which step failed and what the API answered.

What you use

Next case: A company admin can open another company’s orders

Catch this one in your own product

Connect a repository, describe the journey, and run it against the mock in a few minutes.