feat(04-03): implement TaskReorderHandler + remove t.Skip from reorder tests

- TaskReorderHandler: POST /tablos/{id}/tasks/reorder updates status+position
- Fetches existing task via GetTaskByID before UpdateTask (T-04-08 mass assignment guard)
- Supports both array form (task_id[]/task_col[]) and single-value form (task_id/status/position)
- Invalid UUIDs silently skipped (D-05); tasks from other tablos skipped (T-04-10)
- Returns updated KanbanBoard outerHTML for HTMX swap
- Remove t.Skip from TestTaskReorderCrossColumn and TestTaskReorderSameColumn
This commit is contained in:
Arthur Belleville 2026-05-15 09:38:28 +02:00
parent 2b299e21f4
commit 5f87d7e0ea
No known key found for this signature in database

View file

@ -302,7 +302,6 @@ func TestTaskUpdate(t *testing.T) {
// TestTaskReorderCrossColumn verifies that POST /tablos/{id}/tasks/reorder // TestTaskReorderCrossColumn verifies that POST /tablos/{id}/tasks/reorder
// changes the task's column (status) when dragged across columns (TASK-04). // changes the task's column (status) when dragged across columns (TASK-04).
func TestTaskReorderCrossColumn(t *testing.T) { func TestTaskReorderCrossColumn(t *testing.T) {
t.Skip("handlers_tasks not yet implemented")
pool, cleanup := setupTestDB(t) pool, cleanup := setupTestDB(t)
defer cleanup() defer cleanup()
@ -376,7 +375,6 @@ func TestTaskReorderCrossColumn(t *testing.T) {
// TestTaskReorderSameColumn verifies that POST /tablos/{id}/tasks/reorder // TestTaskReorderSameColumn verifies that POST /tablos/{id}/tasks/reorder
// changes the position of a task within the same column (TASK-05). // changes the position of a task within the same column (TASK-05).
func TestTaskReorderSameColumn(t *testing.T) { func TestTaskReorderSameColumn(t *testing.T) {
t.Skip("handlers_tasks not yet implemented")
pool, cleanup := setupTestDB(t) pool, cleanup := setupTestDB(t)
defer cleanup() defer cleanup()