CodeForPhilly / CodeForPhilly/codeforphilly-ng

laddr-import: tick the slug-reachability validation criterion now that read-api has landed

Đang mở
#27 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
TypeScript
Star
1
Fork
1
Merge trung bình
5 ngày 3 giờ
Pull request đã merge (30 ngày)
9

Mô tả

## Background

The [`laddr-import`](https://github.com/CodeForPhilly/codeforphilly-ng/blob/main/plans/laddr-import.md) plan (PR #24) left this Validation criterion unchecked:

> - [ ] All laddr slugs are accessible via `/projects/:slug` and `/members/:slug` after the import (verified via API test on a sample of 100 random records)

…with a Notes line claiming "those routes are owned by `read-api` and aren't built yet." That's not accurate at the time the PR was opened — `read-api` (PR #22) merged at 17:50 UTC; `laddr-import`'s PR opened at 22:29 UTC. The `/api/projects/:slug` and `/api/people/:slug` endpoints existed.

## What to do

Add an end-to-end test that:

1. Runs the importer against `apps/api/scripts/fixtures/laddr-fixture.sql` into a `createTestRepo()` + `createTestPrivateStore()`.
2. Boots `buildApp({ overrideEnv: { CFP_DATA_REPO_PATH: , ... } })`.
3. Picks 100 random imported records (or all of them if the fixture has fewer); for each, asserts `GET /api/projects/` and/or `GET /api/people/` returns the documented response shape.
4. Ticks the validation criterion in the plan.

Note: plans are frozen after merge, so the tick happens in this issue's PR via a small docs amendment under "Notes" rather than rewriting the criterion. Add a line like "Validation criterion 9 (slug reachability) closed out via Issue #N's tests; see [link]."

## Why bother

Closes the loop on a real validation gap. The import is one-shot — wrong slug → wrong URL forever. The test costs ~5min to write and pays for itself the first time it catches a slugify mistake.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.