Trường Số QA/06 Teachers and staff (P2 smoke)
Trường Số · QA test suite · Phase 1 · 10/09/2026

06 · Teachers and staff (P2 smoke)

Test cases for PRD 06. Every case names the fixture data it needs (see the dashboard fixtures table), numbered steps, and one observable expected result. Trace points to the user story or rule in the PRD.

Key facts, origin and limits
Cases
17
P0 / P1
3 / 11
Regression pack
4
PRD
06 Teachers and staff (P2 smoke)
Phase
P2

Drafted by an AI assistant in a single session on 10/09/2026 as part of the Trường Số QA suite, under the request quoted verbatim on the dashboard. A proposal for team review, not a sign-off.

Sources

  • The Trường Số PRD set (Draft v1, 10/09/2026): user stories, screen tables, business rules and permission matrices, plus the Cloud theme reference.

Limits

  • Phase 1 (authoring) only. Cases are executed in Phase 2 against the local build; results are recorded in testcases.json and runs/run-1/, and every result field is still not_run.
  • Cases inherit any open question or inconsistency in the PRDs they trace to.

1Summary

P0
3
P1
11
P2
2
P3
1
Typefunctionalui-uxedgenegativeregressionflowa11yperfsecurityi18n
Count11012000021

2Test cases

IDTitleTypePriorityPhasePreconditionsStepsExpected resultPRD traceData neededRun 1
TS-STF-001Create a staff record with account and teaching rolefunctionalP0P2As U-ACAD-A on /staff.
  1. + Thêm nhân sự: name "Lê Thu Trang", code auto NV-####, title Giáo viên, full_time, branches Quận 1, start today, phone 0966000001, email; step 2 create account on, role Giáo viên, Là giáo viên on.
  2. Save.
Record created; invitation sent; Users list shows Chờ mời; TeacherProfile created; tab Đang làm việc count +1; Tài khoản chip Chờ mời.STF-01Fixtures belowNot run
TS-STF-002Duplicate phone shows existing recordnegativeP1P2Staff form.
  1. Enter T1's phone.
Form shows the existing record with "Mở hồ sơ"; no duplicate created.STF-01Fixtures belowNot run
TS-STF-003Staff form validationnegativeP2P2Staff form.
  1. Name 1 char; start date today + 100 days; CCCD 11 digits; email empty with account on.
Each rejected inline.06 §5Fixtures belowNot run
TS-STF-004Unlinked teachers tab and Tạo hồ sơ prefillfunctionalP1P2A FLYER teacher in the school without a staff record.
  1. Open tab Chưa có hồ sơ; click Tạo hồ sơ.
Form prefilled from TeacherProfile (name, phone, email); after save the teacher disappears from the tab.STF-02Fixtures belowNot run
TS-STF-005Staff list columns and empty statefunctionalP1P2/staff.
  1. Read columns; open on EMPTY.
Mã NV, Họ tên, Chức danh, Loại chip, Chi nhánh chips with +N overflow, Lớp đang dạy, Hợp đồng, Tài khoản chip, Thao tác kebab; empty text exactly "Chưa có nhân sự. Thêm giáo viên và nhân viên để phân lớp và tính công."; default sort by name vi collation.06 §5Fixtures belowNot run
TS-STF-006Contract with pay rule; overlap refused; expiry warningfunctionalP1P2As U-ACC on T1 profile tab Hợp đồng.
  1. Add contract labour, start 1 year ago, end in 25 days, pay rule "Theo buổi 250k".
  2. Add another overlapping contract.
First saved; row chip Sắp hết hạn; notification to U-BM-A and U-ACC; second refused "Hợp đồng trùng thời gian".STF-03Fixtures belowNot run
TS-STF-007Pay rule with override and cancelled-late percentfunctionalP1P2As U-ACC /staff/pay-rules.
  1. Create per_session 250,000 with override class type "IELTS" 400,000, pay cancelled-late 50%, effective from last month.
Rule saved; staff count using it shown; overrides count 1.STF-04Fixtures belowNot run
TS-STF-008Generate monthly timesheet from held sessionsfunctionalP0P2T1 with 20 held C1 sessions last month, one cancelled_late, T2 substituted one session.
  1. As U-ACC generate the timesheet for last month.
T1 timesheet: 19 held lines at 250,000 (the substituted session absent) + cancelled_late line at 125,000; T2 timesheet has the substituted session; status draft; totals correct; planned/cancelled sessions absent.STF-05, 06 §6 rulesFixtures belowNot run
TS-STF-009Recalculate banner after a session editfunctionalP1P2Timesheet generated; then correct one session.
  1. Open the timesheet.
Banner "Có 1 buổi thay đổi sau khi tạo bảng công" with Tính lại; recalculating updates the lines.STF-05Fixtures belowNot run
TS-STF-010Teacher flags a line and confirmsfunctionalP1P2As U-TEACH on own timesheet.
  1. Flag a line "tôi dạy thay buổi này"; press Xác nhận.
Flag open → goes to U-BM-A; timesheet cannot reach confirmed until the flag is resolved; other teachers' timesheets not visible.STF-06Fixtures belowNot run
TS-STF-011Approve locks lines; export payroll xlsxfunctionalP0P2Confirmed timesheet.
  1. As U-BM-A approve; as U-ACC export.
Status approved; lines read-only; regenerate refused (409); xlsx with one row per teacher and a detail sheet; export logged.STF-07Fixtures belowNot run
TS-STF-012Rate snapshot survives pay rule editedgeP1P2Approved timesheet at 250,000.
  1. Change the rule to 300,000.
Approved timesheet totals unchanged.06 §6 rate snapshotFixtures belowNot run
TS-STF-013Adjustment requires reason and permissionsecurityP1P2U-ACC and U-BM-A.
  1. Add adjustment −100,000 as U-ACC with reason; try as U-BM-A.
U-ACC ok and audited; U-BM-A 403.06 §9 staff.timesheets.adjustFixtures belowNot run
TS-STF-014Evaluation shared only after markingfunctionalP2P2As U-BM-A evaluate T1.
  1. Score criteria; save without sharing; log in as U-TEACH; then share.
Teacher sees nothing until shared; then sees the score; profile shows a trend.STF-08Fixtures belowNot run
TS-STF-015Off-board clears future assignments and deactivates the accountfunctionalP1P2T2 with future sessions.
  1. Set status Đã nghỉ with end date today.
Affected sessions listed for reassignment; account deactivated at end of day (stub); history visible; T2 hidden from teacher pickers.STF-09Fixtures belowNot run
TS-STF-016Cost fields hidden from non-finance rolessecurityP1P2As U-ACAD-A on a staff profile.
  1. Open tabs Hợp đồng and Bảng công.
Pay rule and amounts hidden; API strips rate fields or returns 403 for timesheets.06 §9Fixtures belowNot run
TS-STF-017Staff pages in en localei18nP3P2en.
  1. Open /staff and /staff/timesheets.
Translated tabs and chips (Full-time / Part-time / Contractor; Draft / Pending confirmation / Confirmed / Approved).12 §8Fixtures belowNot run

Trường Số (truongso.net) · FLYER internal