-
Notifications
You must be signed in to change notification settings - Fork 187
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6bfbc69
commit 46e0950
Showing
3 changed files
with
295 additions
and
26 deletions.
There are no files selected for viewing
241 changes: 241 additions & 0 deletions
241
tests/acceptance/features/apiEmailNotification/notification.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,241 @@ | ||
@api | ||
Feature: Notification | ||
As a user | ||
I want to be notified of actions | ||
So that I can stay updated about the information | ||
|
||
Background: | ||
Given these users have been created with default attributes and without skeleton files: | ||
| username | | ||
| Alice | | ||
| Brian | | ||
| Carol | | ||
And user "Alice" has uploaded file with content "other data" to "/textfile1.txt" | ||
And user "Alice" has created folder "my_data" | ||
|
||
Scenario Outline: user gets a notification of resource sharing | ||
And user "Alice" has shared entry "<resource>" with user "Brian" | ||
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 "Resource shared" and the message-details should match | ||
""" | ||
{ | ||
"type": "object", | ||
"required": [ | ||
"app", | ||
"datetime", | ||
"message", | ||
"messageRich", | ||
"messageRichParameters", | ||
"notification_id", | ||
"object_id", | ||
"object_type", | ||
"subject", | ||
"subjectRich", | ||
"user" | ||
], | ||
"properties": { | ||
"app": { | ||
"type": "string", | ||
"enum": ["userlog"] | ||
}, | ||
"message": { | ||
"type": "string", | ||
"enum": ["Alice Hansen shared <resource> with you"] | ||
}, | ||
"messageRich": { | ||
"type": "string", | ||
"enum": ["{user} shared {resource} with you"] | ||
}, | ||
"messageRichParameters": { | ||
"type": "object", | ||
"required": [ | ||
"resource", | ||
"user" | ||
], | ||
"properties": { | ||
"resource": { | ||
"type": "object", | ||
"required": [ | ||
"id", | ||
"name" | ||
], | ||
"properties": { | ||
"id": { | ||
"type": "string", | ||
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\\$[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}![a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" | ||
}, | ||
"name": { | ||
"type": "string", | ||
"enum": ["<resource>"] | ||
} | ||
} | ||
}, | ||
"user": { | ||
"type": "object", | ||
"required": [ | ||
"displayname", | ||
"id", | ||
"name" | ||
], | ||
"properties": { | ||
"displayname": { | ||
"type": "string", | ||
"enum": ["Alice Hansen"] | ||
}, | ||
"id": { | ||
"type": "string", | ||
"enim": ["%user_id%"] | ||
}, | ||
"name": { | ||
"type": "string", | ||
"enum": ["Alice"] | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"notification_id": { | ||
"type": "string" | ||
}, | ||
"object_id": { | ||
"type": "string" | ||
}, | ||
"object_type": { | ||
"type": "string", | ||
"enum": ["share"] | ||
}, | ||
"subject": { | ||
"type": "string", | ||
"enum": ["Resource shared"] | ||
}, | ||
"subjectRich": { | ||
"type": "string", | ||
"enum": ["Resource shared"] | ||
}, | ||
"user": { | ||
"type": "string", | ||
"enum": ["Alice"] | ||
} | ||
} | ||
} | ||
""" | ||
Examples: | ||
| resource | | ||
| textfile1.txt | | ||
| my_data | | ||
|
||
|
||
Scenario Outline: user gets a notification of unsharing resource | ||
And 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 folder "<resource>" for "Brian" | ||
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 "Resource unshared" and the message-details should match | ||
""" | ||
{ | ||
"type": "object", | ||
"required": [ | ||
"app", | ||
"datetime", | ||
"message", | ||
"messageRich", | ||
"messageRichParameters", | ||
"notification_id", | ||
"object_id", | ||
"object_type", | ||
"subject", | ||
"subjectRich", | ||
"user" | ||
], | ||
"properties": { | ||
"app": { | ||
"type": "string", | ||
"enum": ["userlog"] | ||
}, | ||
"message": { | ||
"type": "string", | ||
"enum": ["Alice Hansen unshared <resource> with you"] | ||
}, | ||
"messageRich": { | ||
"type": "string", | ||
"enum": ["{user} unshared {resource} with you"] | ||
}, | ||
"messageRichParameters": { | ||
"type": "object", | ||
"required": [ | ||
"resource", | ||
"user" | ||
], | ||
"properties": { | ||
"resource": { | ||
"type": "object", | ||
"required": [ | ||
"id", | ||
"name" | ||
], | ||
"properties": { | ||
"id": { | ||
"type": "string", | ||
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\\$[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}![a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" | ||
}, | ||
"name": { | ||
"type": "string", | ||
"enum": ["<resource>"] | ||
} | ||
} | ||
}, | ||
"user": { | ||
"type": "object", | ||
"required": [ | ||
"displayname", | ||
"id", | ||
"name" | ||
], | ||
"properties": { | ||
"displayname": { | ||
"type": "string", | ||
"enum": ["Alice Hansen"] | ||
}, | ||
"id": { | ||
"type": "string", | ||
"enim": ["%user_id%"] | ||
}, | ||
"name": { | ||
"type": "string", | ||
"enum": ["Alice"] | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"notification_id": { | ||
"type": "string" | ||
}, | ||
"object_id": { | ||
"type": "string" | ||
}, | ||
"object_type": { | ||
"type": "string", | ||
"enum": ["share"] | ||
}, | ||
"subject": { | ||
"type": "string", | ||
"enum": ["Resource unshared"] | ||
}, | ||
"subjectRich": { | ||
"type": "string", | ||
"enum": ["Resource unshared"] | ||
}, | ||
"user": { | ||
"type": "string", | ||
"enum": ["Alice"] | ||
} | ||
} | ||
} | ||
""" | ||
Examples: | ||
| resource | | ||
| textfile1.txt | | ||
| my_data | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters