coder / coder/internal

Shortcomings with E2E tests

Aperta
#690 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
tech-debt tests
Lingua principale
Nessun dato sulla lingua
Stelle
3
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Our E2E tests ostensibly have the following general goals:

- User journey validation (test key flows like workspace creation)
- Regression detection
- Production simulation (concurrent use, use components together to accomplish a task)

The tests cover each of these to some extent, but there are a number of key shortcomings which we should address - especially as the size of our team increases, institutional knowledge/memory becomes more dispersed, and our velocity ramps up.

## Lack of Terraform integration

Terraform is, let's face it, the core of our product. None of our E2E tests actually make use of Terraform, instead relying on the "echo" provisioner which mocks out responses.

## Lack of resilience / general flakiness / error handling

The tests are peppered with short timeouts to overcome races, brittle selectors used, lack of error handling or clear diagnostic logging.

## Authoring & troubleshooting

It's not possible to use the full gamut of Playwright's tools without a headed browser, which we don't currently (or maybe can't) make use of in our dogfood workspaces. Writing these tests therefore becomes tedious with a lot of learning required, and we should have a step-by-step guide for common troubleshooting tasks and reference implementations for the best tests to ~get Claude Code to rip off~ take inspiration from.

---

The purpose of this issue is not to throw shade on any individual(s); I didn't even `git blame` who owns most of the code.

We need to get this test suite under control before the tech debt starts becoming too expensive to service.

This test suite is our last line of defence besides for manual dogfooding, which is obviously sub-optimal in terms of time and reproducibility.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start by inventorying the existing E2E suite and its use of the echo provisioner, then review the Playwright timeouts, selectors, error handling, logging, and headed-browser constraints described here. Done would require agreed improvements covering Terraform-backed testing, resilience, diagnostics, and authoring guidance, but the issue names no files or tests.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
playwright, terraform
Ambito
infrastructure, testing
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.