Skip to content

Commit

Permalink
adding test for disabling mail notifications for space disabled event
Browse files Browse the repository at this point in the history
  • Loading branch information
nirajacharya2 committed Jan 21, 2025
1 parent 5cc79d9 commit 38a692d
Show file tree
Hide file tree
Showing 2 changed files with 114 additions and 2 deletions.
2 changes: 1 addition & 1 deletion tests/acceptance/bootstrap/SettingsContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,7 @@ public function getBodyForNotificationSetting(string $user, string $event): arra
)->getBody()->getContents()
));
foreach ($settingsValues->bundles[0]->settings as $settingsValue) {
if ($settingsValue->displayName === $event) {
if ($settingsValue->displayName === $event) {
return [
"value" => [
"account_uuid" => "me",
Expand Down
114 changes: 113 additions & 1 deletion tests/acceptance/features/apiSettings/notificationSetting.feature
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ Feature: Notification Settings


Scenario: disable email notification
Given user "Alice" has uploaded file with content "some data" to "lorem.txt"
When user "Brian" disables email notification using the settings API
Then the HTTP status code should be "201"
And the JSON data of the response should match
Expand Down Expand Up @@ -211,4 +210,117 @@ Feature: Notification Settings
And user "Brian" should have "0" emails
When user "Brian" lists all notifications
Then the HTTP status code should be "200"
And the notifications should be empty


Scenario: disable in-app notification for Space disabled event
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And user "Alice" has created a space "new-space" with the default quota using the Graph API
And user "Alice" has sent the following space share invitation:
| space | new-space |
| sharee | Brian |
| shareType | user |
| permissionsRole | Space Viewer |
And user "Brian" has deleted all notifications
When user "Brian" disables notification for the following events using the settings API:
| Space disabled | in-app |
Then the HTTP status code should be "201"
And the JSON data of the response should match
"""
{
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "object",
"required": ["identifier","value"],
"properties": {
"identifier":{
"type": "object",
"required": ["extension","bundle","setting"],
"properties": {
"extension":{
"const": "ocis-accounts"
},
"bundle":{
"const": "profile"
},
"setting":{
"const": "event-space-disabled-options"
}
}
},
"value":{
"type": "object",
"required": [
"id",
"bundleId",
"settingId",
"accountUuid",
"resource",
"collectionValue"
],
"properties":{
"id":{
"pattern":"%user_id_pattern%"
},
"bundleId":{
"pattern":"%user_id_pattern%"
},
"settingId":{
"pattern":"%user_id_pattern%"
},
"accountUuid":{
"pattern":"%user_id_pattern%"
},
"resource":{
"type": "object",
"required":["type"],
"properties": {
"type":{
"const": "TYPE_USER"
}
}
},
"collectionValue":{
"type": "object",
"required":["values"],
"properties": {
"values":{
"type": "array",
"maxItems": 1,
"minItems": 1,
"uniqueItems": true,
"items": {
"oneOf": [
{
"type": "object",
"required": [
"key",
"boolValue"
],
"properties": {
"key":{
"const": "in-app"
},
"boolValue":{
"const": false
}
}
}
]
}
}
}
}
}
}
}
}
}
}
"""
And user "Alice" has disabled a space "new-space"
When user "Brian" lists all notifications
Then the HTTP status code should be "200"
And the notifications should be empty

0 comments on commit 38a692d

Please sign in to comment.