diff options
Diffstat (limited to 'features/messages.feature')
| -rw-r--r-- | features/messages.feature | 66 | 
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: +      """ +      [] +      """ | 
