Skip to main content

Attendance Testing Architecture

Summary

Attendance has extensive script-based smoke and cutover validation, but no Attendance-specific .NET unit or integration test project was found.

Audience

Developers, QA engineers, architects, DevOps engineers, and support engineers.

Existing evidence

The Attendance smoke script exercises service and compatibility behavior, gateway routing, backfill, assignment migration, parity, and cutover decisions. Separate parity and go/no-go scripts compare Time Office behavior and evaluate cutover readiness. Backfill validation checks migrated representation and supports dry-run, validation-only, and resumable migration concepts. A cutover runbook documents the transitional process.

Recommendations are not claims of existing coverage: unit tests for AttendanceCalculator and aggregate transitions; application tests for inline validation and result mapping; EF/PostgreSQL integration tests for filters, uniqueness, outbox atomicity, and no-tracking queries; tenant isolation and privileged-context tests; Payroll lock response/failure tests; gateway ownership and rollback tests; event mapping, retry, and consumer-idempotency tests; and contract/parity tests during compatibility retirement.

Test data must be synthetic and tenant-isolated. Numeric policy values should be fixtures, not published defaults. The absence of a dedicated .NET test project is a confirmed gap; CI execution of the external scripts requires confirmation.

Source References

  • microservices/scripts/smoke-attendance.ps1
  • microservices/scripts/compare-attendance-shift-parity.ps1
  • microservices/scripts/attendance-shift-cutover-go-no-go.ps1
  • microservices/docs/attendance-shift-cutover-runbook.md
  • microservices/src/attendance-service/Backfill/ShiftPolicyBackfillValidator.cs

See Also

Keywords

  • Attendance Service
  • Attendance Testing Architecture

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-15
  • Review cycle: Quarterly