From 7c4478eef9e2c770c36c528cd7b8b9b5448f9ad9 Mon Sep 17 00:00:00 2001 From: Iva Horn Date: Wed, 14 Jan 2026 14:23:11 +0100 Subject: [PATCH] feat(doc): Added first test case documentation. Signed-off-by: Iva Horn --- doc/test-cases/README.md | 23 ++++++++++++ doc/test-cases/integration/linux/.gitignore | 0 .../TC-1000-delete-a-file.md | 35 +++++++++++++++++++ .../TC-1001-restore-a-file.md | 31 ++++++++++++++++ .../TC-1002-empty-the-trash.md | 31 ++++++++++++++++ .../TC-1003-delete-a-file-on-the-server.md | 33 +++++++++++++++++ .../TC-1004-empty-the-trash-on-the-server.md | 30 ++++++++++++++++ doc/test-cases/integration/macos/.gitignore | 0 .../windows-virtual-files/.gitignore | 0 doc/test-cases/integration/windows/.gitignore | 0 doc/test-cases/regression/.gitignore | 0 .../linux/TC-0003-installation-on-linux.md | 27 ++++++++++++++ ...005-installation-on-macos-file-provider.md | 31 ++++++++++++++++ ...06-account-setup-on-macos-file-provider.md | 35 +++++++++++++++++++ .../macos/TC-0002-installation-on-macos.md | 31 ++++++++++++++++ .../TC-0004-installation-on-windows-vfs.md | 27 ++++++++++++++ .../TC-0001-installation-on-windows.md | 27 ++++++++++++++ 17 files changed, 361 insertions(+) create mode 100644 doc/test-cases/README.md create mode 100644 doc/test-cases/integration/linux/.gitignore create mode 100644 doc/test-cases/integration/macos-file-provider/TC-1000-delete-a-file.md create mode 100644 doc/test-cases/integration/macos-file-provider/TC-1001-restore-a-file.md create mode 100644 doc/test-cases/integration/macos-file-provider/TC-1002-empty-the-trash.md create mode 100644 doc/test-cases/integration/macos-file-provider/TC-1003-delete-a-file-on-the-server.md create mode 100644 doc/test-cases/integration/macos-file-provider/TC-1004-empty-the-trash-on-the-server.md create mode 100644 doc/test-cases/integration/macos/.gitignore create mode 100644 doc/test-cases/integration/windows-virtual-files/.gitignore create mode 100644 doc/test-cases/integration/windows/.gitignore create mode 100644 doc/test-cases/regression/.gitignore create mode 100644 doc/test-cases/smoke/linux/TC-0003-installation-on-linux.md create mode 100644 doc/test-cases/smoke/macos-file-provider/TC-0005-installation-on-macos-file-provider.md create mode 100644 doc/test-cases/smoke/macos-file-provider/TC-0006-account-setup-on-macos-file-provider.md create mode 100644 doc/test-cases/smoke/macos/TC-0002-installation-on-macos.md create mode 100644 doc/test-cases/smoke/windows-virtual-files/TC-0004-installation-on-windows-vfs.md create mode 100644 doc/test-cases/smoke/windows/TC-0001-installation-on-windows.md diff --git a/doc/test-cases/README.md b/doc/test-cases/README.md new file mode 100644 index 0000000000000..75bd9cf33cc3b --- /dev/null +++ b/doc/test-cases/README.md @@ -0,0 +1,23 @@ + + +# Test Process + +This is the first step to improve our release process by introducing a formalized and documented test process as a part of it. +We keep it simple for now and rely on Markdown files with a fixed template. +This enables versioning tied directly to our project and also lowers the entry barrier to the whole topic while adding minimal overhead. + +**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. + +## Categories + +- **Smoke Tests** (`/smoke`): Critical functionality that must work for a build to be viable. +- **Regression Tests** (`/regression`): Core features that should remain stable across releases. +- **Integration Tests** (`/integration`): Client-server interactions and external dependencies. + +## Test Case Format + +Please have a look at the already existing test cases. +We are still evaluating which format works best for us. \ No newline at end of file diff --git a/doc/test-cases/integration/linux/.gitignore b/doc/test-cases/integration/linux/.gitignore new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/doc/test-cases/integration/macos-file-provider/TC-1000-delete-a-file.md b/doc/test-cases/integration/macos-file-provider/TC-1000-delete-a-file.md new file mode 100644 index 0000000000000..75d9c4b248ba6 --- /dev/null +++ b/doc/test-cases/integration/macos-file-provider/TC-1000-delete-a-file.md @@ -0,0 +1,35 @@ + + +# TC-1000: Delete a File + +- **Platform:** All +- **Related Issues:** None yet + +## Description + +A file moved to the trash locally should also be moved likewise on the server while appearing in the local and remote trash. + +## Preconditions + +- Have a fresh Nextcloud account with the default demo content +- Have an account and file provider domain set up and ready on macOS +- macOS trash is empty + +## Test Steps + +| Step | Action | Expected Result | +|------|--------|-----------------| +| 1 | Open Finder | The sidebar lists a location called "Nextcloud" | +| 2 | Select the "Nextcloud" location | The items in the Nextcloud user's root folder appear in Finder | +| 3 | Open the context menu on "Nextcloud intro.mp4" | A menu item to move it to the trash is listed | +| 4 | Select the menu item to move it to the trash | The file disappears from the Finder window | +| 5 | Open the trash from the Dock | "Nextcloud intro.mp4" now is located there as the only item | + +## Expected Results + +- The item moved to the trash does not appear in its original location anymore +- The item moved to the trash does appear in the macOS trash +- The item moved to the trash does appear in the Nextcloud trash web user interface diff --git a/doc/test-cases/integration/macos-file-provider/TC-1001-restore-a-file.md b/doc/test-cases/integration/macos-file-provider/TC-1001-restore-a-file.md new file mode 100644 index 0000000000000..eff7ff9525797 --- /dev/null +++ b/doc/test-cases/integration/macos-file-provider/TC-1001-restore-a-file.md @@ -0,0 +1,31 @@ + + +# TC-1001: Restore a File + +- **Platform:** All +- **Related Issues:** None yet + +## Description + +A previously deleted file can be restored to its original location. + +## Preconditions + +- The steps of [TC-1000: Delete a File](TC-1000-delete-a-file.md) + +## Test Steps + +| Step | Action | Expected Result | +|------|--------|-----------------| +| 1 | Open the trash from the Dock | "Nextcloud intro.mp4" now is located there as the only item | +| 2 | Open the context menu on "Nextcloud intro.mp4" | A menu item to restore it is listed | +| 3 | Select the menu item to restore it | The file disappears from the Finder window which presents the trash content | + +## Expected Results + +- The item restored from the trash does not appear in the trash anymore +- The item restored from the trash does appear in the original folder in Finder again +- The item restored from the trash does appear in the original folder in the Nextcloud web user interface again diff --git a/doc/test-cases/integration/macos-file-provider/TC-1002-empty-the-trash.md b/doc/test-cases/integration/macos-file-provider/TC-1002-empty-the-trash.md new file mode 100644 index 0000000000000..09e7f665cba6b --- /dev/null +++ b/doc/test-cases/integration/macos-file-provider/TC-1002-empty-the-trash.md @@ -0,0 +1,31 @@ + + +# TC-1002: Empty the Trash + +- **Platform:** macOS (File Provider) +- **Related Issues:** None yet + +## Description + +When emptying the trash of macOS, an item should be removed permanently on the local device as on the Nextcloud server. + +## Preconditions + +- The steps of [TC-1000: Delete a File](tc-1000-delete-a-file.md) + +## Test Steps + +| Step | Action | Expected Result | +|------|--------|-----------------| +| 1 | Open the trash from the Dock | "Nextcloud intro.mp4" now is located there as the only item | +| 2 | Click the button to empty the trash in the Finder header bar | The trash is emptied and left without content | + +## Expected Results + +- The deleted item does not appear in its original folder in Finder anymore +- The deleted item does not appear in the trash in Finder anymore +- The deleted item does not appear in its original folder in the Nextcloud web user interface anymore +- The deleted item does not appear in the trash in the Nextcloud web user interface anymore diff --git a/doc/test-cases/integration/macos-file-provider/TC-1003-delete-a-file-on-the-server.md b/doc/test-cases/integration/macos-file-provider/TC-1003-delete-a-file-on-the-server.md new file mode 100644 index 0000000000000..eeb2d5764a96f --- /dev/null +++ b/doc/test-cases/integration/macos-file-provider/TC-1003-delete-a-file-on-the-server.md @@ -0,0 +1,33 @@ + + +# TC-1003: Delete a File on the Server + +- **Platform:** All +- **Related Issues:** None yet + +## Description + +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. + +## Preconditions + +- 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 +- Have the client and account set up on a Mac with file provider domain enabled +- See the file in question in Finder in the file provider domain location + +## Test Steps + +| Step | Action | Expected Result | +|------|--------|-----------------| +| 1 | Open the Nextcloud web user interface | See the file "Test.md" to delete | +| 2 | Delete the file in the web user interface | The file "Test.md" appears in the trash in the web user interface | + +## Expected Results + +- The deleted item does not appear in its original folder in Finder anymore +- The deleted item does also not appear in the trash in Finder +- The deleted item does not appear in its original folder in the Nextcloud web user interface anymore +- The deleted item does appear in the trash in the Nextcloud web user interface diff --git a/doc/test-cases/integration/macos-file-provider/TC-1004-empty-the-trash-on-the-server.md b/doc/test-cases/integration/macos-file-provider/TC-1004-empty-the-trash-on-the-server.md new file mode 100644 index 0000000000000..29c7d8d968e08 --- /dev/null +++ b/doc/test-cases/integration/macos-file-provider/TC-1004-empty-the-trash-on-the-server.md @@ -0,0 +1,30 @@ + + +# TC-1004: Empty the Trash on the Server + +- **Platform:** macOS (File Provider) +- **Related Issues:** None yet + +## Description + +When emptying the trash in the Nextcloud web user interface, a previously and locally deleted file should also vanish from the local trash. + +## Preconditions + +- The steps of [TC-1000: Delete a File](tc-1000-delete-a-file.md) + +## Test Steps + +| Step | Action | Expected Result | +|------|--------|-----------------| +| 1 | Open the trash in the Nextcloud web user interface | See the file "Nextcloud intro.mp4" to delete | +| 2 | Empty the deleted files in the Nextcloud web user interface | All items disappear from the user interface | + +## Expected Results + +- The item does not appear in its original location anymore +- The item does not appear in the macOS trash +- The item no longer appears in the Nextcloud web user interface listing the trash content diff --git a/doc/test-cases/integration/macos/.gitignore b/doc/test-cases/integration/macos/.gitignore new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/doc/test-cases/integration/windows-virtual-files/.gitignore b/doc/test-cases/integration/windows-virtual-files/.gitignore new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/doc/test-cases/integration/windows/.gitignore b/doc/test-cases/integration/windows/.gitignore new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/doc/test-cases/regression/.gitignore b/doc/test-cases/regression/.gitignore new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/doc/test-cases/smoke/linux/TC-0003-installation-on-linux.md b/doc/test-cases/smoke/linux/TC-0003-installation-on-linux.md new file mode 100644 index 0000000000000..1f39746867834 --- /dev/null +++ b/doc/test-cases/smoke/linux/TC-0003-installation-on-linux.md @@ -0,0 +1,27 @@ + + +# TC-0003: Installation on Linux + +- **Platform:** Linux +- **Related Issues:** None yet + +## Description + +_To be written_ + +## Preconditions + +- _To be written_ + +## Test Steps + +| Step | Action | Expected Result | +|------|--------|-----------------| +| 1 | _To be written_ | _To be written_ | + +## Expected Results + +- _To be written_ diff --git a/doc/test-cases/smoke/macos-file-provider/TC-0005-installation-on-macos-file-provider.md b/doc/test-cases/smoke/macos-file-provider/TC-0005-installation-on-macos-file-provider.md new file mode 100644 index 0000000000000..1943db5fd9a80 --- /dev/null +++ b/doc/test-cases/smoke/macos-file-provider/TC-0005-installation-on-macos-file-provider.md @@ -0,0 +1,31 @@ + + +# TC-0005: Installation on macOS (File Provider) + +- **Platform:** macOS +- **Related Issues:** None yet + +## Description + +Check whether the installation of the client with file provider extension for macOS completes successfully. + +## Preconditions + +- Have an installer package. Usually named like `Nextcloud-vfs-0.0.0.pkg`. + +## Test Steps + +| Step | Action | Expected Result | +|------|--------|-----------------| +| 1 | Open the installer package | The macOS installation app appears with a welcome message | +| 2 | Click "Continue" button | The app informs about the disk space expected to be occupied | +| 3 | Click "Install" button | macOS asks the user to authenticate before installing | +| 4 | Authenticate | Installation app continues with progress reporting about installation progress until finished | +| 5 | Click "Finish" | Installation app terminates | + +## Expected Results + +- You have a "Nextcloud.app" in your "/Applications" folder. diff --git a/doc/test-cases/smoke/macos-file-provider/TC-0006-account-setup-on-macos-file-provider.md b/doc/test-cases/smoke/macos-file-provider/TC-0006-account-setup-on-macos-file-provider.md new file mode 100644 index 0000000000000..b942a805db769 --- /dev/null +++ b/doc/test-cases/smoke/macos-file-provider/TC-0006-account-setup-on-macos-file-provider.md @@ -0,0 +1,35 @@ + + +# TC-0006: Account Setup on macOS (File Provider) + +- **Platform:** macOS +- **Related Issues:** None yet + +## Description + +Go through the initial account setup on a fresh installation. + +## Preconditions + +- The installation previously was completed as described in [TC-0005: Installation on macOS (File Provider)](./TC-0005-installation-on-macos-file-provider.md) +- Visibility of cloud storage locations in Finder sidebar is enabled in its settings. + +## Test Steps + +| Step | Action | Expected Result | +|------|--------|-----------------| +| 1 | Open "Nextcloud.app" in "/Applications" | The onboarding window appears, the menu bar extra shows the brand logo | +| 2 | Click the log in button | The form for entering the server address appears | +| 3 | Enter a valid server address and click the continue button | The client opens the login flow in the default browser, the client shows a user interface about waiting for the authorization | +| 4 | Complete the login flow in the browser | The web user interface informs about the expected authorization | +| 5 | Switch back to the client app | The client recognizes the authorization and closes its window | + +## Expected Results + +- The menu bar extra presents synchronization status symbols. +- Finder now has a "Nextcloud" item in the "Locations" section. +- Navigating to the "Nextcloud" location, Finder lists the items of the account's root folder on the Nextcloud server. +- When opening the settings for the newly setup account in the client settings, the file provider extension is selected as enabled because it should be enabled by default. diff --git a/doc/test-cases/smoke/macos/TC-0002-installation-on-macos.md b/doc/test-cases/smoke/macos/TC-0002-installation-on-macos.md new file mode 100644 index 0000000000000..823c8e07168a0 --- /dev/null +++ b/doc/test-cases/smoke/macos/TC-0002-installation-on-macos.md @@ -0,0 +1,31 @@ + + +# TC-0002: Installation on macOS + +- **Platform:** macOS +- **Related Issues:** None yet + +## Description + +Check whether the installation of the client for macOS completes successfully. + +## Preconditions + +- Have an installer package. Usually named like `Nextcloud-0.0.0.pkg`. + +## Test Steps + +| Step | Action | Expected Result | +|------|--------|-----------------| +| 1 | Open the installer package | The macOS installation app appears with a welcome message | +| 2 | Click "Continue" button | The app informs about the disk space expected to be occupied | +| 3 | Click "Install" button | macOS asks the user to authenticate before installing | +| 4 | Authenticate | Installation app continues with progress reporting about installation progress until finished | +| 5 | Click "Finish" | Installation app terminates | + +## Expected Results + +- You have a "Nextcloud.app" in your "/Applications" folder. diff --git a/doc/test-cases/smoke/windows-virtual-files/TC-0004-installation-on-windows-vfs.md b/doc/test-cases/smoke/windows-virtual-files/TC-0004-installation-on-windows-vfs.md new file mode 100644 index 0000000000000..753e318c3216b --- /dev/null +++ b/doc/test-cases/smoke/windows-virtual-files/TC-0004-installation-on-windows-vfs.md @@ -0,0 +1,27 @@ + + +# TC-0004: Installation on Windows (VFS) + +- **Platform:** Windows +- **Related Issues:** None yet + +## Description + +_To be written_ + +## Preconditions + +- _To be written_ + +## Test Steps + +| Step | Action | Expected Result | +|------|--------|-----------------| +| 1 | _To be written_ | _To be written_ | + +## Expected Results + +- _To be written_ diff --git a/doc/test-cases/smoke/windows/TC-0001-installation-on-windows.md b/doc/test-cases/smoke/windows/TC-0001-installation-on-windows.md new file mode 100644 index 0000000000000..99b4e424fb433 --- /dev/null +++ b/doc/test-cases/smoke/windows/TC-0001-installation-on-windows.md @@ -0,0 +1,27 @@ + + +# TC-0001: Installation on Windows + +- **Platform:** Windows +- **Related Issues:** None yet + +## Description + +_To be written_ + +## Preconditions + +- _To be written_ + +## Test Steps + +| Step | Action | Expected Result | +|------|--------|-----------------| +| 1 | _To be written_ | _To be written_ | + +## Expected Results + +- _To be written_