Files
solution-erp/.claude/workflows/runs/2026-07-31-S164-4gd-khkk-fanout/sub-test-k4a.md
2026-08-01 09:04:39 +07:00

2.4 KiB
Raw Blame History

TEST-K4A: IN-PROGRESS

Lane test K4a — test-after 49 row menu KHKK 8-nhóm (S166, 2026-08-01)

Agent: test-specialist. Ghi-từng-mục TRONG LÚC LÀM (luật sống-còn bài K3 engine-exit). Mục nào chưa chạy = ghi tiêu-đề + "CHƯA ĐO", KHÔNG điền số dự-đoán.

§0 — Trạng thái khởi động

  • §0.1 ĐÃ đọc khuôn. Chốt harness: seeder là private static → REFLECTION.
    • SeedMenuTreeAsync(ApplicationDbContext, ILogger) — 2 tham số.
    • SeedAllRolesReviewReadPermissionsAsync(ApplicationDbContext, RoleManager<Role>, ILogger) — 3 tham số (site-2).
    • Khuôn invoke đã có sẵn ở ContractCatalogTests.cs:459 (InvokePrivateSeedAsync, rm nullable) → dùng lại HÌNH, không chế fixture mới. Fixture = IdentityFixture (cần RoleManager cho site-2).
  • §0.2 ĐÃ đọc BE đã land (git diff, chưa commit):
    • MenuKeys.cs:72-84KhkkGroupNumbers=[2..8] · KhkkLeafActions=[WfView,List,Create,Pending,Approved,Deleted] · KhkkGroupMenuKeys = SelectMany(group → 6 leaf) · spread .. KhkkGroupMenuKeys vào All:244.
    • DbInitializer.cs:2115-2157 — vòng seed 49 row menu (parent KeHoachKyKet, Order nhóm = n, leaf Order 1..6) + :2235 labelBackfill Khkk_G1 + :2442-2446 site-2 KhkkKeys().Concat(KhkkGroupMenuKeys).
    • Đếm BY-SOURCE All = 113 (tự cộng tay từng dòng initializer). Chưa phải số ĐO — sẽ đo runtime ở T1.
  • §0.3 CHỒNG LẤN ĐÃ CÓ (không viết lại): ContractCatalogTests.cs:445 T6 K1 assert MenuKeys.All.Except(menuKeysInDb).Should().BeEmpty() sau SeedMenuTreeAsync ⇒ invariant "49 key mới ĐỀU có menu-row" ĐÃ được test cũ phủ tự động (nó là phép thử của claim by-construction). Lane K4a KHÔNG nhân bản; thay vào đó đo cái test cũ KHÔNG đo: hình bộ sinh · đếm 56 row họ Khkk · idempotent ×2 · labelBackfill · grant site-2.
  • §0.4 Baseline suite Infra đo TƯƠI — ĐANG CHẠY (nền), chưa có số

§1 — Test bộ sinh đúng hình — CHƯA VIẾT

§2 — Test seed idempotent x2 — CHƯA VIẾT

§3 — Test labelBackfill đổi-label-không-nhân-row — CHƯA VIẾT

§4 — Test grant site-2 phủ leaf mới — CHƯA VIẾT

§5 — Kết quả chạy filtered — CHƯA ĐO

§6 — Kết quả full Infra — CHƯA ĐO