You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Pre-release Test Plan.md
+141-5Lines changed: 141 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,23 @@
27
27
2. Wrap mapping creation in else block: This was a small bug fix for the flat folder structure for certain file types enhancement to the mappings.
28
28
3. Changed the name of the % class replace field to be correct.
29
29
4. Added newlines to outputs wherever necessary for better formatting.
30
+
5. No Folders fix: This involved changing the way we store mappings and changing the mappings form field to account for this. This change allows the user to add paths to mappings with `NoFolders`.
31
+
6.`NameToInternalName()` tries to get internal names for all file types that have mappings.
32
+
7.`NameToInternalName()` does not return an empty string for a % class.
33
+
8. In `Name()`, there was condition that caused it to not match mappings properly. Fixed that.
34
+
9. No more Bifrost: Got rid of the many lines that were created after the first commit because of a bug in the way we were getting substrings.
35
+
10. Commit graph does not flash and fill up the whole Commit History pane anymore.
36
+
11. Stash drop now works properly.
37
+
12. Fixed the branch modal to look like it did before the refactoring.
38
+
13. Fixed an issue where the `NoFolders` toggle on a new mapping triggered the toggle on the first mapping instead of the clicked toggle.
39
+
14. Ensure that `GitStatus()` properly filtered out empty strings.
40
+
15. The passed modal size is now set correctly in the `addPopup()` method.
41
+
16. Settings button in the WebUI is no longer unresponsive if the session expires.
42
+
17. Added input validation to settings page.
43
+
18. Centred Settings page.
44
+
19. Removed entries from `^SYS("SourceControl","Git","items")` in `ImportRoutines()` if we find that the file has been deleted.
45
+
20.`RefreshUnCommitted()` now uses git status to prune out files that were committed means other than the `Utils.Commit()` method.
46
+
21. We don't try to source control ZPM documents.
30
47
31
48
### Documentation
32
49
@@ -38,11 +55,15 @@
38
55
- A majority of the changes were related to the sidebar.
39
56
- All the event handlers were moved, and the accordion was also modified.
40
57
- I also collapsed the handlers for local and remote checkout and local and remote branch merge into a checkout handler and merge handler respectively. So those should be tested to make sure there aren't any issues.
58
+
2. Unit test for `Utils.NameToInternalName()`.
59
+
3. Unit test for `Utils.Name()`.
41
60
42
61
### Enhancements
43
62
44
63
1. Configurability for how the "%" symbol is changed on export of `%` classes.
45
64
2. Removed `sc-list.txt` from the project. Everything should be working smoothly without it. Testing Add, Remove and Pull would be good.
65
+
3. New files diff in Workspace: A diff for new files is now displayed in the Workspace in the Staging Area.
66
+
4. Added granularity to `NoFolders` mappings.
46
67
47
68
<br>
48
69
@@ -54,17 +75,29 @@
54
75
### Setup and Configuration
55
76
56
77
1.`%` class export configurability.
57
-
2.`NoFolders` toggle (coming soon!)
78
+
2.`NoFolders` toggle.
79
+
3. Settings page input validation.
80
+
4. Mappings storage.
58
81
59
82
### Backend/IRIS
60
83
61
84
1.**Single file removal from source control**: We need to test this make sure we are removing files correctly from the filesystem, IRIS and source control without affecting anything that shouldn't be.
62
85
2.**No more `sc-list.txt`**: We need to make sure that `^SYS("SourceControl", "Git","items")` gets updated correctly every time the there is a change to list of tracked files — Add, Remove, Merge. One failure case I know is if the user does a fetch and then does a merge with a remote branch from the WebUI they will have technically executed a git pull that is independent of the package and any changes to the list of tracked files. I am not sure of the implications of the global being out of sync with git.
86
+
3.**`NameToInternalName()`**: Once we verify that all possible cases are covered in the existing unit test, we just need to run it.
87
+
4.**`Name()`**: Once we verify that all possible cases are covered in the existing unit test, we just need to run it.
88
+
5.**`GitStatus()`**: Run it once with all types of changes - untracked files, additions, deletions, modifications and verify that there are no empty strings in the returned variable.
89
+
6.**`RefreshUncommitted()`**: Commit a change through the WebUI and verify that the row for that change still exists in the table `%Studio_SourceControl.Change`. Make 2 change through either VS Code or studio, one in a file tracked by git and one in a file that is not. Run the method and verify that the committed change is removed from the queue and of the 2 uncommitted changes, the uncommitted change is still there.
90
+
7.**No source control for ZPM**: Try and fail to get the `ExternalName` of a `.ZPM` file.
63
91
64
92
### Frontend
65
93
1.**Uncommitted check on checkout**: We need to check that files edited by another user are in fact being passed in the response from `api/uncommitted` and make sure that the prompt is being displayed as needed.
66
94
2.**Navigation between Settings page and WebUI**: We need to test that the URL prefix (if any) prepends the URL correctly, and that the CSP session is shared. Initially we did not support URL prefixes. I don't know if there is something else in there that I might have missed.
67
95
3.**Sidebar operations**: We need to double-check all the sidebar operations after the refactoring to make sure those are all still good and all the prompts and stuff make sense.
96
+
4.**No more bifrost**: Verify that the extra lines below the first commit are gone.
97
+
5.**Graph flash fill**: Verify that the graph doesn't glitch and fill the whole page, especially where there are more than 5 branches locally or on the remote.
98
+
6.**Stash Drop**: Verify that dropping a commit from the stash works as expected.
99
+
7.**Branches Modal**: Verify that the modal created when there are more than 5 local or remote branches looks the same as it did before the refactoring.
100
+
8.**Settings button session expiry**: Verify that the settings button on the WebUI is no longer unresponsive if the CSP session has expired. Also check if when the session has expired, and you click the settings button, it goes to the login page and then to the settings page directly.
68
101
69
102
### Things to watch for
70
103
1. Check if the output on the terminal has appropriate spacing.
@@ -91,16 +124,52 @@ Testing environment:
91
124
92
125
1.**`%` class configurability**:
93
126
1. Setup:
94
-
1. Add "_" as the `%` replacement character.
127
+
1. Add "__" as the `%` replacement character.
95
128
2. Test cases:
96
129
1. Add a `%` class to source control
97
130
2. Remove the class from source control.
98
131
3. Expected Results:
99
-
1. Class should be exported as "_<classname_without_percent>".
132
+
1. Class should be exported as "__<class_name_without_percent>".
100
133
2. This should remove the file from source control and delete the external file.
101
134
102
135
2.**`NoFolders` toggle**
103
-
3.**Both together**
136
+
1. Setup:
137
+
1. Click the + button to add form fields for a new mapping.
138
+
2. Test cases:
139
+
1. Toggle the `NoFolders` switch.
140
+
3. Expected Results:
141
+
1. Verify that the correct switch is toggled.
142
+
143
+
3.**Setting page input validation**
144
+
1. Test cases (in all cases, make the change and save):
145
+
1. Wrong path to the git executable.
146
+
2. Wrong path to the SSH private key. (Only checks if file exists)
147
+
3. Empty fields in all the mappings fields one by one and then all together.
148
+
4. No '@' in the user email.
149
+
2. Expected results:
150
+
1. "File not found"
151
+
2. "File not found"
152
+
3. You won't be able to submit the form till all the fields are filled.
153
+
4. You should see a popup telling you the '@' is missing.
154
+
4.**Mappings Storage**
155
+
1. Setup:
156
+
1. Fill in "XYZ", "*" and "abc/def/xyz" into the form fields and switch off the `NoFolders` toggle.
1. The variable should have 5 top-level subscripts. There should be no empty strings in the subscript or values.
217
+
6.**`RefreshUncommitted()`**:
218
+
1. Setup:
219
+
1. Make a change in a file tracked by git and IRIS and commit it through the WebUI.
220
+
2. Verify that the row for that change still exists in the table `%Studio_SourceControl.Change`.
221
+
3. Make a second change in a file that is tracked by IRIS but not by git.
222
+
2. Test case:
223
+
1. Run the method.
224
+
3. Expected Results:
225
+
1. Check `%Studio_SourceControl.Change`. The row for the committed change should be gone, but the row for the uncommitted change should still be there.
226
+
7.**No source control for ZPM**: Try and fail to get the `ExternalName` of a `.ZPM` file.
1.**Uncommitted check on checkout**: We need to check that files edited by another user are in fact being passed in the response from `api/uncommitted` and make sure that the prompt is being displayed as needed.
@@ -170,4 +269,41 @@ Testing environment:
170
269
2. Existing branch checkout: covered in Uncommitted check on checkout
171
270
3. Merge branches
172
271
2. Expected Results:
173
-
1. All the operations should be executed correctly. Git might throw errors and warnings, but that's okay.
272
+
1. All the operations should be executed correctly. Git might throw errors and warnings, but that's okay.
273
+
4.**No more bifrost**:
274
+
1. Expected Results:
275
+
1. Verify that the extra lines below the first commit are gone.
276
+
5.**Graph flash fill**:
277
+
1. Test cases:
278
+
1. Basic: No setup needed.
279
+
2. More than 5 local branches: Create enough branches to have 6 or more local branches.
280
+
3. More than 5 remote branches: Push them to the remote to have 6 or more remote branches.
281
+
2. Expected Results (for all 3 test cases):
282
+
1. Verify that the graph doesn't glitch and fill the whole page.
283
+
3. Cleanup:
284
+
1. Delete the extra local and remote branches after doing 7.
285
+
2. Refresh the remote branches in the WebUI to get rid of the deleted refs.
286
+
6.**Stash Drop**:
287
+
1. Setup:
288
+
1. Make a change in a file.
289
+
2. Test case:
290
+
1. Stash the changes.
291
+
2. Go to the Stash and drop stashed changes.
292
+
3. Expected results:
293
+
1. There should be an entry in the stash corresponding to the stashed changes.
294
+
2. Dropping an entry should get rid of it but not change anything on the current branch.
295
+
7.**Branches Modal**: Verify that the modal created when there are more than 5 local or remote branches looks the same as it did before the refactoring.
296
+
1. Test case:
297
+
1. Click on the More button to get a list of local and remote branches.
298
+
2. Expected results:
299
+
1. The modals should be appropriately sized (`modal-sm`) and should have no edges or borders.
300
+
2. The accordions should be work as expected.
301
+
8.**Settings button session expiry**:
302
+
1. Setup:
303
+
1. Go to the WebUI
304
+
2. Run `kill ^%cspSession`
305
+
2. Test case:
306
+
1. Click the Settings button
307
+
3. Expected Results:
308
+
1. Should be redirected to login page.
309
+
2. After logging in, you should go directly to the settings, not back to the WebUI.
0 commit comments