85 lines
3.4 KiB
HTML
85 lines
3.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Test Custom Status Deletion</title>
|
|
</head>
|
|
<body>
|
|
<h1>Custom Task Status Deletion Test</h1>
|
|
|
|
<h2>Test Scenarios</h2>
|
|
<ol>
|
|
<li>
|
|
<h3>Delete Unused Status</h3>
|
|
<p>✅ Should show simple confirmation dialog</p>
|
|
<p>✅ Should delete without requiring reassignment</p>
|
|
</li>
|
|
|
|
<li>
|
|
<h3>Delete Status In Use</h3>
|
|
<p>✅ Should show warning about tasks using the status</p>
|
|
<p>✅ Should display task count</p>
|
|
<p>✅ Should require reassignment selection</p>
|
|
<p>✅ Should show dropdown with system and custom statuses</p>
|
|
<p>✅ Should exclude the status being deleted from dropdown</p>
|
|
</li>
|
|
|
|
<li>
|
|
<h3>Reassignment Logic</h3>
|
|
<p>✅ Delete button should be disabled until reassignment is selected</p>
|
|
<p>✅ Should call API with reassign_to_status_id query parameter</p>
|
|
<p>✅ Should show success message with reassignment count</p>
|
|
</li>
|
|
|
|
<li>
|
|
<h3>Error Handling</h3>
|
|
<p>✅ Should handle "last status" error</p>
|
|
<p>✅ Should handle "status not found" error</p>
|
|
<p>✅ Should display error messages from backend</p>
|
|
</li>
|
|
|
|
<li>
|
|
<h3>UI Updates</h3>
|
|
<p>✅ Should reload statuses after successful deletion</p>
|
|
<p>✅ Should emit 'updated' event to parent</p>
|
|
<p>✅ Should close dialog after successful deletion</p>
|
|
<p>✅ Should reset reassignment selection when dialog closes</p>
|
|
</li>
|
|
</ol>
|
|
|
|
<h2>Manual Testing Steps</h2>
|
|
<ol>
|
|
<li>Navigate to Project Settings → Tasks tab</li>
|
|
<li>Create a few custom statuses</li>
|
|
<li>Try deleting a status that's not in use - should work immediately</li>
|
|
<li>Assign a custom status to some tasks</li>
|
|
<li>Try deleting that status - should show warning and require reassignment</li>
|
|
<li>Select a reassignment status and confirm - should succeed</li>
|
|
<li>Try deleting the last custom status - should show error</li>
|
|
</ol>
|
|
|
|
<h2>Implementation Details</h2>
|
|
<ul>
|
|
<li>✅ Created CustomTaskStatusDeleteDialog.vue component</li>
|
|
<li>✅ Updated customTaskStatus service to use query parameters</li>
|
|
<li>✅ Integrated delete dialog into CustomTaskStatusManager</li>
|
|
<li>✅ Added delete button to each custom status row</li>
|
|
<li>✅ Implemented task count display</li>
|
|
<li>✅ Added reassignment dropdown with system and custom statuses</li>
|
|
<li>✅ Implemented error handling for various scenarios</li>
|
|
<li>✅ Added success notifications with reassignment details</li>
|
|
</ul>
|
|
|
|
<h2>Requirements Coverage</h2>
|
|
<ul>
|
|
<li>✅ 3.1: Check if status is in use by any tasks</li>
|
|
<li>✅ 3.2: Show confirmation dialog with task count</li>
|
|
<li>✅ 3.3: If status in use, show reassignment dropdown</li>
|
|
<li>✅ 3.4: Implement reassignment logic</li>
|
|
<li>✅ 3.5: Handle deletion success and errors</li>
|
|
<li>✅ Update UI after deletion</li>
|
|
</ul>
|
|
</body>
|
|
</html>
|