332 lines
14 KiB
Gherkin
332 lines
14 KiB
Gherkin
|
|
@comments
|
||
|
|
Feature: Comment Moderation
|
||
|
|
In order to avoid spam and troll comments
|
||
|
|
As an author
|
||
|
|
I'd like to be able to moderate comments
|
||
|
|
|
||
|
|
|
||
|
|
Scenario: Turn off comments from anonymous users who can still leave kudos
|
||
|
|
Given I am logged in as "author"
|
||
|
|
And I set up the draft "No Anons"
|
||
|
|
And I choose "Only registered users can comment"
|
||
|
|
And I post the work without preview
|
||
|
|
And I am logged out
|
||
|
|
When I view the work "No Anons"
|
||
|
|
Then I should see "Sorry, this work doesn't allow non-Archive users to comment."
|
||
|
|
When I press "Kudos ♥"
|
||
|
|
Then I should see "Thank you for leaving kudos"
|
||
|
|
|
||
|
|
Scenario: Turn off comments from everyone, but everyone can still leave kudos
|
||
|
|
Given I am logged in as "author"
|
||
|
|
And I set up the draft "No Comments"
|
||
|
|
And I choose "No one can comment"
|
||
|
|
And I post the work without preview
|
||
|
|
When I am logged out
|
||
|
|
And I view the work "No Comments"
|
||
|
|
Then I should see "Sorry, this work doesn't allow comments."
|
||
|
|
When I press "Kudos ♥"
|
||
|
|
Then I should see "Thank you for leaving kudos"
|
||
|
|
When I am logged in as "fan"
|
||
|
|
And I view the work "No Comments"
|
||
|
|
Then I should see "Sorry, this work doesn't allow comments."
|
||
|
|
When I press "Kudos ♥"
|
||
|
|
Then I should see "Thank you for leaving kudos"
|
||
|
|
|
||
|
|
Scenario: Turn on moderation
|
||
|
|
Given I am logged in as "author"
|
||
|
|
And I set up the draft "Moderation"
|
||
|
|
And I check "Enable comment moderation"
|
||
|
|
And I post the work without preview
|
||
|
|
And I post a chapter for the work "Moderation"
|
||
|
|
Then comment moderation should be enabled on "Moderation"
|
||
|
|
When I am logged in as "commenter"
|
||
|
|
And I go to the work "Moderation" in full mode
|
||
|
|
Then I should see "This work's creator has chosen to moderate comments on the work. Your comment will not appear until it has been approved by the creator."
|
||
|
|
When I go to the 2nd chapter of the work "Moderation"
|
||
|
|
Then I should see "This work's creator has chosen to moderate comments on the work. Your comment will not appear until it has been approved by the creator."
|
||
|
|
|
||
|
|
Scenario: Post a moderated comment
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
When I am logged in as "commenter"
|
||
|
|
And I post the comment "Fail comment" on the work "Moderation"
|
||
|
|
Then I should see "Your comment was received! It will appear publicly after the work creator has approved it."
|
||
|
|
And I should see "Edit"
|
||
|
|
And I should see "Delete"
|
||
|
|
And I should see "Fail comment"
|
||
|
|
And I should not see "by author"
|
||
|
|
And the comment on "Moderation" should be marked as unreviewed
|
||
|
|
And I should not see "Unreviewed Comments (1)"
|
||
|
|
And I should not see "Comments:1"
|
||
|
|
And "author" should be emailed
|
||
|
|
And the email to "author" should contain "will not appear until you approve"
|
||
|
|
And the email to "author" should contain "Review comments on"
|
||
|
|
And the email to "author" should not contain "Reply"
|
||
|
|
When I post the comment "another comment" on the work "Moderation" as a guest
|
||
|
|
Then I should see "will appear publicly after the work creator has approved"
|
||
|
|
And I should be on the "Moderation" work page
|
||
|
|
And I should not see "Comments:1"
|
||
|
|
And I should not see "Comments:2"
|
||
|
|
And I should not see "another comment"
|
||
|
|
And I should not see "Edit"
|
||
|
|
And I should not see "Delete"
|
||
|
|
|
||
|
|
@disable_caching
|
||
|
|
Scenario: Edit a moderated comment
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I post the comment "Fail comment" on the work "Moderation"
|
||
|
|
And it is currently 1 second from now
|
||
|
|
When I follow "Edit"
|
||
|
|
And I fill in "Comment" with "Edited unfail comment"
|
||
|
|
And I press "Update"
|
||
|
|
Then I should see "Comment was successfully updated"
|
||
|
|
When I reload the comments on "Moderation"
|
||
|
|
And I am logged in as "author"
|
||
|
|
And I view the work "Moderation"
|
||
|
|
And I follow "Unreviewed Comments (1)"
|
||
|
|
Then I should see "Edited unfail comment"
|
||
|
|
|
||
|
|
Scenario: Author comments do not need to be approved
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I post the comment "Fail comment" on the work "Moderation"
|
||
|
|
Then I should not see "It will appear publicly after the work creator has approved it."
|
||
|
|
And the comment on "Moderation" should not be marked as unreviewed
|
||
|
|
And I should see "Comment created"
|
||
|
|
And I should not see "Unreviewed Comments (1)"
|
||
|
|
And I should see "Comments:1"
|
||
|
|
|
||
|
|
Scenario: Moderated comments can be approved by the author
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I post the comment "Test comment" on the work "Moderation"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I view the work "Moderation"
|
||
|
|
Then I should see "Unreviewed Comments (1)"
|
||
|
|
And the comment on "Moderation" should be marked as unreviewed
|
||
|
|
When I follow "Unreviewed Comments (1)"
|
||
|
|
Then I should see "Test comment"
|
||
|
|
When I press "Approve"
|
||
|
|
Then I should see "Comment approved"
|
||
|
|
When I am logged out
|
||
|
|
And I view the work "Moderation"
|
||
|
|
Then I should see "Comments:1"
|
||
|
|
And I should see "Comments (1)"
|
||
|
|
When I follow "Comments (1)"
|
||
|
|
Then I should see "Test comment"
|
||
|
|
And the comment on "Moderation" should not be marked as unreviewed
|
||
|
|
|
||
|
|
Scenario: Moderated comments can be approved from the inbox
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I post the comment "Test comment" on the work "Moderation"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I go to author's inbox page
|
||
|
|
Then I should see "Test comment"
|
||
|
|
And I should not see "Reply"
|
||
|
|
And I should see "Unreviewed"
|
||
|
|
# we can only test the non-javascript version here
|
||
|
|
When I follow "Unreviewed Comments"
|
||
|
|
And I press "Approve"
|
||
|
|
And I go to author's inbox page
|
||
|
|
Then I should see "Reply"
|
||
|
|
And I should not see "Unreviewed"
|
||
|
|
And I should not see "Unread"
|
||
|
|
When I view the work "Moderation"
|
||
|
|
Then I should see "Comments:1"
|
||
|
|
And I should see "Comments (1)"
|
||
|
|
And I should not see "Unreviewed Comments (1)"
|
||
|
|
|
||
|
|
Scenario: Comments can be approved from the home page inbox
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I post the comment "Test comment" on the work "Moderation"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I go to the home page
|
||
|
|
Then I should see "Test comment"
|
||
|
|
And I should see "Unreviewed"
|
||
|
|
And I should not see "Reply"
|
||
|
|
# we can only test the non-javascript version here
|
||
|
|
When I follow "Unreviewed Comments"
|
||
|
|
And I press "Approve"
|
||
|
|
And I view the work "Moderation"
|
||
|
|
Then I should see "Comments:1"
|
||
|
|
And I should see "Comments (1)"
|
||
|
|
And I should not see "Unreviewed Comments (1)"
|
||
|
|
|
||
|
|
Scenario: Moderated comments can be deleted by the author
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I post the comment "Test comment" on the work "Moderation"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I view the unreviewed comments page for "Moderation"
|
||
|
|
# The following won't work until deleting comments without javascript is fixed
|
||
|
|
# And I delete the comment
|
||
|
|
# Then I should see "Comment deleted"
|
||
|
|
# And I should not see "Test comment"
|
||
|
|
# And I should see "No unreviewed comments"
|
||
|
|
|
||
|
|
Scenario: Moderation should work on threaded comments
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
And I am logged in as "author"
|
||
|
|
And I post the comment "Test comment" on the work "Moderation"
|
||
|
|
When I am logged in as "commenter"
|
||
|
|
And I view the work "Moderation"
|
||
|
|
And I follow "Comments (1)"
|
||
|
|
And I follow "Reply" within ".odd"
|
||
|
|
And I fill in "Comment" with "A moderated reply" within ".odd"
|
||
|
|
And I press "Comment" within ".odd"
|
||
|
|
Then I should see "It will appear publicly"
|
||
|
|
And I should see "A moderated reply"
|
||
|
|
And I should not see "Test comment"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I view the unreviewed comments page for "Moderation"
|
||
|
|
Then I should see "A moderated reply"
|
||
|
|
When I press "Approve"
|
||
|
|
Then I should see "Comment approved"
|
||
|
|
When I view the work "Moderation"
|
||
|
|
And I follow "Comments (2)"
|
||
|
|
Then I should see "A moderated reply" within ".even"
|
||
|
|
|
||
|
|
Scenario: The author cannot reply to unapproved comments
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I post the comment "Test comment" on the work "Moderation"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I view the unreviewed comments page for "Moderation"
|
||
|
|
Then I should not see "Reply"
|
||
|
|
|
||
|
|
Scenario: The commenter can edit their unapproved comment
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I set my preferences to turn on copies of my own comments
|
||
|
|
And I post the comment "Test comment" on the work "Moderation"
|
||
|
|
Then "commenter" should be emailed
|
||
|
|
And the email to "commenter" should contain "will not appear until approved"
|
||
|
|
When I visit the thread for the comment on "Moderation"
|
||
|
|
Then I should see "Test comment"
|
||
|
|
And I should see "Delete"
|
||
|
|
When I edit a comment
|
||
|
|
Then I should see "Comment was successfully updated"
|
||
|
|
|
||
|
|
Scenario: Users should not see unapproved replies to their own comments
|
||
|
|
Given the moderated work "Moderation" by "author" with the approved comment "Test comment" by "commenter"
|
||
|
|
And I am logged in as "new_commenter"
|
||
|
|
And I set my preferences to turn on copies of my own comments
|
||
|
|
When I view the work "Moderation"
|
||
|
|
And I follow "Comments (1)"
|
||
|
|
And I follow "Reply" within ".odd"
|
||
|
|
And I fill in "Comment" with "A moderated reply" within ".odd"
|
||
|
|
And I press "Comment" within ".odd"
|
||
|
|
# emails should only be delivered to author and new_commenter
|
||
|
|
Then "author" should be emailed
|
||
|
|
And "new_commenter" should be emailed
|
||
|
|
And "commenter" should not be emailed
|
||
|
|
When all emails have been delivered
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I set my preferences to turn on copies of my own comments
|
||
|
|
And I go to commenter's inbox page
|
||
|
|
Then I should not see "A moderated reply"
|
||
|
|
When I view the work "Moderation"
|
||
|
|
And I follow "Comments (1)"
|
||
|
|
Then I should see "Test comment"
|
||
|
|
And I should not see "A moderated reply"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I view the unreviewed comments page for "Moderation"
|
||
|
|
And I press "Approve"
|
||
|
|
Then "commenter" should be emailed
|
||
|
|
And "author" should not be emailed
|
||
|
|
And "new_commenter" should not be emailed
|
||
|
|
When I am logged in as "commenter"
|
||
|
|
And I go to commenter's inbox page
|
||
|
|
Then I should see "A moderated reply"
|
||
|
|
|
||
|
|
Scenario: When I turn off moderation, comments stay unreviewed
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I post the comment "Interesting Comment" on the work "Moderation"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I edit the work "Moderation"
|
||
|
|
And I uncheck "Enable comment moderation"
|
||
|
|
And I post the work without preview
|
||
|
|
Then comment moderation should not be enabled on "Moderation"
|
||
|
|
When I view the work "Moderation"
|
||
|
|
Then I should see "Unreviewed Comments"
|
||
|
|
And I should not see "Comments:1"
|
||
|
|
When I go to author's inbox page
|
||
|
|
Then I should not see "Reply"
|
||
|
|
When I am logged in as "commenter"
|
||
|
|
And I view the work "Moderation"
|
||
|
|
Then I should not see "has chosen to moderate comments"
|
||
|
|
And I should not see "Interesting Comment"
|
||
|
|
When I post the comment "New Comment" on the work "Moderation"
|
||
|
|
And I view the work "Moderation"
|
||
|
|
Then I should see "Comments:1"
|
||
|
|
When I follow "Comments (1)"
|
||
|
|
Then I should see "New Comment"
|
||
|
|
And I should not see "Interesting Comment"
|
||
|
|
|
||
|
|
Scenario: When an approved comment is edited significantly it gets moderated again
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I post the comment "Interesting Comment" on the work "Moderation"
|
||
|
|
And I am logged in as "author"
|
||
|
|
And I view the unreviewed comments page for "Moderation"
|
||
|
|
And I press "Approve"
|
||
|
|
When it is currently 1 second from now
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I view the work "Moderation"
|
||
|
|
And I follow "Comments (1)"
|
||
|
|
And I follow "Edit"
|
||
|
|
And I fill in "Comment" with "Interesting Commentary"
|
||
|
|
And I press "Update"
|
||
|
|
When I reload the comments on "Moderation"
|
||
|
|
And I view the work "Moderation"
|
||
|
|
Then I should see "Comments (1)"
|
||
|
|
When I follow "Comments (1)"
|
||
|
|
Then I should see "Interesting Commentary"
|
||
|
|
When it is currently 1 second from now
|
||
|
|
And I follow "Edit"
|
||
|
|
And I fill in "Comment" with "AHAHAHA LOOK I HAVE TOTALLY CHANGED IT"
|
||
|
|
And it is currently 1 second from now
|
||
|
|
And I press "Update"
|
||
|
|
Then the comment on "Moderation" should be marked as unreviewed
|
||
|
|
And I should not see "Comments:"
|
||
|
|
And I should not see "Comments (1)"
|
||
|
|
|
||
|
|
Scenario: I can approve multiple comments at once
|
||
|
|
Given the moderated work "Moderation" by "author"
|
||
|
|
And I am logged in as "commenter"
|
||
|
|
And I post the comment "One Comment" on the work "Moderation"
|
||
|
|
And I post the comment "Two Comment" on the work "Moderation"
|
||
|
|
And I post the comment "Three Comment" on the work "Moderation"
|
||
|
|
And I post the comment "Four Comment" on the work "Moderation"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I view the unreviewed comments page for "Moderation"
|
||
|
|
And I press "Approve All"
|
||
|
|
Then I should see "All moderated comments approved."
|
||
|
|
When I view the work "Moderation"
|
||
|
|
Then I should see "Comments (4)"
|
||
|
|
|
||
|
|
Scenario: I can view the parent thread of an unreviewed comment
|
||
|
|
Given the moderated work "Moderation" by "author" with the approved comment "Test comment" by "commenter"
|
||
|
|
And I am logged in as "new_commenter"
|
||
|
|
When I view the work "Moderation"
|
||
|
|
And I follow "Comments (1)"
|
||
|
|
And I follow "Reply" within ".odd"
|
||
|
|
And I fill in "Comment" with "A moderated reply" within ".odd"
|
||
|
|
And I press "Comment" within ".odd"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I view the work "Moderation"
|
||
|
|
And I follow "Unreviewed Comments (1)"
|
||
|
|
And I follow "Parent Thread"
|
||
|
|
Then I should see "Test comment"
|
||
|
|
When I view the unreviewed comments page for "Moderation"
|
||
|
|
And I press "Approve"
|
||
|
|
When I am logged in as "new_commenter"
|
||
|
|
And I post the comment "Zero-depth comment" on the work "Moderation"
|
||
|
|
When I am logged in as "author"
|
||
|
|
And I view the work "Moderation"
|
||
|
|
And I follow "Unreviewed Comments (1)"
|
||
|
|
Then I should not see "Parent Thread"
|