CodeForPhilly / CodeForPhilly/codeforphilly-ng
Make apps/api test fixtures cross-platform (Windows)
- Lenguaje dominante
- TypeScript
- Estrellas
- 1
- Forks
- 1
- Merge medio
- 5 d 3 h
- PR fusionados (30 d)
- 9
Descripción
Surfaced while closing out `plans/site-check-153.md` (PR #154).
On a Windows dev box the `apps/api` suite finishes 3 failed | 30 passed files, 10 failed | 413 passed tests, on a tree where `git diff develop..HEAD -- apps/api packages/` is empty. The failures spread across `scrub-data.test.ts` (4), `internal-reload.test.ts` (4), and `store.test.ts` (2), and reproduce with each file run alone, so it is not runner contention. Checking out `develop` and re-running `store.test.ts` reproduces its 2 failures exactly.
Mechanism (at least for `store.test.ts`): the fixture injects a write failure by pointing the private store at `/dev/null/impossible-path` and asserting the transaction rejects. On Windows that is an ordinary creatable directory, so the write succeeds and the expected throw never happens. The other seven likely share a POSIX-ism of the same flavor.
CI runs the gate on Linux where the fixtures behave as intended, so this only blocks the documented local validation gate on Windows. Worth a cross-platform fixture cleanup (e.g. a path that cannot exist on any OS, or a mocked write failure) if Windows dev boxes are to be supported.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Start with apps/api tests/scrub-data.test.ts, internal-reload.test.ts, and store.test.ts, then run each file independently on Windows and compare with the develop results. Inspect the fixtures that rely on POSIX-specific paths or write failures. Done means all three files pass on Windows while preserving the existing Linux behavior.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- api, testing
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 78/100