diaspora/features/notifications.feature
2011-10-23 19:05:31 -07:00

94 lines
3.6 KiB
Gherkin

@javascript
Feature: Notifications
In order to see what is happening
As a User
I want to get notifications
Background:
Given a user with email "bob@bob.bob"
And a user with email "alice@alice.alice"
Scenario: someone shares with me
When I sign in as "bob@bob.bob"
And I am on "alice@alice.alice"'s page
And I add the person to my "Besties" aspect
And I go to the destroy user session page
When I sign in as "alice@alice.alice"
And I follow "notification" in the header
And I wait for the ajax to finish
Then the notification dropdown should be visible
Then I should see "started sharing with you"
When I follow "View all"
Then I should see "started sharing with you"
And I should have 1 email delivery
Scenario: someone re-shares my post
Given a user with email "bob@bob.bob" is connected with "alice@alice.alice"
And "alice@alice.alice" has a public post with text "check this out!"
When I sign in as "bob@bob.bob"
And I am on "alice@alice.alice"'s page
And I preemptively confirm the alert
And I follow "Reshare"
And I wait for the ajax to finish
And I go to the destroy user session page
When I sign in as "alice@alice.alice"
And I follow "notification" in the header
And I wait for the ajax to finish
Then the notification dropdown should be visible
And I wait for the ajax to finish
Then I should see "reshared your post"
When I follow "View all"
Then I should see "reshared your post"
And I should have 1 email delivery
Scenario: someone likes my post
Given a user with email "bob@bob.bob" is connected with "alice@alice.alice"
And "alice@alice.alice" has a public post with text "check this out!"
When I sign in as "bob@bob.bob"
And I am on "alice@alice.alice"'s page
And I preemptively confirm the alert
And I follow "Like"
And I wait for the ajax to finish
And I go to the destroy user session page
When I sign in as "alice@alice.alice"
And I follow "notification" in the header
And I wait for the ajax to finish
Then the notification dropdown should be visible
And I wait for the ajax to finish
Then I should see "liked your post"
When I follow "View all"
Then I should see "liked your post"
And I should have 1 email delivery
Scenario: someone comments on my post
Given a user with email "bob@bob.bob" is connected with "alice@alice.alice"
And "alice@alice.alice" has a public post with text "check this out!"
When I sign in as "bob@bob.bob"
And I am on "alice@alice.alice"'s page
And I focus the comment field
And I fill in "Comment" with "great post!"
And I press "Comment"
And I wait for the ajax to finish
And I go to the destroy user session page
When I sign in as "alice@alice.alice"
And I follow "notification" in the header
And I wait for the ajax to finish
Then the notification dropdown should be visible
And I wait for the ajax to finish
Then I should see "commented on your post"
When I follow "View all"
Then I should see "commented on your post"
And I should have 1 email delivery
Scenario: someone mentioned you on his post
Given a user with email "bob@bob.bob" is connected with "alice@alice.alice"
And Alice has a post mentioning Bob
When I sign in as "bob@bob.bob"
And I follow "notification" in the header
And I wait for the ajax to finish
Then the notification dropdown should be visible
And I wait for the ajax to finish
Then I should see "mentioned you in a post"
When I follow "View all"
Then I should see "mentioned you in a post"
And I should have 1 email delivery