Skip to main content

Our Approach

Two-Stage Model

Tests are split into two ordered stages.

Stage 1 — Setup. Establishes the preconditions the functional tests depend on: identity, permissions, and data fixtures. These run once per environment. If any setup step fails, the functional stage does not run.

Stage 2 — Functional. Asserts on platform behaviour as experienced by a real user — API responses, query results, permission enforcement. These are safe to run repeatedly.

The split keeps failure diagnosis clean: when a functional test fails, you can tell immediately whether it is a genuine regression or a broken precondition.

Test Data

Tests use a stable, real-world dataset as the fixture so that assertions on results are deterministic across runs. The dataset is seeded during Stage 1 and remains consistent for all functional tests.

[Describe the dataset in use and where it is stored, or link to the platform-tests README for specifics.]

Identity and Authentication

Every test authenticates as a real user identity scoped to the test environment. Tests that assert on permission denials use a separate identity with restricted roles.

[Add detail on how test identities are provisioned and where credentials are managed.]

Environments

[Describe which environments platform tests run against, who owns each, and what the data isolation guarantees are.]

CI Integration

[Describe how platform tests connect to the CI pipeline — trigger, target environment, how failures are surfaced, and who acts on them.]

Go Deeper