Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
375 lines
13 KiB
JSON
375 lines
13 KiB
JSON
[
|
|
{
|
|
"id": "T001",
|
|
"description": "Migration schema test: statuses gains board ownership support for ticket statuses without changing non-ticket status shapes.",
|
|
"implemented": true,
|
|
"featureIds": ["F001"]
|
|
},
|
|
{
|
|
"id": "T002",
|
|
"description": "Migration schema test: board-scoped ticket status uniqueness/index definitions exist and board lookups use them.",
|
|
"implemented": true,
|
|
"featureIds": ["F002"]
|
|
},
|
|
{
|
|
"id": "T003",
|
|
"description": "DB integration: migration clones every current tenant ticket status to every board and preserves metadata fields.",
|
|
"implemented": true,
|
|
"featureIds": ["F003"]
|
|
},
|
|
{
|
|
"id": "T004",
|
|
"description": "DB integration: cloned board-owned ticket statuses receive fresh status ids and preserve per-board default/open-closed ordering semantics.",
|
|
"implemented": true,
|
|
"featureIds": ["F003", "F004"]
|
|
},
|
|
{
|
|
"id": "T005",
|
|
"description": "DB integration: migration remap table or remap logic resolves old global ticket status ids to the correct board-owned replacement by board.",
|
|
"implemented": true,
|
|
"featureIds": ["F004"]
|
|
},
|
|
{
|
|
"id": "T006",
|
|
"description": "DB integration: ticket rows are rewritten to the board-owned status id for their current board during migration.",
|
|
"implemented": true,
|
|
"featureIds": ["F005"]
|
|
},
|
|
{
|
|
"id": "T007",
|
|
"description": "DB integration: inbound ticket defaults are remapped to board-owned ticket status ids using their stored board id.",
|
|
"implemented": true,
|
|
"featureIds": ["F006"]
|
|
},
|
|
{
|
|
"id": "T008",
|
|
"description": "DB integration: tenant billing renewal defaults are remapped to board-owned ticket status ids using renewal_ticket_board_id.",
|
|
"implemented": true,
|
|
"featureIds": ["F007"]
|
|
},
|
|
{
|
|
"id": "T009",
|
|
"description": "DB integration: contract-level renewal overrides are remapped to board-owned ticket status ids using renewal_ticket_board_id.",
|
|
"implemented": true,
|
|
"featureIds": ["F008"]
|
|
},
|
|
{
|
|
"id": "T010",
|
|
"description": "Workflow migration test: saved workflow ticket status references with explicit board context are remapped to board-owned status ids.",
|
|
"implemented": true,
|
|
"featureIds": ["F009"]
|
|
},
|
|
{
|
|
"id": "T011",
|
|
"description": "Migration guard test: persisted ticket status references without safe board context are surfaced as unresolved instead of guessed.",
|
|
"implemented": true,
|
|
"featureIds": ["F010"]
|
|
},
|
|
{
|
|
"id": "T012",
|
|
"description": "Unit: default ticket status helper returns the default status for a specific board, not the tenant-wide first ticket status.",
|
|
"implemented": true,
|
|
"featureIds": ["F011"]
|
|
},
|
|
{
|
|
"id": "T013",
|
|
"description": "Unit: ticket create validation rejects a status id that belongs to a different board.",
|
|
"implemented": true,
|
|
"featureIds": ["F012"]
|
|
},
|
|
{
|
|
"id": "T014",
|
|
"description": "DB-backed integration: ticket create succeeds when status_id belongs to the chosen board and fails otherwise.",
|
|
"implemented": true,
|
|
"featureIds": ["F012"]
|
|
},
|
|
{
|
|
"id": "T015",
|
|
"description": "Unit: ticket update validation rejects cross-board status ids when changing status only.",
|
|
"implemented": true,
|
|
"featureIds": ["F013"]
|
|
},
|
|
{
|
|
"id": "T016",
|
|
"description": "DB-backed integration: ticket update rejects incompatible board/status combinations and preserves prior status on failure.",
|
|
"implemented": true,
|
|
"featureIds": ["F013"]
|
|
},
|
|
{
|
|
"id": "T017",
|
|
"description": "UI integration: changing a ticket board clears the current status selection and requires an explicit destination-board status choice.",
|
|
"implemented": true,
|
|
"featureIds": ["F014", "F024"]
|
|
},
|
|
{
|
|
"id": "T018",
|
|
"description": "UI integration: board creation supports copying ticket statuses from an existing board and persists a cloned board-local set.",
|
|
"implemented": true,
|
|
"featureIds": ["F015"]
|
|
},
|
|
{
|
|
"id": "T019",
|
|
"description": "UI integration: board creation supports inline ticket status authoring before the board is saved.",
|
|
"implemented": true,
|
|
"featureIds": ["F016"]
|
|
},
|
|
{
|
|
"id": "T020",
|
|
"description": "UI validation: board create/edit blocks save if there is no valid open default ticket status.",
|
|
"implemented": true,
|
|
"featureIds": ["F017"]
|
|
},
|
|
{
|
|
"id": "T021",
|
|
"description": "UI integration: board edit loads only that board's ticket statuses into the embedded board-local status manager.",
|
|
"implemented": true,
|
|
"featureIds": ["F018"]
|
|
},
|
|
{
|
|
"id": "T022",
|
|
"description": "UI integration: central ticket status settings no longer render ticket status management as an active source of truth.",
|
|
"implemented": true,
|
|
"featureIds": ["F019"]
|
|
},
|
|
{
|
|
"id": "T023",
|
|
"description": "Unit: board-scoped ticket status create action writes board_id and rejects duplicate ticket status names within the same board only.",
|
|
"implemented": true,
|
|
"featureIds": ["F020"]
|
|
},
|
|
{
|
|
"id": "T024",
|
|
"description": "Unit: board-scoped ticket status update action cannot move or mutate a status across boards implicitly.",
|
|
"implemented": true,
|
|
"featureIds": ["F020"]
|
|
},
|
|
{
|
|
"id": "T025",
|
|
"description": "Unit: board-local ticket status rules preserve exactly one default behavior per board and keep other boards untouched.",
|
|
"implemented": true,
|
|
"featureIds": ["F021"]
|
|
},
|
|
{
|
|
"id": "T026",
|
|
"description": "Unit: deleting or closing the final valid default/open ticket status on a board is rejected with a clear validation error.",
|
|
"implemented": true,
|
|
"featureIds": ["F021"]
|
|
},
|
|
{
|
|
"id": "T027",
|
|
"description": "Component test: board-dependent ticket status picker loads options for the selected board only.",
|
|
"implemented": true,
|
|
"featureIds": ["F022"]
|
|
},
|
|
{
|
|
"id": "T028",
|
|
"description": "Component test: board-dependent ticket status picker is empty or disabled when no board is selected.",
|
|
"implemented": true,
|
|
"featureIds": ["F022", "F023"]
|
|
},
|
|
{
|
|
"id": "T029",
|
|
"description": "UI integration: ticket create flow does not auto-populate a status until a board is selected and then chooses that board's default status only.",
|
|
"implemented": true,
|
|
"featureIds": ["F023"]
|
|
},
|
|
{
|
|
"id": "T030",
|
|
"description": "UI integration: ticket edit flow reloads board-owned statuses when board changes and never shows statuses from other boards.",
|
|
"implemented": true,
|
|
"featureIds": ["F024"]
|
|
},
|
|
{
|
|
"id": "T031",
|
|
"description": "Regression test: quick add ticket flow uses board-scoped ticket statuses.",
|
|
"implemented": true,
|
|
"featureIds": ["F025"]
|
|
},
|
|
{
|
|
"id": "T032",
|
|
"description": "Regression test: bulk ticket update flow validates board-scoped status selections.",
|
|
"implemented": true,
|
|
"featureIds": ["F043"]
|
|
},
|
|
{
|
|
"id": "T033",
|
|
"description": "Regression test: auxiliary board-aware ticket creation helpers such as asset or project-linked ticket creation use board-scoped statuses.",
|
|
"implemented": true,
|
|
"featureIds": ["F044"]
|
|
},
|
|
{
|
|
"id": "T034",
|
|
"description": "UI integration: inbound ticket defaults only offer statuses from the selected board and clear invalid values when board changes.",
|
|
"implemented": true,
|
|
"featureIds": ["F026"]
|
|
},
|
|
{
|
|
"id": "T035",
|
|
"description": "UI integration: billing renewal defaults only offer statuses from the selected board and reject stale cross-board ids on save.",
|
|
"implemented": true,
|
|
"featureIds": ["F027"]
|
|
},
|
|
{
|
|
"id": "T036",
|
|
"description": "Workflow designer test: ticket create/update status pickers depend on the selected board and do not expose tenant-global ticket statuses.",
|
|
"implemented": true,
|
|
"featureIds": ["F028"]
|
|
},
|
|
{
|
|
"id": "T037",
|
|
"description": "Workflow runtime test: ticket create action rejects a status id that does not belong to the chosen board.",
|
|
"implemented": true,
|
|
"featureIds": ["F029"]
|
|
},
|
|
{
|
|
"id": "T038",
|
|
"description": "Workflow runtime test: ticket update action rejects a cross-board status id when patching board/status fields.",
|
|
"implemented": true,
|
|
"featureIds": ["F029"]
|
|
},
|
|
{
|
|
"id": "T039",
|
|
"description": "Workflow runtime test: ticket close helper resolves the closed ticket status from the ticket's current board-owned statuses.",
|
|
"implemented": true,
|
|
"featureIds": ["F030"]
|
|
},
|
|
{
|
|
"id": "T040",
|
|
"description": "Workflow runtime test: board-aware default/open status helpers do not fall back to another board's ticket statuses.",
|
|
"implemented": true,
|
|
"featureIds": ["F030"]
|
|
},
|
|
{
|
|
"id": "T041",
|
|
"description": "Client portal integration: portal ticket creation uses only statuses valid for the chosen board.",
|
|
"implemented": true,
|
|
"featureIds": ["F031"]
|
|
},
|
|
{
|
|
"id": "T042",
|
|
"description": "Client portal integration: portal ticket status update rejects invalid cross-board statuses.",
|
|
"implemented": true,
|
|
"featureIds": ["F031"]
|
|
},
|
|
{
|
|
"id": "T043",
|
|
"description": "API contract test: ticket status lookup API requires or honors board scope and returns only statuses for that board.",
|
|
"implemented": true,
|
|
"featureIds": ["F032"]
|
|
},
|
|
{
|
|
"id": "T044",
|
|
"description": "API contract test: generic status list/read endpoints no longer expose tenant-global ticket status behavior for ticket use cases.",
|
|
"implemented": true,
|
|
"featureIds": ["F033"]
|
|
},
|
|
{
|
|
"id": "T045",
|
|
"description": "DB-backed integration: ticket list and search joins still return the correct status name/open-closed metadata after board-owned migration.",
|
|
"implemented": true,
|
|
"featureIds": ["F034"]
|
|
},
|
|
{
|
|
"id": "T046",
|
|
"description": "DB-backed integration: ticket reporting and grouped status counts do not mix statuses across boards after migration.",
|
|
"implemented": true,
|
|
"featureIds": ["F034"]
|
|
},
|
|
{
|
|
"id": "T047",
|
|
"description": "SLA integration: pause configuration UI and persistence continue to work with board-owned ticket statuses.",
|
|
"implemented": true,
|
|
"featureIds": ["F035"]
|
|
},
|
|
{
|
|
"id": "T048",
|
|
"description": "SLA integration: reporting and pause evaluation continue to resolve remapped board-owned ticket statuses correctly.",
|
|
"implemented": true,
|
|
"featureIds": ["F035"]
|
|
},
|
|
{
|
|
"id": "T049",
|
|
"description": "Notification integration: internal notification subscriber resolves old/new board-owned ticket status names correctly after migration.",
|
|
"implemented": true,
|
|
"featureIds": ["F036"]
|
|
},
|
|
{
|
|
"id": "T050",
|
|
"description": "Survey integration: survey trigger conditions continue to match remapped board-owned ticket status ids correctly.",
|
|
"implemented": true,
|
|
"featureIds": ["F036"]
|
|
},
|
|
{
|
|
"id": "T051",
|
|
"description": "Onboarding integration: onboarding-created boards receive board-owned ticket statuses and a valid board-local default status.",
|
|
"implemented": true,
|
|
"featureIds": ["F037"]
|
|
},
|
|
{
|
|
"id": "T052",
|
|
"description": "Import integration: board import/status seed flows create ticket statuses scoped to the target board.",
|
|
"implemented": true,
|
|
"featureIds": ["F037"]
|
|
},
|
|
{
|
|
"id": "T053",
|
|
"description": "Fixture integration: shared test setup creates board-owned ticket statuses instead of tenant-global ticket statuses.",
|
|
"implemented": true,
|
|
"featureIds": ["F038"]
|
|
},
|
|
{
|
|
"id": "T054",
|
|
"description": "Workflow harness integration: workflow fixture setup resolves and seeds board-owned ticket statuses correctly for ticket status scenarios.",
|
|
"implemented": true,
|
|
"featureIds": ["F038"]
|
|
},
|
|
{
|
|
"id": "T055",
|
|
"description": "Migration test suite includes one happy-path DB integration proving clone/remap correctness on a tenant with multiple boards.",
|
|
"implemented": true,
|
|
"featureIds": ["F039"]
|
|
},
|
|
{
|
|
"id": "T056",
|
|
"description": "Migration test suite includes one failure/guard case proving unresolved no-board-context references are surfaced explicitly.",
|
|
"implemented": true,
|
|
"featureIds": ["F039"]
|
|
},
|
|
{
|
|
"id": "T057",
|
|
"description": "Playwright or equivalent UI coverage verifies board create with copied statuses, inline statuses, and board-local status editing.",
|
|
"implemented": true,
|
|
"featureIds": ["F040"]
|
|
},
|
|
{
|
|
"id": "T058",
|
|
"description": "Playwright or equivalent UI coverage verifies ticket board change requires explicit reselection of a valid destination-board status.",
|
|
"implemented": true,
|
|
"featureIds": ["F040"]
|
|
},
|
|
{
|
|
"id": "T059",
|
|
"description": "Workflow regression suite proves migrated saved workflow status references still execute against the intended board-owned ticket statuses.",
|
|
"implemented": true,
|
|
"featureIds": ["F041"]
|
|
},
|
|
{
|
|
"id": "T060",
|
|
"description": "Billing regression suite proves migrated tenant and contract renewal defaults still create tickets with the intended board-owned status ids.",
|
|
"implemented": true,
|
|
"featureIds": ["F041"]
|
|
},
|
|
{
|
|
"id": "T061",
|
|
"description": "API regression suite proves ticket create/update endpoints reject cross-board status ids and accept valid board-owned status ids.",
|
|
"implemented": true,
|
|
"featureIds": ["F042"]
|
|
},
|
|
{
|
|
"id": "T062",
|
|
"description": "Client portal regression suite proves board-scoped ticket status lookups and updates behave correctly after migration.",
|
|
"implemented": true,
|
|
"featureIds": ["F042"]
|
|
}
|
|
]
|