mirror of
https://github.com/eyaltoledano/claude-task-master.git
synced 2025-11-15 17:44:54 +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>
77 lines
3.9 KiB
Markdown
77 lines
3.9 KiB
Markdown
---
|
|
title: Research Session
|
|
query: "test save functionality"
|
|
date: 6/14/2025
|
|
time: 5:50:23 PM
|
|
timestamp: 2025-06-14T21:50:23.797Z
|
|
exchanges: 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.json` with 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.json` file 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**
|
|
|
|
1. Create a task with subtasks and dependencies.
|
|
2. Mark some subtasks as complete.
|
|
3. Use the `updateTask` command to modify the parent task.
|
|
4. Save and reload the data.
|
|
5. 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*
|