๐Ÿงช Default Status Management Test Plan

๐Ÿ“‹ Test Overview

This test plan validates the default status management functionality for custom task statuses.

Requirements: 5.1, 5.2, 5.3, 5.4, 5.5

๐Ÿ”ง Setup Instructions

  1. Ensure backend server is running: cd backend && uvicorn main:app --reload
  2. Ensure frontend server is running: cd frontend && npm run dev
  3. Login as a coordinator or admin user
  4. Navigate to a project's settings page
  5. Go to the "Tasks" tab to access Custom Task Status Manager

โœ… Test Cases

Test 1: Visual Indicator for Default Status

Requirement: 5.1 - WHEN a user views the status list THEN the system SHALL indicate which status is the default

Expected: Default status should be clearly marked with a distinctive badge containing a star icon.

Test 2: Set Status as Default

Requirement: 5.2 - WHEN a user clicks "Set as Default" on a status THEN the system SHALL mark that status as the default and remove the default flag from other statuses

Expected: Only one status should be marked as default at any time. Setting a new default should automatically unset the previous default.

Test 3: Set as Default Button Visibility

Requirement: UI should show "Set as Default" button only for non-default statuses

Expected: The "Set as Default" button should only appear for statuses that are not currently the default.

Test 4: Default Status for New Tasks

Requirement: 5.3 - WHEN a new task is created without an explicit status THEN the system SHALL assign the project's default status

Expected: New tasks should automatically receive the project's default status when no status is explicitly specified.

Test 5: Fallback to System Default

Requirement: 5.4 - WHEN no custom statuses exist THEN the system SHALL use "not_started" as the default status

Expected: When no custom default is set, the system should fall back to "not_started" as the default status.

Test 6: Default Status Deletion Handling

Requirement: 5.5 - WHEN a default status is deleted THEN the system SHALL automatically assign the first status in the list as the new default

Expected: Deleting the default status should automatically promote another status to be the new default.

Test 7: Edit Dialog Default Checkbox

Requirement: Users should be able to set default status through the edit dialog

Expected: The edit dialog should allow toggling the default status via checkbox.

Test 8: Concurrent Default Status Updates

Requirement: System should handle multiple users trying to set default status

Expected: The system should maintain consistency even with concurrent updates.

Test 9: Button Disabled States

Requirement: UI should prevent actions during operations

Expected: Buttons should be disabled during operations to prevent race conditions.

Test 10: API Response Validation

Requirement: Backend should correctly handle default status updates

Expected: API should correctly update the default status and return consistent data.

๐Ÿ› Known Issues / Edge Cases

๐Ÿ“Š Test Results

Record your test results here:

โœ… All tests passed? If yes, mark task 15 as complete in the implementation plan!