108 lines
4.4 KiB
Gherkin
108 lines
4.4 KiB
Gherkin
@tool @tool_dataprivacy
|
|
Feature: Data export from the privacy API
|
|
In order to export data for users and meet legal requirements
|
|
As an admin, user, or parent
|
|
I need to be able to export data for a user
|
|
|
|
Background:
|
|
Given the following "users" exist:
|
|
| username | firstname | lastname |
|
|
| victim | Victim User | 1 |
|
|
| parent | Long-suffering | Parent |
|
|
And the following "roles" exist:
|
|
| shortname | name | archetype |
|
|
| tired | Tired | |
|
|
And the following "permission overrides" exist:
|
|
| capability | permission | role | contextlevel | reference |
|
|
| tool/dataprivacy:makedatarequestsforchildren | Allow | tired | System | |
|
|
And the following "role assigns" exist:
|
|
| user | role | contextlevel | reference |
|
|
| parent | tired | User | victim |
|
|
And the following config values are set as admin:
|
|
| contactdataprotectionofficer | 1 | tool_dataprivacy |
|
|
|
|
@javascript
|
|
Scenario: As admin, export data for a user and download it
|
|
Given I log in as "admin"
|
|
And I navigate to "Users > Privacy and policies > Data requests" in site administration
|
|
And I follow "New request"
|
|
And I set the field "Requesting for" to "Victim User 1"
|
|
And I press "Save changes"
|
|
Then I should see "Victim User 1"
|
|
And I should see "Pending" in the "Victim User 1" "table_row"
|
|
And I run all adhoc tasks
|
|
And I reload the page
|
|
And I should see "Awaiting approval" in the "Victim User 1" "table_row"
|
|
And I follow "Actions"
|
|
And I follow "Approve request"
|
|
And I press "Approve request"
|
|
And I should see "Approved" in the "Victim User 1" "table_row"
|
|
And I run all adhoc tasks
|
|
And I reload the page
|
|
And I should see "Complete" in the "Victim User 1" "table_row"
|
|
And I follow "Actions"
|
|
And following "Download" should download between "1" and "100000" bytes
|
|
|
|
@javascript
|
|
Scenario: As a student, request data export and then download it when approved
|
|
Given I log in as "victim"
|
|
And I follow "Profile" in the user menu
|
|
And I follow "Data requests"
|
|
And I follow "New request"
|
|
And I press "Save changes"
|
|
Then I should see "Export all of my personal data"
|
|
And I should see "Pending" in the "Export all of my personal data" "table_row"
|
|
And I run all adhoc tasks
|
|
And I reload the page
|
|
And I should see "Awaiting approval" in the "Export all of my personal data" "table_row"
|
|
|
|
And I log out
|
|
And I log in as "admin"
|
|
And I navigate to "Users > Privacy and policies > Data requests" in site administration
|
|
And I follow "Actions"
|
|
And I follow "Approve request"
|
|
And I press "Approve request"
|
|
|
|
And I log out
|
|
And I log in as "victim"
|
|
And I follow "Profile" in the user menu
|
|
And I follow "Data requests"
|
|
And I should see "Approved" in the "Export all of my personal data" "table_row"
|
|
And I run all adhoc tasks
|
|
And I reload the page
|
|
And I should see "Complete" in the "Export all of my personal data" "table_row"
|
|
And I follow "Actions"
|
|
And following "Download" should download between "1" and "100000" bytes
|
|
|
|
@javascript
|
|
Scenario: As a parent, request data export for my child because I don't trust the little blighter
|
|
Given I log in as "parent"
|
|
And I follow "Profile" in the user menu
|
|
And I follow "Data requests"
|
|
And I follow "New request"
|
|
And I set the field "Requesting for" to "Victim User 1"
|
|
And I press "Save changes"
|
|
Then I should see "Victim User 1"
|
|
And I should see "Pending" in the "Victim User 1" "table_row"
|
|
And I run all adhoc tasks
|
|
And I reload the page
|
|
And I should see "Awaiting approval" in the "Victim User 1" "table_row"
|
|
|
|
And I log out
|
|
And I log in as "admin"
|
|
And I navigate to "Users > Privacy and policies > Data requests" in site administration
|
|
And I follow "Actions"
|
|
And I follow "Approve request"
|
|
And I press "Approve request"
|
|
|
|
And I log out
|
|
And I log in as "parent"
|
|
And I follow "Profile" in the user menu
|
|
And I follow "Data requests"
|
|
And I should see "Approved" in the "Victim User 1" "table_row"
|
|
And I run all adhoc tasks
|
|
And I reload the page
|
|
And I should see "Complete" in the "Victim User 1" "table_row"
|
|
And I follow "Actions"
|
|
And following "Download" should download between "1" and "100000" bytes
|