CodeForPhilly / CodeForPhilly/codeforphilly-ng
Make apps/api test fixtures cross-platform (Windows)
- 主要语言
- TypeScript
- 星标
- 1
- 派生
- 1
- 平均合并
- 5 天 3 小时
- 30 天内合并 PR
- 9
描述
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.
贡献指南
这个仓库没有索引到贡献指南
调研方向
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.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- typescript
- 领域
- api, testing
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 78/100