mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-05-05 02:20:28 -05:00
Extend notification tests scenario for different language (#6365)
This commit is contained in:
@@ -240,3 +240,46 @@ Feature: Notification
|
|||||||
| resource |
|
| resource |
|
||||||
| textfile1.txt |
|
| textfile1.txt |
|
||||||
| my_data |
|
| 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);
|
$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$/
|
* @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 $user
|
||||||
* @param string $deletedOrUnshared
|
* @param string $deletedOrUnshared
|
||||||
* @param string $fileOrFolder
|
|
||||||
* @param string $entry
|
* @param string $entry
|
||||||
*
|
*
|
||||||
* @return void
|
* @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);
|
$user = $this->getActualUsername($user);
|
||||||
$this->userDeletesFile($user, $entry);
|
$this->userDeletesFile($user, $entry);
|
||||||
// If the file or folder was there and got deleted then we get a 204
|
// If the file or folder was there and got deleted then we get a 204
|
||||||
@@ -3380,30 +3380,28 @@ trait WebDav {
|
|||||||
|
|
||||||
$this->theHTTPStatusCodeShouldBe(
|
$this->theHTTPStatusCodeShouldBe(
|
||||||
["204"],
|
["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();
|
$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 $user
|
||||||
* @param string $deletedOrUnshared
|
* @param string $deletedOrUnshared
|
||||||
* @param string $fileOrFolder
|
|
||||||
* @param TableNode $table
|
* @param TableNode $table
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
* @throws Exception
|
* @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"]);
|
$this->verifyTableNodeColumns($table, ["path"]);
|
||||||
$paths = $table->getHash();
|
$paths = $table->getHash();
|
||||||
|
|
||||||
foreach ($paths as $file) {
|
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