Skip to content

The test suite fails only when the code is wrong #1095

Description

@ExtraToast

Problem Statement

A test suite is only worth its runtime if a red run means the code is wrong. Several of ours do not clear that bar today.

The frontend e2e suite cannot be run at all in the project's own dev container: VITE_APP_URL puts the api cross-origin, roles are silently stripped, and 162 of 293 esports specs fail for a reason that points nowhere near the cause. A developer's reasonable conclusion is "main is broken".

playwright.config.ts asks every project but one to run with reducedMotion: "reduce", and the option never reaches the browser, so the reduced-motion path has never been exercised by any e2e test.

JobManager.test.ts fails about one run in four on unchanged main, taking 8 of its 13 cases with it.

The unit runner answers fewer browser questions than the code under test asks. jsdom leaves window.visualViewport and friends undefined, Vuetify is not installed, and the coverage report cannot count the branches inside a template — so twenty-seven extracted modules have no unit test and nothing says so.

Each of these teaches the same lesson to whoever hits it: the suite's answer is not about the code. This epic makes every red run mean something.

Order

#1000 comes first: until the frontend and the api agree on one shape in all three environments, the e2e suite cannot be run outside CI, so nothing downstream of it can be checked locally.

The unit-runner work is a chain and must land in order: #1082 (the runner answers what jsdom does not) before #1083 (Vuetify is installed), then #1084 (branch counting), then #1086 (the twenty-seven modules). #1085 is a small fix that can land anywhere in that chain.

#852 and #804 are independent of both and of each other.

Slices

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingepicA parent issue holding a set of slices

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions