test: issue status system — required baseline statuses #686

Open
opened 2026-06-21 23:04:43 +00:00 by jmiller · 0 comments
Owner

Parent: #683

Issue Status Tests (#681)

Seeding

  • Existing org (MokoConsulting): check if statuses need manual seed (existing orgs predate this change)
  • Create new test org → verify 6 statuses auto-seeded: Open, In Progress, Waiting, In Review, Closed, Won't Fix
  • Open and Closed have is_required: true

Delete Protection

  • Try to delete Open status → verify error flash: 'Cannot delete required status'
  • Try to delete Closed status → same protection
  • Delete a non-required status (e.g., Waiting) → should succeed
  • Lock icon visible on required statuses in the settings table
  • Delete button hidden for required statuses (replaced by disabled lock icon)

API

  • GET /api/v1/orgs/MokoConsulting/issue-statuses → JSON includes is_required field
  • Required statuses show is_required: true
  • Custom statuses show is_required: false

Rename

  • Rename a required status (e.g., Won't Fix → Not Planned) → should succeed
  • Rename Open or Closed → should succeed (renaming allowed, deleting blocked)
Parent: #683 ## Issue Status Tests (#681) ### Seeding - [ ] Existing org (MokoConsulting): check if statuses need manual seed (existing orgs predate this change) - [ ] Create new test org → verify 6 statuses auto-seeded: Open, In Progress, Waiting, In Review, Closed, Won't Fix - [ ] Open and Closed have `is_required: true` ### Delete Protection - [ ] Try to delete Open status → verify error flash: 'Cannot delete required status' - [ ] Try to delete Closed status → same protection - [ ] Delete a non-required status (e.g., Waiting) → should succeed - [ ] Lock icon visible on required statuses in the settings table - [ ] Delete button hidden for required statuses (replaced by disabled lock icon) ### API - [ ] `GET /api/v1/orgs/MokoConsulting/issue-statuses` → JSON includes `is_required` field - [ ] Required statuses show `is_required: true` - [ ] Custom statuses show `is_required: false` ### Rename - [ ] Rename a required status (e.g., Won't Fix → Not Planned) → should succeed - [ ] Rename Open or Closed → should succeed (renaming allowed, deleting blocked)
Sign in to join this conversation.