137 lines
5.9 KiB
Gherkin
137 lines
5.9 KiB
Gherkin
Feature: Blocking
|
|
Scenario: Users can block from my blocked users page
|
|
Given the user "pest" exists and is activated
|
|
And I am logged in as "blocker"
|
|
When I go to the blocked users page for "blocker"
|
|
And I fill in "blocked_id" with "pest"
|
|
And I press "Block"
|
|
And I press "Yes, Block User"
|
|
Then I should see "You have blocked the user pest."
|
|
And the user "blocker" should have a block for "pest"
|
|
|
|
Scenario Outline: Users can block from various user-related pages
|
|
Given the user "pest" exists and is activated
|
|
And I am logged in as "blocker"
|
|
When I go to <page>
|
|
And I follow "Block"
|
|
And I press "Yes, Block User"
|
|
Then I should see "You have blocked the user pest."
|
|
And the user "blocker" should have a block for "pest"
|
|
And the blurb should not say when "blocker" blocked "pest"
|
|
|
|
Examples:
|
|
| page |
|
|
| pest's user page |
|
|
| pest's profile page |
|
|
| the dashboard page for user "pest" with pseud "pest" |
|
|
|
|
Scenario: Users can block from the comments
|
|
Given the work "Aftermath"
|
|
And a comment "Ugh." by "pest" on the work "Aftermath"
|
|
And I am logged in as "blocker"
|
|
When I view the work "Aftermath" with comments
|
|
And I follow "Block"
|
|
And I press "Yes, Block User"
|
|
Then I should see "You have blocked the user pest."
|
|
And the user "blocker" should have a block for "pest"
|
|
|
|
Scenario: Users cannot block official users
|
|
Given the user "pest" exists and has the role "official"
|
|
And I am logged in as "blocker"
|
|
When I go to pest's user page
|
|
And I follow "Block"
|
|
Then I should see "Sorry, you can't block an official user."
|
|
And I should not see a "Yes, Block User" button
|
|
|
|
Scenario: Users cannot block themselves
|
|
Given the user "pest" exists and is activated
|
|
And I am logged in as "pest"
|
|
When I go to pest's user page
|
|
Then I should not see a link "Block"
|
|
When I go to the blocked users page for "pest"
|
|
And I fill in "blocked_id" with "pest"
|
|
And I press "Block"
|
|
Then I should see "Sorry, you can't block yourself."
|
|
And I should not see a "Yes, Block User" button
|
|
|
|
Scenario: Users can unblock from the blocked users page
|
|
Given the user "unblocker" has blocked the user "improving"
|
|
And I am logged in as "unblocker"
|
|
When I go to the blocked users page for "unblocker"
|
|
And I follow "Unblock"
|
|
And I press "Yes, Unblock User"
|
|
Then I should see "You have unblocked the user improving."
|
|
And the user "unblocker" should not have a block for "improving"
|
|
|
|
Scenario Outline: Users can unblock from various user-related pages
|
|
Given the user "unblocker" has blocked the user "improving"
|
|
And I am logged in as "unblocker"
|
|
When I go to <page>
|
|
And I follow "Unblock"
|
|
And I press "Yes, Unblock User"
|
|
Then I should see "You have unblocked the user improving."
|
|
And the user "unblocker" should not have a block for "improving"
|
|
|
|
Examples:
|
|
| page |
|
|
| improving's user page |
|
|
| improving's profile page |
|
|
| the dashboard page for user "improving" with pseud "improving" |
|
|
|
|
Scenario: Users can unblock from the comments
|
|
Given the user "unblocker" has blocked the user "improving"
|
|
And the work "Aftermath"
|
|
And a comment "Wonderful!" by "improving" on the work "Aftermath"
|
|
And I am logged in as "unblocker"
|
|
When I view the work "Aftermath" with comments
|
|
And I follow "Unblock"
|
|
And I press "Yes, Unblock User"
|
|
Then I should see "You have unblocked the user improving."
|
|
And the user "unblocker" should not have a block for "improving"
|
|
|
|
Scenario: The blocked users page is paginated
|
|
Given there are 2 blocked users per page
|
|
And the user "blocker" has blocked the user "pest1"
|
|
And the user "blocker" has blocked the user "pest2"
|
|
And the user "blocker" has blocked the user "pest3"
|
|
And the user "blocker" has blocked the user "pest4"
|
|
When I am logged in as "blocker"
|
|
And I go to the blocked users page for "blocker"
|
|
Then I should see "pest4" within "ul.pseud li:nth-child(1)"
|
|
And I should see "pest3" within "ul.pseud li:nth-child(2)"
|
|
And I should not see "pest2"
|
|
And I should not see "pest1"
|
|
When I follow "2" within ".pagination"
|
|
Then I should see "pest2" within "ul.pseud li:nth-child(1)"
|
|
And I should see "pest1" within "ul.pseud li:nth-child(2)"
|
|
|
|
Scenario Outline: Authorized admins can see the blocked users page
|
|
Given the user "blocker" has blocked the user "pest"
|
|
When I am logged in as a "<role>" admin
|
|
And I go to the blocked users page for "blocker"
|
|
Then I should see "pest"
|
|
And the blurb should say when "blocker" blocked "pest"
|
|
And I should see a link "Unblock"
|
|
When I follow "Unblock"
|
|
Then I should see "Sorry, you don't have permission to access the page you were trying to reach."
|
|
And the user "blocker" should have a block for "pest"
|
|
|
|
Examples:
|
|
| role |
|
|
| superadmin |
|
|
| policy_and_abuse |
|
|
| support |
|
|
|
|
Scenario: Users are told about blocking effects on gift-giving
|
|
Given the user "pest" exists and is activated
|
|
And I am logged in as "blocker"
|
|
When I go to the blocked users page for "blocker"
|
|
Then I should see "giving you gift works"
|
|
Given the user "unblocker" has blocked the user "improving"
|
|
And I am logged in as "unblocker"
|
|
When I go to the blocked users page for "unblocker"
|
|
Then I should see "improving"
|
|
And I should see "giving you gift works"
|
|
When I follow "Unblock"
|
|
Then I should see a "Yes, Unblock User" button
|
|
And I should see "giving you gift works"
|