summaryrefslogtreecommitdiff
path: root/features/messages.feature
diff options
context:
space:
mode:
authorazul <azul@leap.se>2014-07-18 12:21:49 +0200
committerazul <azul@leap.se>2014-07-18 12:21:49 +0200
commitbbd41c9bfd2cb88a88d7436dd58a8b46a5d10cf1 (patch)
tree00b39da219151473437c02ce35344117bcd5b2fa /features/messages.feature
parentade74d8a9091ae607586d7b287a0579a2ee7af8e (diff)
parent20352249fa5dafe3abb2d4b751b1e5c8c0a59abc (diff)
Merge pull request #180 from azul/feature/messages-api
Feature/messages api
Diffstat (limited to 'features/messages.feature')
-rw-r--r--features/messages.feature66
1 files changed, 66 insertions, 0 deletions
diff --git a/features/messages.feature b/features/messages.feature
new file mode 100644
index 0000000..69c5637
--- /dev/null
+++ b/features/messages.feature
@@ -0,0 +1,66 @@
+Feature: Receive messages for the user
+
+ In order to stay in touch with the provider
+ As an authenticated user
+ I want to receive messages from the provider
+
+ Background:
+ Given I authenticated
+ Given I set headers:
+ | Accept | application/json |
+ | Content-Type | application/json |
+ | Authorization | Token token="MY_AUTH_TOKEN" |
+
+ Scenario: There are no messages yet
+ When I send a GET request to "/1/messages.json"
+ Then the response status should be "200"
+ And the response should be:
+ """
+ []
+ """
+
+ Scenario: Fetch the unread messages
+ Given there is a message for me with:
+ | id | 1a2b3c4d |
+ | text | Your provider says hi ! |
+ When I send a GET request to "/1/messages.json"
+ Then the response status should be "200"
+ And the response should be:
+ """
+ [{
+ "id": "1a2b3c4d",
+ "text": "Your provider says hi !"
+ }]
+ """
+
+ Scenario: Send unread messages until marked as read
+ Given there is a message for me
+ And I have sent a GET request to "/1/messages.json"
+ When I send a GET request to "/1/messages.json"
+ Then the response status should be "200"
+ And the response should include that message
+
+ Scenario: Mark message as read
+ Given there is a message for me with:
+ | id | 1a2b3c4d |
+ When I send a PUT request to "/1/messages/1a2b3c4d.json"
+ Then that message should be marked as read
+ And the response status should be "200"
+ And the response should have "success" with "marked_as_read"
+ And the response should have "message"
+
+ Scenario: Message not found
+ When I send a PUT request to "/1/messages/1a2b3c4d.json"
+ Then the response status should be "404"
+ And the response should have "error" with "not_found"
+ And the response should have "message"
+
+ Scenario: Do not send read messages
+ Given there is a message for me
+ And that message is marked as read
+ When I send a GET request to "/1/messages.json"
+ Then the response status should be "200"
+ And the response should be:
+ """
+ []
+ """