mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-31 01:10:20 -06:00
171 lines
8.0 KiB
Gherkin
171 lines
8.0 KiB
Gherkin
@api
|
|
Feature: full text search
|
|
As a user
|
|
I want to do full text search
|
|
So that I can find the files with the content I am looking for
|
|
|
|
Background:
|
|
Given user "Alice" has been created with default attributes and without skeleton files
|
|
|
|
|
|
Scenario Outline: search files by tag
|
|
Given using <dav-path-version> DAV path
|
|
And user "Alice" has created the following folders
|
|
| path |
|
|
| folderWithFile |
|
|
| folderWithFile/subFolder/ |
|
|
And user "Alice" has uploaded the following files with content "some data"
|
|
| path |
|
|
| fileInRootLevel.txt |
|
|
| folderWithFile/fileInsideFolder.txt |
|
|
| folderWithFile/subFolder/fileInsideSubFolder.txt |
|
|
And user "Alice" has created the following tags for file "fileInRootLevel.txt" of the space "Personal":
|
|
| tag1 |
|
|
And user "Alice" has created the following tags for file "folderWithFile/fileInsideFolder.txt" of the space "Personal":
|
|
| tag1 |
|
|
And user "Alice" has created the following tags for file "folderWithFile/subFolder/fileInsideSubFolder.txt" of the space "Personal":
|
|
| tag1 |
|
|
When user "Alice" searches for "Tags:tag1" using the WebDAV API
|
|
Then the HTTP status code should be "207"
|
|
And the search result of user "Alice" should contain only these files:
|
|
| fileInRootLevel.txt |
|
|
| fileInsideFolder.txt |
|
|
| fileInsideSubFolder.txt |
|
|
Examples:
|
|
| dav-path-version |
|
|
| old |
|
|
| new |
|
|
| spaces |
|
|
|
|
|
|
Scenario Outline: search project space files by tag
|
|
Given using spaces DAV path
|
|
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
|
And user "Alice" has created a space "tag-space" with the default quota using the GraphApi
|
|
And user "Alice" has created a folder "spacesFolderWithFile/spacesSubFolder" in space "tag-space"
|
|
And user "Alice" has uploaded a file inside space "tag-space" with content "tagged file" to "spacesFile.txt"
|
|
And user "Alice" has uploaded a file inside space "tag-space" with content "untagged file" to "spacesFileWithoutTag.txt"
|
|
And user "Alice" has uploaded a file inside space "tag-space" with content "tagged file in folder" to "spacesFolderWithFile/spacesFileInsideFolder.txt"
|
|
And user "Alice" has uploaded a file inside space "tag-space" with content "tagged file in subfolder" to "spacesFolderWithFile/spacesSubFolder/spacesFileInsideSubFolder.txt"
|
|
And user "Alice" has created the following tags for file "spacesFile.txt" of the space "tag-space":
|
|
| tag1 |
|
|
And user "Alice" has created the following tags for file "spacesFolderWithFile/spacesFileInsideFolder.txt" of the space "tag-space":
|
|
| tag1 |
|
|
And user "Alice" has created the following tags for file "spacesFolderWithFile/spacesSubFolder/spacesFileInsideSubFolder.txt" of the space "tag-space":
|
|
| tag1 |
|
|
And using <dav-path-version> DAV path
|
|
When user "Alice" searches for "Tags:tag1" using the WebDAV API
|
|
Then the HTTP status code should be "207"
|
|
And the search result of user "Alice" should contain only these files:
|
|
| spacesFile.txt |
|
|
| spacesFileInsideFolder.txt |
|
|
| spacesFileInsideSubFolder.txt |
|
|
Examples:
|
|
| dav-path-version |
|
|
| old |
|
|
| new |
|
|
| spaces |
|
|
|
|
|
|
Scenario Outline: search folders using a tag
|
|
Given using <dav-path-version> DAV path
|
|
And user "Alice" has created folder "uploadFolder1"
|
|
And user "Alice" has created folder "uploadFolder2"
|
|
And user "Alice" has created folder "uploadFolder3"
|
|
And user "Alice" has created the following tags for folder "uploadFolder1" of the space "Personal":
|
|
| tag1 |
|
|
And user "Alice" has created the following tags for folder "uploadFolder2" of the space "Personal":
|
|
| tag1 |
|
|
When user "Alice" searches for "Tags:tag1" using the WebDAV API
|
|
Then the HTTP status code should be "207"
|
|
And the search result of user "Alice" should contain only these entries:
|
|
| uploadFolder1 |
|
|
| uploadFolder2 |
|
|
Examples:
|
|
| dav-path-version |
|
|
| old |
|
|
| new |
|
|
| spaces |
|
|
|
|
|
|
Scenario Outline: sharee searches shared files using a tag
|
|
Given using <dav-path-version> DAV path
|
|
And user "Brian" has been created with default attributes and without skeleton files
|
|
And user "Alice" has created folder "uploadFolder"
|
|
And user "Alice" has uploaded file with content "hello world" to "uploadFolder/file1.txt"
|
|
And user "Alice" has uploaded file with content "Namaste nepal" to "uploadFolder/file2.txt"
|
|
And user "Alice" has uploaded file with content "hello nepal" to "uploadFolder/file3.txt"
|
|
And user "Alice" has created the following tags for file "uploadFolder/file1.txt" of the space "Personal":
|
|
| tag1 |
|
|
And user "Alice" has shared folder "/uploadFolder" with user "Brian"
|
|
And user "Brian" has accepted share "/uploadFolder" offered by user "Alice"
|
|
And user "Brian" has created the following tags for file "uploadFolder/file2.txt" of the space "Shares":
|
|
| tag1 |
|
|
When user "Brian" searches for "Tags:tag1" using the WebDAV API
|
|
Then the HTTP status code should be "207"
|
|
And the search result of user "Brian" should contain only these files:
|
|
| file1.txt |
|
|
| file2.txt |
|
|
Examples:
|
|
| dav-path-version |
|
|
| old |
|
|
| new |
|
|
| spaces |
|
|
|
|
|
|
Scenario Outline: search files using a deleted tag
|
|
Given using <dav-path-version> DAV path
|
|
And user "Alice" has uploaded file with content "hello world" to "file1.txt"
|
|
And user "Alice" has created the following tags for file "file1.txt" of the space "Personal":
|
|
| tag1 |
|
|
And user "Alice" has removed the following tags for file "file1.txt" of space "Personal":
|
|
| tag1 |
|
|
When user "Alice" searches for "Tags:tag1" using the WebDAV API
|
|
Then the HTTP status code should be "207"
|
|
And the search result should contain "0" entries
|
|
Examples:
|
|
| dav-path-version |
|
|
| old |
|
|
| new |
|
|
| spaces |
|
|
|
|
|
|
Scenario Outline: search restored files using a tag
|
|
Given using <dav-path-version> DAV path
|
|
And user "Alice" has uploaded file with content "hello world" to "file1.txt"
|
|
And user "Alice" has uploaded file with content "Namaste nepal" to "file2.txt"
|
|
And user "Alice" has created the following tags for file "file1.txt" of the space "Personal":
|
|
| tag1 |
|
|
And user "Alice" has deleted file "/file1.txt"
|
|
And user "Alice" has restored the file with original path "/file1.txt"
|
|
When user "Alice" searches for "Tags:tag1" using the WebDAV API
|
|
Then the HTTP status code should be "207"
|
|
And the search result of user "Alice" should contain only these entries:
|
|
| /file1.txt |
|
|
Examples:
|
|
| dav-path-version |
|
|
| old |
|
|
| new |
|
|
| spaces |
|
|
|
|
|
|
Scenario Outline: search files inside the folder
|
|
Given using <dav-path-version> DAV path
|
|
And user "Alice" has uploaded file with content "hello world inside root" to "file1.txt"
|
|
And user "Alice" has created folder "/Folder"
|
|
And user "Alice" has uploaded file with content "hello world inside folder" to "/Folder/file2.txt"
|
|
And user "Alice" has created folder "/Folder/SubFolder"
|
|
And user "Alice" has uploaded file with content "hello world inside sub-folder" to "/Folder/SubFolder/file3.txt"
|
|
When user "Alice" searches for "file" inside folder "/Folder" using the WebDAV API
|
|
Then the HTTP status code should be "207"
|
|
And the search result of user "Alice" should contain only these entries:
|
|
| file2.txt |
|
|
| file3.txt |
|
|
But the search result of user "Alice" should not contain these entries:
|
|
| file1.txt |
|
|
Examples:
|
|
| dav-path-version |
|
|
| old |
|
|
| new |
|
|
| spaces |
|