Files
moodle/user/tests/behat/set_email_display.feature
T
Eloy Lafuente (stronk7) 8c46d204a1 MDL-60548 tests: Get tests passing
This includes:

- changing all usernames in feature to lowercase, for cross-db passing. Fixes:
  - user/tests/behat/set_email_display.feature
- ensure that course_enrolment_manager::get_potential_users() and
  external always returns user->maildisplay attribute, so email
  visibility can be calculated by user_get_user_details(). Fixes:
  - enrol/tests/behat/enrol_user.feature
  - blocks/news_items/tests/behat/display_news.feature
  - course/tests/behat/course_creation.feature
2018-04-11 17:15:38 +02:00

79 lines
3.2 KiB
Gherkin

@core @core_user
Feature: Set email display preference
In order to control who can see my email address on my profile page
As a student
I need my email to be shown to only the user groups chosen
Background:
Given the following "users" exist:
| username | firstname | lastname | email | maildisplay |
| teacher1 | Teacher | 1 | teacher1@example.com | 2 |
| studentp | Student | PEER | studentP@example.com | 2 |
| studentn | Student | NONE | studentN@example.com | 0 |
| studente | Student | EVERYONE | studentE@example.com | 1 |
| studentm | Student | MEMBERS | studentM@example.com | 2 |
And the following "courses" exist:
| fullname | shortname | format |
| Course 1 | C1 | topics |
And the following "course enrolments" exist:
| user | course | role | status | timeend |
| teacher1 | C1 | teacher | 0 | 0 |
| studentp | C1 | student | 0 | 0 |
| studentn | C1 | student | 0 | 0 |
| studente | C1 | student | 0 | 0 |
| studentm | C1 | student | 0 | 0 |
@javascript
Scenario: Student viewing own profile
Given I log in as "studentp"
When I follow "Profile" in the user menu
Then I should see "studentP@example.com"
@javascript
Scenario: Student peer on the same course viewing profiles
Given I log in as "studentp"
And I am on "Course 1" course homepage
And I navigate to course participants
When I follow "Student NONE"
Then I should not see "studentN@example.com"
And I navigate to course participants
When I follow "Student EVERYONE"
Then I should see "studentE@example.com"
And I navigate to course participants
When I follow "Student MEMBERS"
Then I should see "studentM@example.com"
@javascript
Scenario: Student viewing teacher email (whose maildisplay = MEMBERS)
Given I log in as "studentp"
And I am on "Course 1" course homepage
And I navigate to course participants
When I follow "Teacher 1"
Then I should see "teacher1@example.com"
@javascript
Scenario: Teacher viewing student email, whilst site:showuseridentity = “email”
Given the following config values are set as admin:
| showuseridentity | email |
Given I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to course participants
When I follow "Student NONE"
Then I should see "studentN@example.com"
And I navigate to course participants
When I follow "Student MEMBERS"
Then I should see "studentM@example.com"
@javascript
Scenario: Teacher viewing student email, whilst site:showuseridentity = “”
Given I log in as "teacher1"
And the following config values are set as admin:
| showuseridentity | |
And I am on "Course 1" course homepage
And I navigate to course participants
When I follow "Student NONE"
Then I should not see "studentN@example.com"
And I navigate to course participants
When I follow "Student MEMBERS"
Then I should see "studentM@example.com"