64 lines
3 KiB
Gherkin
64 lines
3 KiB
Gherkin
@javascript
|
|
Feature: reporting of posts and comments
|
|
|
|
Background:
|
|
Given a user with username "bob"
|
|
And a moderator with email "alice@alice.alice"
|
|
And "bob@bob.bob" has a public post with text "I'm a post by Bob"
|
|
And the terms of use are enabled
|
|
|
|
Scenario: User can report a post, but cannot report it twice
|
|
Given I sign in as "alice@alice.alice"
|
|
And I am on the public stream page
|
|
When I hover over the ".stream-element"
|
|
And I click to report the post
|
|
Then I should see the report modal
|
|
And I should see "Please only report content that violates"
|
|
When I fill in "report-reason-field" with "That's my reason"
|
|
And I submit the form
|
|
Then I should see a success flash message containing "The report has successfully been created"
|
|
When I hover over the ".stream-element"
|
|
And I click to report the post
|
|
And I fill in "report-reason-field" with "That's my reason2"
|
|
And I submit the form
|
|
Then I should see an error flash message containing "The report already exists"
|
|
When I go to the report page
|
|
Then I should see a report by "alice@alice.alice" with reason "That's my reason" on post "I'm a post by Bob"
|
|
And "alice@alice.alice" should have received an email with subject "A new post was marked as offensive"
|
|
|
|
Scenario: User can report a comment, but cannot report it twice
|
|
Given "bob@bob.bob" has commented "Bob comment" on "I'm a post by Bob"
|
|
And I sign in as "alice@alice.alice"
|
|
And I am on the public stream page
|
|
When I hover over the ".comment"
|
|
And I click to report the comment
|
|
Then I should see the report modal
|
|
When I fill in "report-reason-field" with "That's my reason"
|
|
And I submit the form
|
|
Then I should see a success flash message containing "The report has successfully been created"
|
|
When I hover over the ".comment"
|
|
And I click to report the comment
|
|
And I fill in "report-reason-field" with "That's my reason2"
|
|
And I submit the form
|
|
Then I should see an error flash message containing "The report already exists"
|
|
When I go to the report page
|
|
Then I should see a report by "alice@alice.alice" with reason "That's my reason" on comment "Bob comment"
|
|
And "alice@alice.alice" should have received an email with subject "A new comment was marked as offensive"
|
|
|
|
Scenario: The correct post is reported
|
|
Given "bob@bob.bob" has a public post with text "I'm a second post by Bob"
|
|
And I sign in as "alice@alice.alice"
|
|
And I am on the public stream page
|
|
When I hover over the ".stream-element:nth-child(2)"
|
|
And I click to report the post
|
|
And I fill in "report-reason-field" with "post 1"
|
|
And I close the modal
|
|
And I hover over the ".stream-element:first-child"
|
|
And I click to report the post
|
|
Then the "report-reason" field should be filled with ""
|
|
When I fill in "report-reason-field" with "post 2"
|
|
And I submit the form
|
|
And I go to the report page
|
|
Then I should see "I'm a second post by Bob" within ".content"
|
|
And I should see "post 2" within ".reason"
|
|
And I should see "alice" within ".reporter"
|