You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
315 lines
16 KiB
315 lines
16 KiB
2 years ago
|
@tool @tool_policy
|
||
|
Feature: Viewing acceptances reports and accepting on behalf of other users
|
||
|
In order to manage user acceptances
|
||
|
As a manager
|
||
|
I need to be able to view acceptances and accept on behalf of other users
|
||
|
|
||
|
Background:
|
||
|
Given the following config values are set as admin:
|
||
|
| sitepolicyhandler | tool_policy |
|
||
|
# This is required for now to prevent the overflow region affecting the action menus.
|
||
|
And I change window size to "large"
|
||
|
And the following policies exist:
|
||
|
| Name | Revision | Content | Summary | Status |
|
||
|
| This site policy | | full text2 | short text2 | active |
|
||
|
| This privacy policy | | full text3 | short text3 | draft |
|
||
|
And the following "users" exist:
|
||
|
| username | firstname | lastname | email |
|
||
|
| user1 | User | One | one@example.com |
|
||
|
| user2 | User | Two | two@example.com |
|
||
|
| manager | Max | Manager | man@example.com |
|
||
|
And the following "role assigns" exist:
|
||
|
| user | role | contextlevel | reference |
|
||
|
| manager | manager | System | |
|
||
|
And the following "courses" exist:
|
||
|
| fullname | shortname |
|
||
|
| Course1 | C1 |
|
||
|
And the following "course enrolments" exist:
|
||
|
| user | course | role |
|
||
|
| user1 | C1 | student |
|
||
|
| user2 | C1 | student |
|
||
|
|
||
|
Scenario: View acceptances made by users on their own, single policy
|
||
|
When I log in as "user1"
|
||
|
Then I should see "This site policy"
|
||
|
And I should not see "Course overview"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I press "Next"
|
||
|
And I should see "Course overview"
|
||
|
And I log out
|
||
|
And I log in as "manager"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I press "Next"
|
||
|
And I navigate to "Users > Privacy and policies > User agreements" in site administration
|
||
|
And "Accepted" "text" should exist in the "User One" "table_row"
|
||
|
And "Accepted" "text" should exist in the "Max Manager" "table_row"
|
||
|
And "Pending" "text" should exist in the "User Two" "table_row"
|
||
|
|
||
|
Scenario: Agree on behalf of another user as a manager, single policy, javascript off
|
||
|
Given I log in as "admin"
|
||
|
And I set the following system permissions of "Manager" role:
|
||
|
| capability | permission |
|
||
|
| tool/policy:acceptbehalf | Allow |
|
||
|
And I log out
|
||
|
When I log in as "manager"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I press "Next"
|
||
|
And I navigate to "Users > Privacy and policies > Manage policies" in site administration
|
||
|
And I click on "1 of 4 (25%)" "link" in the "This site policy" "table_row"
|
||
|
And I click on "Accept This site policy" "link" in the "User One" "table_row"
|
||
|
Then I should see "Accepting policy"
|
||
|
And I should see "User One"
|
||
|
And I should see "This site policy"
|
||
|
And I should see "I acknowledge that I have received a request to give consent on behalf of the above user(s)."
|
||
|
And I set the field "Remarks" to "Consent received from a parent"
|
||
|
And I press "Give consent"
|
||
|
And "Accepted on user's behalf" "text" should exist in the "User One" "table_row"
|
||
|
And "Max Manager" "link" should exist in the "User One" "table_row"
|
||
|
And "Consent received from a parent" "text" should exist in the "User One" "table_row"
|
||
|
And "Pending" "text" should exist in the "User Two" "table_row"
|
||
|
|
||
|
@javascript
|
||
|
Scenario: Agree on behalf of another user as a manager, single policy, javascript on
|
||
|
Given I log in as "admin"
|
||
|
And I set the following system permissions of "Manager" role:
|
||
|
| capability | permission |
|
||
|
| tool/policy:acceptbehalf | Allow |
|
||
|
And I log out
|
||
|
When I log in as "manager"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I press "Next"
|
||
|
And I should see "Course overview"
|
||
|
And I navigate to "Users > Privacy and policies > Manage policies" in site administration
|
||
|
And I click on "1 of 4 (25%)" "link" in the "This site policy" "table_row"
|
||
|
And I click on "Accept This site policy" "link" in the "User One" "table_row"
|
||
|
Then I should see "Give consent"
|
||
|
And I should see "User One"
|
||
|
And I should see "This site policy"
|
||
|
And I should see "I acknowledge that I have received a request to give consent on behalf of the above user(s)."
|
||
|
And I set the field "Remarks" to "Consent received from a parent"
|
||
|
And I press "Give consent"
|
||
|
And "Accepted on user's behalf" "text" should exist in the "User One" "table_row"
|
||
|
And "Max Manager" "link" should exist in the "User One" "table_row"
|
||
|
And "Consent received from a parent" "text" should exist in the "User One" "table_row"
|
||
|
And "Pending" "text" should exist in the "User Two" "table_row"
|
||
|
|
||
|
Scenario: View acceptances made by users on their own, multiple policies
|
||
|
Given I log in as "admin"
|
||
|
And I navigate to "Users > Privacy and policies > Manage policies" in site administration
|
||
|
And I click on "Set status to \"Active\"" "link" in the "This privacy policy" "table_row"
|
||
|
And I press "Continue"
|
||
|
And I log out
|
||
|
When I log in as "user1"
|
||
|
Then I should see "This site policy"
|
||
|
And I press "Next"
|
||
|
And I should see "This privacy policy"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I set the field "I agree to the This privacy policy" to "1"
|
||
|
And I press "Next"
|
||
|
And I should see "Course overview"
|
||
|
And I log out
|
||
|
And I log in as "manager"
|
||
|
And I press "Next"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I set the field "I agree to the This privacy policy" to "1"
|
||
|
And I press "Next"
|
||
|
And I navigate to "Users > Privacy and policies > User agreements" in site administration
|
||
|
And "Accepted" "text" should exist in the "User One" "table_row"
|
||
|
And "Pending" "text" should not exist in the "User One" "table_row"
|
||
|
And "Accepted" "text" should exist in the "Max Manager" "table_row"
|
||
|
And "Pending" "text" should exist in the "User Two" "table_row"
|
||
|
And "Accepted" "text" should not exist in the "User Two" "table_row"
|
||
|
And I click on "Details" "link" in the "User One" "table_row"
|
||
|
And "Accepted" "text" should exist in the "This site policy" "table_row"
|
||
|
And "Accepted" "text" should exist in the "This privacy policy" "table_row"
|
||
|
And I am on site homepage
|
||
|
And I navigate to "Users > Privacy and policies > User agreements" in site administration
|
||
|
And I click on "Details" "link" in the "User Two" "table_row"
|
||
|
And "Pending" "text" should exist in the "This site policy" "table_row"
|
||
|
And "Pending" "text" should exist in the "This privacy policy" "table_row"
|
||
|
|
||
|
Scenario: Agree on behalf of another user as a manager, multiple policies, javascript off
|
||
|
Given I log in as "admin"
|
||
|
And I navigate to "Users > Privacy and policies > Manage policies" in site administration
|
||
|
And I click on "Set status to \"Active\"" "link" in the "This privacy policy" "table_row"
|
||
|
And I press "Continue"
|
||
|
And I set the following system permissions of "Manager" role:
|
||
|
| capability | permission |
|
||
|
| tool/policy:acceptbehalf | Allow |
|
||
|
And I log out
|
||
|
When I log in as "manager"
|
||
|
And I press "Next"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I set the field "I agree to the This privacy policy" to "1"
|
||
|
And I press "Next"
|
||
|
And I navigate to "Users > Privacy and policies > User agreements" in site administration
|
||
|
And I click on "Accept This site policy" "link" in the "User One" "table_row"
|
||
|
Then I should see "Accepting policy"
|
||
|
And I should see "User One"
|
||
|
And I should see "This site policy"
|
||
|
And I should see "I acknowledge that I have received a request to give consent on behalf of the above user(s)."
|
||
|
And I set the field "Remarks" to "Consent received from a parent"
|
||
|
And I press "Give consent"
|
||
|
And "Accepted on user's behalf" "text" should exist in the "User One" "table_row"
|
||
|
And "Pending" "text" should exist in the "User One" "table_row"
|
||
|
And I click on "Details" "link" in the "User One" "table_row"
|
||
|
And "Accepted on user's behalf" "text" should exist in the "This site policy" "table_row"
|
||
|
And "Max Manager" "link" should exist in the "This site policy" "table_row"
|
||
|
And "Consent received from a parent" "text" should exist in the "This site policy" "table_row"
|
||
|
And "Pending" "text" should exist in the "This privacy policy" "table_row"
|
||
|
|
||
|
@javascript
|
||
|
Scenario: Agree on behalf of another user as a manager, multiple policies, javascript on
|
||
|
Given I log in as "admin"
|
||
|
And I navigate to "Users > Privacy and policies > Manage policies" in site administration
|
||
|
And I click on "Actions" "link_or_button" in the "This privacy policy" "table_row"
|
||
|
And I click on "Set status to \"Active\"" "link" in the "This privacy policy" "table_row"
|
||
|
And I press "Activate"
|
||
|
And I set the following system permissions of "Manager" role:
|
||
|
| capability | permission |
|
||
|
| tool/policy:acceptbehalf | Allow |
|
||
|
And I log out
|
||
|
When I log in as "manager"
|
||
|
And I press "Next"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I set the field "I agree to the This privacy policy" to "1"
|
||
|
And I press "Next"
|
||
|
And I navigate to "Users > Privacy and policies > User agreements" in site administration
|
||
|
And I click on "Accept This site policy" "link" in the "User One" "table_row"
|
||
|
Then I should see "Give consent"
|
||
|
And I should see "User One"
|
||
|
And I should see "This site policy"
|
||
|
And I should see "I acknowledge that I have received a request to give consent on behalf of the above user(s)."
|
||
|
And I set the field "Remarks" to "Consent received from a parent"
|
||
|
And I press "Give consent"
|
||
|
And "Accepted on user's behalf" "text" should exist in the "User One" "table_row"
|
||
|
And "Pending" "text" should exist in the "User One" "table_row"
|
||
|
And I click on "Details" "link" in the "User One" "table_row"
|
||
|
And "Accepted on user's behalf" "text" should exist in the "This site policy" "table_row"
|
||
|
And "Max Manager" "link" should exist in the "This site policy" "table_row"
|
||
|
And "Consent received from a parent" "text" should exist in the "This site policy" "table_row"
|
||
|
And "Pending" "text" should exist in the "This privacy policy" "table_row"
|
||
|
|
||
|
Scenario: Policies and agreements profile link visible for current user
|
||
|
Given I log in as "user1"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I press "Next"
|
||
|
When I follow "Profile" in the user menu
|
||
|
# User can see his own agreements link in the profile.
|
||
|
Then I should see "Policies and agreements"
|
||
|
And I follow "Policies and agreements"
|
||
|
And "Accepted" "text" should exist in the "This site policy" "table_row"
|
||
|
# User can't see agreements link in other user profiles.
|
||
|
And I am on "Course1" course homepage
|
||
|
And I navigate to course participants
|
||
|
And I follow "User Two"
|
||
|
And I should not see "Policies and agreements"
|
||
|
|
||
|
Scenario: Policies and agreements profile link visible also for users who can access on behalf of others
|
||
|
Given I log in as "admin"
|
||
|
And I set the following system permissions of "Manager" role:
|
||
|
| capability | permission |
|
||
|
| tool/policy:acceptbehalf | Allow |
|
||
|
And I log out
|
||
|
And I log in as "manager"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I press "Next"
|
||
|
# User can see agreements link in other user profiles because has the capability for accepting on behalf of them.
|
||
|
When I am on "Course1" course homepage
|
||
|
And I navigate to course participants
|
||
|
And I follow "User Two"
|
||
|
Then I should see "Policies and agreements"
|
||
|
|
||
|
Scenario: Agree on behalf of another user as an admin who is logged in as a manager
|
||
|
Given I log in as "admin"
|
||
|
And I set the following system permissions of "Manager" role:
|
||
|
| capability | permission |
|
||
|
| tool/policy:acceptbehalf | Allow |
|
||
|
And I log out
|
||
|
When I log in as "manager"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I press "Next"
|
||
|
And I log out
|
||
|
And I log in as "admin"
|
||
|
And I navigate to "Users > Accounts > Browse list of users" in site administration
|
||
|
And I follow "Manager"
|
||
|
And I follow "Log in as"
|
||
|
And I press "Continue"
|
||
|
And I navigate to "Users > Privacy and policies > Manage policies" in site administration
|
||
|
And I click on "1 of 4 (25%)" "link" in the "This site policy" "table_row"
|
||
|
And I click on "Accept This site policy" "link" in the "User One" "table_row"
|
||
|
Then I should see "Accepting policy"
|
||
|
And I should see "User One"
|
||
|
And I should see "This site policy"
|
||
|
And I should see "I acknowledge that I have received a request to give consent on behalf of the above user(s)."
|
||
|
And I set the field "Remarks" to "Consent received from a parent"
|
||
|
And I press "Give consent"
|
||
|
And "Accepted on user's behalf" "text" should exist in the "User One" "table_row"
|
||
|
And "Max Manager" "link" should not exist in the "User One" "table_row"
|
||
|
And "Admin User" "link" should exist in the "User One" "table_row"
|
||
|
And "Consent received from a parent" "text" should exist in the "User One" "table_row"
|
||
|
And "Pending" "text" should exist in the "User Two" "table_row"
|
||
|
|
||
|
@javascript
|
||
|
Scenario: Bulk agree on behalf of another users as a manager, multiple policies, javascript on
|
||
|
Given I log in as "admin"
|
||
|
And I navigate to "Users > Privacy and policies > Manage policies" in site administration
|
||
|
And I click on "Actions" "link_or_button" in the "This privacy policy" "table_row"
|
||
|
And I click on "Set status to \"Active\"" "link" in the "This privacy policy" "table_row"
|
||
|
And I press "Activate"
|
||
|
And I set the following system permissions of "Manager" role:
|
||
|
| capability | permission |
|
||
|
| tool/policy:acceptbehalf | Allow |
|
||
|
And I log out
|
||
|
When I log in as "manager"
|
||
|
And I press "Next"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I set the field "I agree to the This privacy policy" to "1"
|
||
|
And I press "Next"
|
||
|
And I navigate to "Users > Privacy and policies > User agreements" in site administration
|
||
|
And I click on "Select" "checkbox" in the "User One" "table_row"
|
||
|
And I press "Consent"
|
||
|
And I should see "Accepting policy"
|
||
|
And I should see "One"
|
||
|
And I click on "Cancel" "button" in the "Accepting policy" "dialogue"
|
||
|
And I should not see "Accepting policy"
|
||
|
And I click on "Select" "checkbox" in the "User Two" "table_row"
|
||
|
And I press "Consent"
|
||
|
And I should see "Accepting policy"
|
||
|
And I should see "User One, User Two"
|
||
|
When I press "Give consent"
|
||
|
Then "Accepted on user's behalf" "text" should exist in the "User One" "table_row"
|
||
|
And "Accepted on user's behalf" "text" should exist in the "User Two" "table_row"
|
||
|
|
||
|
Scenario: View acceptances made by users on their own after inactivating a policy
|
||
|
Given I log in as "user1"
|
||
|
And I should see "This site policy"
|
||
|
And I should not see "Course overview"
|
||
|
And I press "Next"
|
||
|
And I set the field "I agree to the This site policy" to "1"
|
||
|
And I press "Next"
|
||
|
And I should see "Course overview"
|
||
|
And I log out
|
||
|
And I log in as "admin"
|
||
|
And I navigate to "Users > Privacy and policies > Manage policies" in site administration
|
||
|
And I click on "Actions" "link_or_button" in the "This privacy policy" "table_row"
|
||
|
And I click on "Set status to \"Active\"" "link" in the "This privacy policy" "table_row"
|
||
|
And I press "Continue"
|
||
|
And I click on "Set status to \"Inactive\"" "link" in the "This privacy policy" "table_row"
|
||
|
And I press "Continue"
|
||
|
And I log out
|
||
|
When I log in as "user1"
|
||
|
Then I should see "Course overview"
|