mirror of
https://github.com/eyaltoledano/claude-task-master.git
synced 2025-11-13 16:45:40 +00:00
* fix(research, tasks): Make research command and task updates tag-aware * refactor(tasks): Prevent automatic task file generation across other locations This commit refactors several core task management functions to prevent them from automatically regenerating individual task files after modifying the main `tasks.json`. Previously, operations like `add-task`, `clear-subtasks`, `expand-task`, and `update-task-by-id` would immediately trigger `generateTaskFiles`. This could be slow and was often unnecessary. The calls to `generateTaskFiles` have been removed or commented out from the core task functions. Users should now run `task-master generate` explicitly to update their individual task files. Additionally, this commit includes fixes to the `move` command to make it fully tag-aware. * fix: move and clear subtasks mcp commands * chore: fix format * chore: fix unit tests --------- Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
3.9 KiB
3.9 KiB
| title | query | date | time | timestamp | exchanges |
|---|---|---|---|---|---|
| Research Session | test save functionality | 6/14/2025 | 5:50:23 PM | 2025-06-14T21:50:23.797Z | 1 |
Research Session
Initial Query
Question: test save functionality
Response:
Testing Save Functionality in a Task Management System
Core Steps for Testing Save Functionality
- Create or update a task in the system using the CLI or UI.
- Trigger the save operation (e.g., by issuing a command or clicking a save button).
- Verify that the data is correctly written to the persistent storage (e.g.,
tasks.json). - Reload or re-query the data to ensure the saved changes persist and are accurately reflected.
- Validate that all required fields and relationships (such as dependencies and subtasks) are preserved and correctly structured.
Key Test Scenarios
- Basic Save: Add a new task and confirm it appears in
tasks.jsonwith all fields populated. - Update Save: Modify an existing task (e.g., change status, description, or priority) and verify the changes are saved.
- Subtask and Dependency Preservation: Update a parent task and ensure that completed subtasks and dependency links remain intact, especially after using commands like
updateTask. - Batch Operations: Perform bulk updates or additions and confirm all affected tasks are saved correctly, with no data loss or corruption.
- Validation: Attempt to save invalid data and ensure the system rejects it or provides meaningful error messages, confirming validation logic is enforced.
Recommended Practices
- Use automated tests to simulate save operations for various scenarios, including edge cases (e.g., circular dependencies, missing required fields).
- After each save, reload the data and compare it to the expected state to ensure integrity.
- Log all save operations and errors for traceability and debugging.
- Regularly back up the
tasks.jsonfile to prevent data loss during testing and development.
Relevant Features from Industry Standards
- Task management systems typically provide robust save and update mechanisms, ensuring that all task attributes (including dependencies, subtasks, and comments) are consistently maintained[1][2][5].
- Validation and error handling are critical to prevent corrupt or incomplete saves, especially when handling complex relationships or batch operations[1][5].
- User feedback (such as success messages or error alerts) is important for confirming save actions and guiding users in case of issues[1][2].
Example Test Case
- Create a task with subtasks and dependencies.
- Mark some subtasks as complete.
- Use the
updateTaskcommand to modify the parent task. - Save and reload the data.
- Assert that:
- The parent task reflects the updates.
- Completed subtasks remain marked as complete.
- Dependencies are unchanged and valid.
Summary Table: Save Functionality Test Aspects
| Aspect | What to Test | Expected Outcome |
|---|---|---|
| Basic Save | Add/update task, save, reload | Data persists and matches expectations |
| Subtask Preservation | Update parent, check subtask status | Completed subtasks remain complete |
| Dependency Handling | Save with dependencies, reload | Dependencies are intact and valid |
| Batch Operations | Bulk save/update, reload | All changes persist, no data loss |
| Validation | Save invalid data | Error is raised, data not corrupted |
These steps and scenarios ensure that the save functionality is robust, reliable, and meets the requirements of a modern task management system[1][2][5].
Generated by Task Master Research Command
Timestamp: 2025-06-14T21:50:23.797Z