Application lets user close Projects and Tasks without closing child projects/tasks. This only happens on the code side, not on the GUI.
This is a code issue, therefore is not isolated to any specific OS.
Detailed description of problem:
- The first problem is that the user can create a Project with a child Task. When user closes the project without closing the child task, the application does not complain and the JUnit test case passes. This results in the child task having the status 'OPEN' and the project has status 'CLOSED'.
- Similar to step one, if user creates a Task with a child Sub-Task. The user is able to close the Task without closing the child Sub-Task first.
This goes against requirement 'REQ-26' in the SRS for BORG Calendar document.
Note: This problem only arises when the above steps are done using JUnit tests. The appropriate error messages are thrown while running same test using GUI.
Steps to reproduce:
Note: Please perform the following steps in JUnit tests
- Create a Project (Project pr = new Project();).
- Add description, status, start date and end date for the project and save it.
- Create a Task (Task tk = new Task();).
- Add description, status, start date to the task and add project from step 2 to this task and save it.
- Get all projects from the database and close the project without closing the child task first.
- Commit all changes.
Notice that the child task still shows status = "OPEN" and project has status = "CLOSED".
Create a Task (Task tk = new Task();).
- Add description, status, start date to the task and save it.
- Create a Subtask (Subtask st = new Subtask();).
- Add description, start date and Task (from step 2) to this sub-task and save it.
- Close the parent task from step 2 before closing the sub-task.
- Notice that the child sub-task shows status = 'OPEN' while task shows status = 'CLOSED'.
- The application checks for all child tasks and sub-tasks being closed only on GUI JAVA classes. Move these checks to non-GUI classes such that these checks can be performed also while writing JUnit tests.