My-Weekly-ToDo-List/spec/my-weekly-todo-list-test-plan.md
mARTin d92a8c7210 feat: add task actions (notes/delete) and refine animation logic
- Added 'onDelete' and 'onNotes' support to TaskItem.
- Implemented hover actions (Delete and Notes icons) for tasks.
- Added Notes Modal for editing task markdown content.
- Simplified navigation animation to remove blank flash (single-phase slide-in).
- Fixed syntax error in updateTask function.
- Updated styles for modal and task actions.
2026-02-01 12:25:53 +01:00

5.6 KiB

My Weekly To Do List - Comprehensive Test Plan

Application Overview

Comprehensive test plan for the My Weekly To Do List application, covering authentication, task management, weekly view navigation, calendar integration, and drag-and-drop functionality.

Test Scenarios

1. Authentication Tests

Seed: tests/seed.auth.spec.ts

1.1. User Login Flow

File: tests/auth/login-flow.spec.ts

Steps:

  1. Navigate to the application homepage - expect: Application loads successfully - expect: User is redirected to login page or dashboard
  2. Enter valid username and password in login form - expect: Login form accepts valid credentials - expect: User is authenticated and redirected to dashboard
  3. Attempt to login with invalid credentials - expect: Login form shows error message for invalid credentials - expect: User remains on login page

1.2. User Registration Flow

File: tests/auth/registration-flow.spec.ts

Steps:

  1. Navigate to registration page - expect: Registration form is displayed - expect: Form contains all required fields
  2. Fill in registration form with valid data - expect: Registration form accepts valid data - expect: User is registered and redirected to dashboard
  3. Attempt to register with duplicate email - expect: Registration form shows duplicate email error - expect: User remains on registration page

2. Task Management Tests

Seed: tests/seed.tasks.spec.ts

2.1. Add New Task

File: tests/tasks/add-task.spec.ts

Steps:

  1. Navigate to the tasks page - expect: Tasks page loads successfully - expect: Task form is visible
  2. Fill task form with valid data - expect: Task form accepts valid inputs - expect: Form validates required fields
  3. Submit the task form - expect: New task is added to the list - expect: Task appears in the correct day column - expect: Form resets to default state

2.2. Edit Existing Task

File: tests/tasks/edit-task.spec.ts

Steps:

  1. Navigate to the tasks page - expect: Tasks page is loaded - expect: Existing tasks are visible
  2. Click edit button on an existing task - expect: Task enters edit mode - expect: Editable fields are displayed
  3. Modify task details and save - expect: Task is updated with new values - expect: Task reflects changes in daily view

2.3. Delete Task

File: tests/tasks/delete-task.spec.ts

Steps:

  1. Navigate to the tasks page - expect: Tasks page is loaded - expect: Task list is visible
  2. Click delete button on a task - expect: Confirmation dialog appears or task is immediately deleted - expect: Task is removed from the list
  3. Verify deleted task is no longer visible - expect: Deleted task no longer appears in the task list - expect: UI reflects successful deletion

2.4. Task Validation

File: tests/tasks/task-validation.spec.ts

Steps:

  1. Navigate to the task creation form - expect: Task form is displayed - expect: All form fields are accessible
  2. Submit form without required fields - expect: Validation error messages appear - expect: Form prevents submission without required fields
  3. Submit form with invalid time format - expect: Time validation error appears - expect: Form prevents submission with invalid time

3. Weekly View Navigation Tests

Seed: tests/seed.weekly.spec.ts

3.1. Week Navigation Controls

File: tests/weekly/navigate-week.spec.ts

Steps:

  1. Navigate to the weekly view - expect: Weekly calendar view displays - expect: Current week is shown
  2. Click 'Previous Week' button - expect: Display moves to previous week - expect: Week range updates correctly
  3. Click 'Next Week' button - expect: Display moves to next week - expect: Week range updates correctly

3.2. Keyboard Navigation

File: tests/weekly/keyboard-nav.spec.ts

Steps:

  1. Navigate to the weekly view - expect: Weekly calendar view displays - expect: Keyboard navigation is enabled
  2. Press Left Arrow key - expect: Week navigation moves backward - expect: Current week updates appropriately
  3. Press Right Arrow key - expect: Week navigation moves forward - expect: Current week updates appropriately

4. Drag and Drop Tests

Seed: tests/seed.dragdrop.spec.ts

4.1. Task Drag and Drop Between Days

File: tests/dragdrop/drop-task.spec.ts

Steps:

  1. Navigate to the weekly view - expect: Weekly calendar view displays - expect: Tasks are visible in their assigned days
  2. Drag a task from one day column to another - expect: Task is draggable - expect: Task drops correctly into target day
  3. Verify task position changed in UI - expect: Task appears in new day column - expect: Task data remains intact

4.2. Drag and Drop Edge Cases

File: tests/dragdrop/drop-edge-cases.spec.ts

Steps:

  1. Try dragging task to same day - expect: No action occurs or repositioning happens - expect: Task maintains its position
  2. Try dragging non-existent task - expect: Drag operation fails gracefully - expect: No unexpected errors occur

5. Calendar Integration Tests

Seed: tests/seed.calendar.spec.ts

5.1. Calendar Settings Modal

File: tests/calendar/settings-modal.spec.ts

Steps:

  1. Navigate to calendar settings - expect: Calendar settings modal opens - expect: All calendar integration options are visible
  2. Configure calendar integration settings - expect: Settings save successfully - expect: Integration status updates