Skip to content

Commit 01b48cf

Browse files
committed
doc: Added first test case documentation.
Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
1 parent cff43ef commit 01b48cf

8 files changed

Lines changed: 181 additions & 0 deletions

doc/test-cases/README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Test Process
2+
3+
This is the first step to improve our release process by introducing a formalized and documented test process as a part of it.
4+
We keep it simple for now and rely on Markdown files with a fixed template.
5+
This enables versioning tied directly to our project and also lowers the entry barrier to the whole topic while adding minimal overhead.
6+
7+
**These test cases and the testing as part of the release process is not binding!** We are testing the waters for now and adjust course along the way.
8+
9+
## Categories
10+
11+
- **Smoke Tests** (`/smoke`): Critical functionality that must work for a build to be viable.
12+
- **Regression Tests** (`/regression`): Core features that should remain stable across releases.
13+
- **Integration Tests** (`/integration`): Client-server interactions and external dependencies.
14+
15+
For the start, macOS file provider extension test cases are placed in the root folders of these categories.
16+
They might also be moved to subfolders later on, because the file provider extension is an independent component which shares a lot of potential and redundant test cases with the classic synchronization.
17+
For example, [TC-1000: Delete a File](./integration/TC-1000-delete-a-file.md) is ambiguous in the project scope but unique in the file provider extension scope.
18+
Also, the classic synchronization needs to be tested across all supported platforms while the file provider extension is only available on macOS.
19+
The same applies to the virtual files on Windows.
20+
Hence some namespacing later on is inevitable.
21+
22+
## Test Case Format
23+
24+
Please have a look at the already existing test cases.
25+
We are still evaluating which format works best for us.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# TC-1000: Delete a File
2+
3+
- **Platform:** macOS (File Provider)
4+
- **Related Issues:** None yet
5+
6+
## Description
7+
8+
A file moved to the trash locally should also be moved likewise on the server while appearing in the local and remote trash.
9+
10+
## Preconditions
11+
12+
- Have a fresh Nextcloud account with the default demo content
13+
- Have an account and file provider domain set up and ready on macOS
14+
- macOS trash is empty
15+
16+
## Test Steps
17+
18+
| Step | Action | Expected Result |
19+
|------|--------|-----------------|
20+
| 1 | Open Finder | The sidebar lists a location called "Nextcloud" |
21+
| 2 | Select the "Nextcloud" location | The items in the Nextcloud user's root folder appear in Finder |
22+
| 3 | Open the context menu on "Nextcloud intro.mp4" | A menu item to move it to the trash is listed |
23+
| 4 | Select the menu item to move it to the trash | The file disappears from the Finder window |
24+
| 5 | Open the trash from the Dock | "Nextcloud intro.mp4" now is located there as the only item |
25+
26+
## Expected Results
27+
28+
- The item moved to the trash does not appear in its original location anymore
29+
- The item moved to the trash does appear in the macOS trash
30+
- The item moved to the trash does appear in the Nextcloud trash web user interface
31+
32+
## Related Test Cases
33+
34+
- [TC-1001: Restore a File](TC-1001-restore-a-file.md)
35+
- [TC-1002: Empty the Trash](TC-1002-empty-the-trash.md)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# TC-1001: Restore a File
2+
3+
- **Platform:** macOS (File Provider)
4+
- **Related Issues:** None yet
5+
6+
## Description
7+
8+
A previously deleted file can be restored to its original location.
9+
10+
## Preconditions
11+
12+
- The steps of [TC-1000: Delete a File](tc-1000-delete-a-file.md)
13+
14+
## Test Steps
15+
16+
| Step | Action | Expected Result |
17+
|------|--------|-----------------|
18+
| 1 | Open the trash from the Dock | "Nextcloud intro.mp4" now is located there as the only item |
19+
| 2 | Open the context menu on "Nextcloud intro.mp4" | A menu item to restore it is listed |
20+
| 3 | Select the menu item to restore it | The file disappears from the Finder window which presents the trash content |
21+
22+
## Expected Results
23+
24+
- The item restored from the trash does not appear in the trash anymore
25+
- The item restored from the trash does appear in the original folder in Finder again
26+
- The item restored from the trash does appear in the original folder in the Nextcloud web user interface again
27+
28+
## Related Test Cases
29+
30+
- [TC-1000: Delete a File](TC-1000-delete-a-file.md)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# TC-1002: Empty the Trash
2+
3+
- **Platform:** macOS (File Provider)
4+
- **Related Issues:** None yet
5+
6+
## Description
7+
8+
When emptying the trash of macOS, an item should be removed permanently on the local device as on the Nextcloud server.
9+
10+
## Preconditions
11+
12+
- The steps of [TC-1000: Delete a File](tc-1000-delete-a-file.md)
13+
14+
## Test Steps
15+
16+
| Step | Action | Expected Result |
17+
|------|--------|-----------------|
18+
| 1 | Open the trash from the Dock | "Nextcloud intro.mp4" now is located there as the only item |
19+
| 2 | Click the button to empty the trash in the Finder header bar | The trash is emptied and left without content |
20+
21+
## Expected Results
22+
23+
- The deleted item does not appear in its original folder in Finder anymore
24+
- The deleted item does not appear in the trash in Finder anymore
25+
- The deleted item does not appear in its original folder in the Nextcloud web user interface anymore
26+
- The deleted item does not appear in the trash in the Nextcloud web user interface anymore
27+
28+
## Related Test Cases
29+
30+
- [TC-1000: Delete a File](TC-1000-delete-a-file.md)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# TC-1004: Delete a File on the Server
2+
3+
- **Platform:** macOS (File Provider)
4+
- **Related Issues:** None yet
5+
6+
## Description
7+
8+
When moving a file into the trash in the Nextcloud web user interface, it should vanish from the file provider domain and not show up in the local trash.
9+
10+
## Preconditions
11+
12+
- Have a file in the Nextcloud account. For clarity, it will be referred to as "Test.md" from here on but can be named arbitrarily
13+
- Have the client and account set up on a Mac with file provider domain enabled
14+
- See the file in question in Finder in the file provider domain location
15+
16+
## Test Steps
17+
18+
| Step | Action | Expected Result |
19+
|------|--------|-----------------|
20+
| 1 | Open the Nextcloud web user interface | See the file "Test.md" to delete |
21+
| 2 | Delete the file in the web user interface | The file "Test.md" appears in the trash in the web user interface |
22+
23+
## Expected Results
24+
25+
- The deleted item does not appear in its original folder in Finder anymore
26+
- The deleted item does also not appear in the trash in Finder
27+
- The deleted item does not appear in its original folder in the Nextcloud web user interface anymore
28+
- The deleted item does appear in the trash in the Nextcloud web user interface
29+
30+
## Related Test Cases
31+
32+
- [TC-1004: Empty the Trash on the Server](TC-1004-empty-the-trash-on-the-server.md)
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# TC-1004: Empty the Trash on the Server
2+
3+
- **Platform:** macOS (File Provider)
4+
- **Related Issues:** None yet
5+
6+
## Description
7+
8+
When emptying the trash in the Nextcloud web user interface, a previously and locally deleted file should also vanish from the local trash.
9+
10+
## Preconditions
11+
12+
- The steps of [TC-1000: Delete a File](tc-1000-delete-a-file.md)
13+
14+
## Test Steps
15+
16+
| Step | Action | Expected Result |
17+
|------|--------|-----------------|
18+
| 1 | Open the trash in the Nextcloud web user interface | See the file "Nextcloud intro.mp4" to delete |
19+
| 2 | Empty the deleted files in the Nextcloud web user interface | All items disappear from the user interface |
20+
21+
## Expected Results
22+
23+
- The item does not appear in its original location anymore
24+
- The item does appear in the macOS trash
25+
- The item no longer appears in the Nextcloud web user interface listing the trash content
26+
27+
## Related Test Cases
28+
29+
- [TC-1000: Delete a File](tc-1000-delete-a-file.md)

doc/test-cases/regression/.gitignore

Whitespace-only changes.

doc/test-cases/smoke/.gitignore

Whitespace-only changes.

0 commit comments

Comments
 (0)