diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 15413247833..7d687cd6a00 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -526,79 +526,82 @@ testers are expected to do more *exploratory* testing. 1. Other incorrect delete commands to try: `delete`, `delete x`, `...` (where x is larger than the list size)
Expected: Similar to previous. -### Categorizing a tag +### Finding a person -1. Categorizing an existing tag - 1. Prerequisites: Ensure that the tag `CS2103` exists and is under a category other than `Academics` (Gold). - 2. Test case: `cattag t/CS2103 acads`
- Expected: Success message is shown. All occurrences of the tag `CS2103` in the person list on the bottom left and tag list on the bottom right are set to `Academics` category. Colour of tag `CS2103` set to Gold. -2. Attempting to categorize a non-existent tag - 1. Prerequisites: Ensure that tag `A` does not exist yet. - 2. Test case: `cattag t/A activity`
- Expected: Error message "`Tag not found: [A]`" is shown, indicating that tag `A` does not exist. -3. Attempting to categorize to an invalid category - 1. Prerequisites: Ensure that tag `CS2103` is still present. - 2. Test case: `cattag t/CS2103 foo`
- Expected: Error message "`Invalid category: foo`" is shown. -4. Attempting to categorize an **invalid tag** to an **invalid category** - 1. Prerequisites: Ensure that tag `A` does not exist yet. - 2. Test case: `cattag t/A foo`
- Expected: Error message "`Invalid category: foo`" is shown. Message for invalid tag is not shown for this case. +1. Finding a person with tags + + 1. Assumption: Pick any 2 tags (or substring of the tags) present in any contact in the contact list. Call these x and y. + + 1. Test case: `find t/x` where `x` is the substring/tag chosen
+ Expected: All contacts with tags containing x will be displayed with a success message. + + 1. Test case: `find t/x t/y` where `x` and `y` are the substrings/tags chosen
+ Expected: The contact(s) with tags containing x or y will be displayed with a success message. + +1. Finding a person with multiple fields + + 1. Prerequisites: There are contacts with tags in the contact list. Add some if this is not the case. + + 1. Assumption: Pick any name and tag within the same contact. Call these name x and tag y. + + 1. Test case: `find n/x t/y` where `x` and `y` are the name and tag chosen
+ Expected: The contact(s) with name containing x and tags containing y will be displayed with a success message. + +1. Other incorrect find commands to try: `find`, `find x` (with no prefix)
+ Expected: No filtering of contacts will occur and an error message will be displayed. ### Undoing the last operation 1. Undoing an execution that modifies the CampusConnect data - 1. Prerequisites: Perform any operation that modifies the state (all executions except for list and find) to ensure there is an action to undo. + 1. Prerequisites: Perform any operation that modifies the state (all commands except for list and find) to ensure there is an action to undo. 1. Test case: undo Expected: The last operation is undone, restoring the previous state. The list updates accordingly, and a status message confirms the undo action. - 1. Test case: undo immediately after starting the application (with no operations performed) - Expected: No undo operation is performed. An error message appears in the status message, indicating there is no action to undo. +1. Undo immediately after starting the application + + 1. Prerequisites: CampusConnect has been booted and no command has been input yet. + 1. Test case: undo + Expected: No undo operation is performed. An error message appears in the status message, indicating there is no action to undo. + +### Redoing the last operation + +1. Redoing an execution that modifies the CampusConnect data + + 1. Prerequisites: Perform any operation that modifies the state (all commands except for list and find) and undo that action. + + 1. Test case: redo + Expected: The last undone operation is redone, restoring the previous state. The list updates accordingly, and a status message confirms the redo action. + +1. Redo immediately after starting the application + 1. Prerequisites: CampusConnect has been booted and no command has been input yet. + + 1. Test case: redo + Expected: No redo operation is performed. An error message appears in the status message, indicating there is no action to redo. + +1. Redo when no operation has been undone + 1. Prerequisites: Some commands that affect the state of CampusConnect have been entered but none of them have been redone. + + 1. Test case: redo + Expected: No redo operation is performed. An error message appears in the status message, indicating there is no action to redo. ### Adding a tag 1. Adding a tag while all tags are being shown - 1. Prerequisites: There are 2 person in the list. First person on the list has tag `CS2100`, second person has tags `floortball` and `friends`. + 1. Prerequisites: There are 2 contacts in the list. First contact on the list has tag `CS2100`, second contact has tags `floortball` and `friends`. 1. Test case: `addtag 1 t/CS2040S`
- Expected: The first person now has 2 tags `CS2100` and `CS2040S`. The tag lists are updated accordingly. + Expected: The first contact now has 2 tags `CS2100` and `CS2040S`. The tag list is updated accordingly. 1. Test case: `addtag 2 t/homie t/homie` - Expected: The second person now has 3 tags `floortball`, `friends` and `homie`. + Expected: The second contact now has 3 tags `floortball`, `friends` and `homie`. The tag list is updated accordingly. - 1. With the following test case: - 1. `addtag 1 t/CS2040s` - 1. Test case: `addtag 1 t/CS2030s t/CS2040S` + 1. With the following test cases: 1. Test case: `addtag 0 t/volleyball`
1. Test case: `addtag 3 t/homie`
1. Test case: `addtag 2`
- Expected: No new tag added. Error details shown in the status message.. - -### Finding a person - -1. Finding a person with tags - - 1. Assumption: Pick any 2 tags (or substring of the tags) present in any contact in the contact list. Call these x and y. - - 1. Test case: `find t/x` where `x` is the substring/tag chosen
- Expected: All contacts with tags containing x will be displayed with a success message. - - 1. Test case: `find t/x t/y` where `x` and `y` are the substrings/tags chosen
- Expected: The contact(s) with tags containing x or y will be displayed with a success message. - -1. Finding a person with multiple fields - - 1. Prerequisites: There are contacts with tags in the contact list. Add some if this is not the case. - - 1. Assumption: Pick any name and tag within the same contact. Call these name x and tag y. - - 1. Test case: `find n/x t/y` where `x` and `y` are the name and tag chosen
- Expected: The contact(s) with name containing x and tags containing y will be displayed with a success message. - -1. Other incorrect find commands to try: `find`, `find x` (with no prefix)
- Expected: No filtering of contacts will occur and an error message will be displayed. + Expected: No new tags are added. Error message is shown. ### Deleting a tag from a person @@ -614,6 +617,36 @@ testers are expected to do more *exploratory* testing. 1. Other incorrect delete tag commands to try: `deltag`, `deltag M t/x` (where M is larger than the list size or smaller than 0), `deltag 1 x`
Expected: No deleting of tags will occur and an error message will be displayed. +### Categorizing a tag + +1. Categorizing an existing tag + + 1. Prerequisites: Ensure that the tag `CS2103` exists and is under a category other than `Academics` (Gold). + + 2. Test case: `cattag t/CS2103 acads`
+ Expected: Success message is shown. All occurrences of the tag `CS2103` in the person list on the bottom left and tag list on the bottom right are set to `Academics` category. Colour of tag `CS2103` set to Gold. + +2. Attempting to categorize a non-existent tag + + 1. Prerequisites: Ensure that tag `A` does not exist yet. + + 2. Test case: `cattag t/A activity`
+ Expected: Error message "`Tag not found: [A]`" is shown, indicating that tag `A` does not exist. + +3. Attempting to categorize to an invalid category + + 1. Prerequisites: Ensure that tag `CS2103` is still present. + + 2. Test case: `cattag t/CS2103 foo`
+ Expected: Error message "`Invalid category: foo`" is shown. + +4. Attempting to categorize an **invalid tag** to an **invalid category** + + 1. Prerequisites: Ensure that tag `A` does not exist yet. + + 2. Test case: `cattag t/A foo`
+ Expected: Error message "`Invalid category: foo`" is shown. Message for invalid tag is not shown for this case. + -------------------------------------------------------------------------------------------------------------------- ## **Appendix: Planned enhancements** diff --git a/docs/UserGuide.md b/docs/UserGuide.md index e5fb3217095..e66182e1027 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -312,8 +312,8 @@ Furthermore, certain edits can cause CampusConnect to behave in unexpected ways -------------------------------------------------------------------------------------------------------------------- - ## FAQ + **Q**: How do I transfer my data to another Computer?
**A**: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous CampusConnect home folder.