Shot Bulk Status Consistency - Test Plan

๐ŸŽฏ Issue Fixed

The bulk task status change popover was showing only system statuses (TaskStatus enum values) while the individual EditableTaskStatus components showed both system and custom statuses from the task statuses store.

Root Cause:

๐Ÿ”ง Solution Implemented

Changes Made:

// Before (only system statuses): Object.values(TaskStatus).map((status) => ...) // After (system + custom statuses): meta.getAllStatusOptions?.().map((statusOption) => ...)

๐Ÿงช Test Scenarios

Test 1: Status List Consistency

  1. Navigate to shot table with task columns visible
  2. Click on any individual task status dropdown (EditableTaskStatus)
  3. Note the available status options and their colors
  4. Close the dropdown
  5. Select multiple shots
  6. Click the bulk action button in the same task column header
  7. Compare the status options in the bulk popover
Expected: Both lists should be identical - same statuses, same colors, same order

Test 2: Custom Status Support

  1. Ensure the project has custom task statuses configured
  2. Verify individual EditableTaskStatus shows custom statuses
  3. Verify bulk popover also shows the same custom statuses
  4. Test bulk updating to a custom status
  5. Verify all selected shots update to the custom status
Expected: Custom statuses work in both individual and bulk operations

Test 3: Status Badge Appearance

  1. Compare status badge colors between individual and bulk interfaces
  2. Verify custom status colors are preserved
  3. Check that compact styling is consistent
  4. Test with different status types (system vs custom)
Expected: Identical visual appearance and colors across both interfaces

๐Ÿ“Š Status Comparison

Status Type Individual EditableTaskStatus Bulk Popover (Fixed) Source
System Statuses Not Started In Progress Approved Retake Not Started In Progress Approved Retake taskStatusesStore.getAllStatusOptions()
Custom Statuses Custom Status Custom Status taskStatusesStore.getAllStatusOptions()

๐Ÿ”„ Data Flow

Updated Architecture:

ShotBrowser Component: โ”œโ”€โ”€ taskStatusesStore.fetchProjectStatuses() // Load on project change โ”œโ”€โ”€ createStableMeta() โ”‚ โ””โ”€โ”€ getAllStatusOptions: () => taskStatusesStore.getAllStatusOptions() โ”œโ”€โ”€ Shot Columns โ”‚ โ”œโ”€โ”€ EditableTaskStatus (individual) โ”‚ โ”‚ โ””โ”€โ”€ Uses: taskStatusesStore.getAllStatusOptions() โ”‚ โ””โ”€โ”€ Bulk Popover โ”‚ โ””โ”€โ”€ Uses: meta.getAllStatusOptions() // Same source!

Key Benefits:

โœ… Acceptance Criteria

๐Ÿš€ Ready for Testing

The shot bulk status change functionality now uses the same task status source as the individual EditableTaskStatus components, ensuring complete consistency between individual and bulk operations.

Key Improvement: Users will now see the same comprehensive list of task statuses (including custom ones) in both the individual dropdowns and bulk action popovers, providing a unified and consistent experience across the application.