mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-01 18:01:28 -06:00
Extend notification tests scenario for different language (#6365)
This commit is contained in:
@@ -240,3 +240,46 @@ Feature: Notification
|
||||
| resource |
|
||||
| textfile1.txt |
|
||||
| my_data |
|
||||
|
||||
|
||||
Scenario Outline: get a notification about a file share in various languages
|
||||
Given user "Brian" has switched the system language to "<language>"
|
||||
And user "Alice" has shared entry "textfile1.txt" with user "Brian" with permissions "17"
|
||||
When user "Brian" lists all notifications
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON response should contain a notification message with the subject "<subject>" and the message-details should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"<message>"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Examples:
|
||||
| language | subject | message |
|
||||
| de | Neue Freigabe | Alice Hansen hat textfile1.txt mit Ihnen geteilt |
|
||||
| en | Resource shared | Alice Hansen shared textfile1.txt with you |
|
||||
| es | Recurso compartido | Alice Hansen compartió textfile1.txt contigo |
|
||||
|
||||
|
||||
Scenario Outline: notifications related to a resource get deleted when the resource is deleted
|
||||
Given user "Alice" has shared entry "<resource>" with user "Brian"
|
||||
And user "Brian" has accepted share "/<resource>" offered by user "Alice"
|
||||
And user "Alice" has unshared entity "<resource>" shared to "Brian"
|
||||
And user "Alice" has deleted entity "/<resource>"
|
||||
When user "Brian" lists all notifications
|
||||
Then the HTTP status code should be "200"
|
||||
And the notifications should be empty
|
||||
Examples:
|
||||
| resource |
|
||||
| textfile1.txt |
|
||||
| my_data |
|
||||
|
||||
@@ -104,6 +104,17 @@ class NotificationContext implements Context {
|
||||
$this->featureContext->setResponse($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then the notifications should be empty
|
||||
*
|
||||
* @return void
|
||||
* @throws Exception
|
||||
*/
|
||||
public function theNotificationsShouldBeEmpty(): void {
|
||||
$notifications = $this->featureContext->getJsonDecodedResponseBodyContent()->ocs->data;
|
||||
Assert::assertNull($notifications, "response should not contain any notification");
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then /^the JSON response should contain a notification message with the subject "([^"]*)" and the message-details should match$/
|
||||
*
|
||||
|
||||
@@ -3354,16 +3354,16 @@ trait WebDav {
|
||||
}
|
||||
|
||||
/**
|
||||
* @Given /^user "([^"]*)" has (deleted|unshared) (file|folder) "([^"]*)"$/
|
||||
* @Given /^user "([^"]*)" has (deleted|unshared) (?:file|folder|entity) "([^"]*)"$/
|
||||
*
|
||||
* @param string $user
|
||||
* @param string $deletedOrUnshared
|
||||
* @param string $fileOrFolder
|
||||
* @param string $entry
|
||||
*
|
||||
* @return void
|
||||
* @throws Exception
|
||||
*/
|
||||
public function userHasDeletedFile(string $user, string $deletedOrUnshared, string $fileOrFolder, string $entry):void {
|
||||
public function userHasDeletedFile(string $user, string $deletedOrUnshared, string $entry):void {
|
||||
$user = $this->getActualUsername($user);
|
||||
$this->userDeletesFile($user, $entry);
|
||||
// If the file or folder was there and got deleted then we get a 204
|
||||
@@ -3380,30 +3380,28 @@ trait WebDav {
|
||||
|
||||
$this->theHTTPStatusCodeShouldBe(
|
||||
["204"],
|
||||
"HTTP status code was not 204 while trying to $deleteText $fileOrFolder '$entry' for user '$user'"
|
||||
"HTTP status code was not 204 while trying to $deleteText resource '$entry' for user '$user'"
|
||||
);
|
||||
$this->emptyLastHTTPStatusCodesArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Given /^user "([^"]*)" has (deleted|unshared) the following (files|folders|resources)$/
|
||||
* @Given /^user "([^"]*)" has (deleted|unshared) the following (?:files|folders|resources)$/
|
||||
*
|
||||
* @param string $user
|
||||
* @param string $deletedOrUnshared
|
||||
* @param string $fileOrFolder
|
||||
* @param TableNode $table
|
||||
*
|
||||
* @return void
|
||||
* @throws Exception
|
||||
*/
|
||||
public function userHasDeletedFollowingFiles(string $user, string $deletedOrUnshared, string $fileOrFolder, TableNode $table):void {
|
||||
public function userHasDeletedFollowingFiles(string $user, string $deletedOrUnshared, TableNode $table):void {
|
||||
$this->verifyTableNodeColumns($table, ["path"]);
|
||||
$paths = $table->getHash();
|
||||
|
||||
foreach ($paths as $file) {
|
||||
$this->userHasDeletedFile($user, $deletedOrUnshared, $fileOrFolder, $file["path"]);
|
||||
$this->userHasDeletedFile($user, $deletedOrUnshared, $file["path"]);
|
||||
}
|
||||
$this->emptyLastHTTPStatusCodesArray();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user