otwarchive-symphonyarchive/features/comments_and_kudos/spam_comments.feature

197 lines
7.8 KiB
Gherkin
Raw Permalink Normal View History

2026-03-11 22:22:11 +00:00
@comments
Feature: Marking comments as spam
Scenario: Spam comments are not included in a work's comment count
Given the work "Popular Fic" by "author" with guest comments enabled
And I view the work "Popular Fic" with comments
And I post a guest comment
And I post a spam comment
And all comments by "spammer" are marked as spam
When I am logged in as "author"
And I go to the home page
Then I should see "This was really lovely!"
And I should not see "Buy my product!"
When I follow "My Inbox"
Then I should see "(1 comments, 1 unread)"
And I should see "This was really lovely!"
And I should not see "Buy my product!"
When I go to author's user page
Then I should see "Popular Fic"
And I should see "Comments: 1"
When I follow "Popular Fic"
Then I should see "Comments:1"
And I should see "Comments (1)"
When I am logged in as "author"
And I go to author's stats page
Then I should see "Comment Threads: 1"
Scenario: Spam comments are not included in an admin post's comment count
Given the admin post "Default Admin Post"
And I go to the admin-posts page
And I follow "Default Admin Post"
And I post a guest comment
And I post a spam comment
And all comments by "spammer" are marked as spam
When I go to the admin-posts page
Then I should see "Default Admin Post (1)"
When I follow "Default Admin Post"
Then I should see "Comments (1)"
Scenario: Author can mark comments as spam
Given the work "Popular Fic" by "author" with guest comments enabled
When I view the work "Popular Fic" with comments
And I post a spam comment
And I post a guest comment
And I am logged in as "author"
And I view the work "Popular Fic" with comments
Then I should see "Comments (2)"
And I should see "Buy my product"
When I mark the comment as spam
Then I should see "Comments (1)"
And I should not see "Buy my product"
@javascript
Scenario: If Javascript is enabled, there's a confirmation popup before marking a comment as spam
Given the work "Popular Fic" by "author"
And a guest comment on the work "Popular Fic"
And a guest comment on the work "Popular Fic"
When I am logged in as "author"
And I view the work "Popular Fic" with comments
Then I should see "Comments (2)"
When I mark the comment as spam
And I confirm I want to mark the comment as spam
And I view the work "Popular Fic" with comments
Then I should see "Comments (1)"
Scenario Outline: Guest comments should be spam-checked
Given <commentable>
And <commentable> with guest comments enabled
When I view <commentable> with comments
And Akismet will flag any comment by "spammer"
And I try to post a spam comment
Then I should see "This comment looks like spam to our system, sorry!"
Examples:
| commentable |
| the work "Generic Work" |
| the admin post "Generic Post" |
Scenario Outline: New users' comments should be spam-checked on posting when the admin setting is enabled
Given <commentable>
And account age threshold for comment spam check is set to 5 days
And Akismet will flag any comment by "spammer"
When I am logged in as a new user "good_user"
And I view <commentable> with comments
And I post the comment "I don't like spam" on <commentable>
Then I should see "Comment created!"
When I am logged in as a new user "spammer"
And I post the comment "I like spam" on <commentable>
Then I should see "This comment looks like spam to our system, sorry!"
Examples:
| commentable |
| the work "Generic Work" |
| the admin post "Generic Post" |
Scenario Outline: New user's comments should be spam-checked on editing when the admin setting is enabled
Given <commentable>
And account age threshold for comment spam check is set to 5 days
And Akismet will flag any comment containing "spam"
When I am logged in as a new user "spammer"
And I view <commentable> with comments
And I post the comment "abcdefghijk" on <commentable>
Then I should see "Comment created!"
When I follow "Thread"
And I follow "Edit"
And I fill in "Comment" with "abcspamcccc"
And it is currently 1 second from now
And I press "Update"
Then I should see "Comment was successfully updated."
And I should see "abcspamcccc"
When I follow "Thread"
And I follow "Edit"
And I fill in "Comment" with "I like spam"
And it is currently 1 second from now
And I press "Update"
Then I should see "This comment looks like spam to our system, sorry!"
Examples:
| commentable |
| the work "Generic Work" |
| the admin post "Generic Post" |
Scenario Outline: Old users' comments should not be spam-checked when the admin setting is enabled
Given <commentable>
And account age threshold for comment spam check is set to 5 days
And Akismet will flag any comment by "spammer"
When I am logged in as a new user "good_user"
And it is currently 10 days from now
And I post the comment "I don't like spam" on <commentable>
Then I should see "Comment created!"
When I am logged in as a new user "spammer"
And it is currently 10 days from now
And I post the comment "I like spam" on <commentable>
Then I should see "Comment created!"
Examples:
| commentable |
| the work "Generic Work" |
| the admin post "Generic Post" |
Scenario Outline: New users' comments should not be spam-checked if the admin setting is disabled
Given <commentable>
And account age threshold for comment spam check is set to 0 days
And Akismet will flag any comment by "spammer"
When I am logged in as a new user "good_user"
And I post the comment "I don't like spam" on <commentable>
Then I should see "Comment created!"
When I am logged in as a new user "spammer"
And I post the comment "I like spam" on <commentable>
Then I should see "Comment created!"
Examples:
| commentable |
| the work "Generic Work" |
| the admin post "Generic Post" |
Scenario: New users' comments should not be spam-checked on tags
Given a canonical fandom "Stargate SG-1"
And the tag wrangler "spammer" with password "password" is wrangler of "Stargate SG-1"
And account age threshold for comment spam check is set to 5 days
And Akismet will flag any comment by "spammer"
When I am logged in as a new user "spammer"
And I view the tag "Stargate SG-1" with comments
And I post the comment "Sent you a syn" on the tag "Stargate SG-1"
Then I should see "Comment created!"
Scenario: New users' comments should not be spam-checked on their own work
Given the work "Generic Work" by "spammer"
And account age threshold for comment spam check is set to 5 days
And Akismet will flag any comment by "spammer"
When I am logged in as a new user "spammer"
And I post the comment "I like spam" on the work "Generic Work"
Then I should see "Comment created!"
When I reply to a comment with "I still like spam"
Then I should see "Comment created!"
Scenario: Old users' comments should not be spam-checked after they change their email
Given <commentable>
And account age threshold for comment spam check is set to 5 days
And Akismet will flag any comment by "spammer"
When I am logged in as a new user "spammer"
And it is currently 10 days from now
And I change my email to "newemail@example.com"
And I post the comment "I like spam" on <commentable>
Then I should see "Comment created!"
Examples:
| commentable |
| the work "Generic Work" |
| the admin post "Generic Post" |