Skip to main content

Testing

Testing is the Tests tab at /<workspace>/code — the surface that runs your unit, integration, and end-to-end suites against the branches agents produce, so a feature only flows further down Ship if the suite still passes. Unlike most things in AI Expedite, tests don't run on platform infrastructure; they run on your connected machines through the terminal device app.

📷 Screenshot: Tests tab with terminal status banner, UI Testing section, and per-repo accordions.

Connecting a terminal device

The banner at the top of the tab tells you whether a terminal device is online. If none is connected, install the AI Expedite Terminal app on the machine you want to run tests from — Mac, Windows, or Linux — and sign in with your workspace credentials. Once it appears in the banner, the rest of the tab activates.

You can connect more than one device (e.g. a beefy CI box plus your laptop), and target a specific one for any given run from the device picker on each section.

UI testing

The first section runs agent-driven UI tests — the Playwright-style scenarios where an agent walks through your live (or local) site, asserts that key flows still work, and records a transcript with screenshots and console output for every step.

Configure a run by picking the target URL, the repository (so the agent has the right code as context), and the scenario(s) to execute. The agent runs through them on the selected terminal device, streaming progress into the execution progress bar above. When it finishes, the UI Test Run History panel below logs the outcome (pass / fail / partial), with the recorded transcript expandable for any run.

UI testing is most useful for end-to-end coverage that's expensive or brittle to write as code — login, checkout, dashboard render — because the agent adapts to small UI changes that would break a hand-written selector.

Per-repository tests

The bottom section is a list of every connected repository, grouped by domain (frontend / backend / infrastructure / …) and rendered as accordions identical in shape to the Codebase tab on the same page.

Expanding a repo shows:

  • Test stats — total test files, last run, last-green commit, current pass rate.
  • Test files — every *.test.* / *.spec.* file the analyzer found, organized by directory.
  • Run controls — execute the full suite, or just the selected files, on a chosen terminal device. Output streams into the run viewer below.
  • Run history — past runs with status, duration, and the diff between green commits.

Hidden repositories don't appear here; toggle visibility from the Codebase tab if you want a repo to participate in this view.

How tests gate Ship

Tests are the checkpoint between Code and Deployments:

  • Every agent that opens a PR triggers the relevant suites to run automatically — UI for frontend changes, unit/integration for backend changes, both when a feature touches several layers.
  • A failing suite holds the related Roadmap card in Review until either the agent self-corrects (most common path) or you intervene.
  • The last-green commit per repo is the safety net for Deployments — promotion is gated on having a green test run on the commit being deployed.

This is why the Tests tab lives inside the Code page rather than off in its own corner — testing is part of the same continuous loop as code review, not a separate ceremony.