- 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.
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:
- Navigate to the application homepage - expect: Application loads successfully - expect: User is redirected to login page or dashboard
- Enter valid username and password in login form - expect: Login form accepts valid credentials - expect: User is authenticated and redirected to dashboard
- 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:
- Navigate to registration page - expect: Registration form is displayed - expect: Form contains all required fields
- Fill in registration form with valid data - expect: Registration form accepts valid data - expect: User is registered and redirected to dashboard
- 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:
- Navigate to the tasks page - expect: Tasks page loads successfully - expect: Task form is visible
- Fill task form with valid data - expect: Task form accepts valid inputs - expect: Form validates required fields
- 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:
- Navigate to the tasks page - expect: Tasks page is loaded - expect: Existing tasks are visible
- Click edit button on an existing task - expect: Task enters edit mode - expect: Editable fields are displayed
- 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:
- Navigate to the tasks page - expect: Tasks page is loaded - expect: Task list is visible
- Click delete button on a task - expect: Confirmation dialog appears or task is immediately deleted - expect: Task is removed from the list
- 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:
- Navigate to the task creation form - expect: Task form is displayed - expect: All form fields are accessible
- Submit form without required fields - expect: Validation error messages appear - expect: Form prevents submission without required fields
- 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:
- Navigate to the weekly view - expect: Weekly calendar view displays - expect: Current week is shown
- Click 'Previous Week' button - expect: Display moves to previous week - expect: Week range updates correctly
- 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:
- Navigate to the weekly view - expect: Weekly calendar view displays - expect: Keyboard navigation is enabled
- Press Left Arrow key - expect: Week navigation moves backward - expect: Current week updates appropriately
- 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:
- Navigate to the weekly view - expect: Weekly calendar view displays - expect: Tasks are visible in their assigned days
- Drag a task from one day column to another - expect: Task is draggable - expect: Task drops correctly into target day
- 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:
- Try dragging task to same day - expect: No action occurs or repositioning happens - expect: Task maintains its position
- 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:
- Navigate to calendar settings - expect: Calendar settings modal opens - expect: All calendar integration options are visible
- Configure calendar integration settings - expect: Settings save successfully - expect: Integration status updates