110 lines
5.4 KiB
Gherkin
110 lines
5.4 KiB
Gherkin
@communication
|
|
Feature: Access the communication configuration page
|
|
As an editing teacher
|
|
See dynamic form fields based on selected provider
|
|
|
|
Background: Set up teachers and course for the communication confifiguration page
|
|
Given I enable communication experimental feature
|
|
And the following "users" exist:
|
|
| username | firstname | lastname | email |
|
|
| teacher1 | Teacher | 1 | teacher1@example.com |
|
|
| teacher2 | Teacher | 2 | teacher2@example.com |
|
|
And the following "courses" exist:
|
|
| fullname | shortname | category | selectedcommunication |
|
|
| Test course | Test course | 0 | none |
|
|
And the following "course enrolments" exist:
|
|
| user | course | role |
|
|
| teacher1 | Test course | editingteacher |
|
|
| teacher2 | Test course | teacher |
|
|
|
|
Scenario: A teacher with the correct capability can access the communication configuration page
|
|
Given I am on the "Test course" "Course" page logged in as "teacher1"
|
|
When I navigate to "Communication" in current page administration
|
|
Then I should see "Communication"
|
|
|
|
Scenario: A teacher without the correct capability cannot access the communication configuration page
|
|
Given I am on the "Test course" "Course" page logged in as "teacher2"
|
|
Then "Communication" "link" should not exist in current page administration
|
|
|
|
Scenario: I cannot see the communication link when communication provider is disabled
|
|
Given I disable communication experimental feature
|
|
And I am on the "Test course" "Course" page logged in as "teacher1"
|
|
Then "Communication" "link" should not exist in current page administration
|
|
|
|
@javascript
|
|
Scenario: The communication form fields toggle dynamically when valid provider is set
|
|
Given a Matrix mock server is configured
|
|
And I am on the "Test course" "Course" page logged in as "teacher1"
|
|
When I navigate to "Communication" in current page administration
|
|
And I set the following fields to these values:
|
|
| selectedcommunication | communication_matrix |
|
|
And I wait to be redirected
|
|
Then I should see "Room name"
|
|
And I should see "Room topic"
|
|
|
|
@javascript
|
|
Scenario: Changing the communication provider in the form fetches the correct data
|
|
Given a Matrix mock server is configured
|
|
And I am on the "Test course" "Course" page logged in as "teacher1"
|
|
When I navigate to "Communication" in current page administration
|
|
And I set the following fields to these values:
|
|
| selectedcommunication | communication_matrix |
|
|
And I wait to be redirected
|
|
And I should see "Room name"
|
|
And I should see "Room topic"
|
|
And I set the following fields to these values:
|
|
| communication_matrixroomname | Matrix room |
|
|
| matrixroomtopic | Matrix topic |
|
|
And I click on "Save changes" "button"
|
|
And I navigate to "Communication" in current page administration
|
|
Then the field "Room name" matches value "Matrix room"
|
|
And the field "Room topic" matches value "Matrix topic"
|
|
And I set the following fields to these values:
|
|
| selectedcommunication | communication_customlink |
|
|
And I wait to be redirected
|
|
And I should see "Room name"
|
|
And I should not see "Room topic"
|
|
And I should see "Custom link URL"
|
|
And I set the following fields to these values:
|
|
| communication_customlinkroomname | Custom link room |
|
|
| customlinkurl | https://moodle.org |
|
|
And I click on "Save changes" "button"
|
|
And I navigate to "Communication" in current page administration
|
|
And the field "Room name" matches value "Custom link room"
|
|
And the field "Custom link URL" matches value "https://moodle.org"
|
|
And I set the following fields to these values:
|
|
| selectedcommunication | communication_matrix |
|
|
And I wait to be redirected
|
|
And I should see "Room name"
|
|
And I should see "Room topic"
|
|
And the field "Room name" matches value "Matrix room"
|
|
And the field "Room topic" matches value "Matrix topic"
|
|
And I should not see "Custom link URL"
|
|
And I set the following fields to these values:
|
|
| selectedcommunication | communication_customlink |
|
|
And I wait to be redirected
|
|
And I should see "Room name"
|
|
And I should see "Custom link URL"
|
|
And the field "Room name" matches value "Custom link room"
|
|
And the field "Custom link URL" matches value "https://moodle.org"
|
|
And I should not see "Room topic"
|
|
And I set the following fields to these values:
|
|
| selectedcommunication | communication_matrix |
|
|
And I wait to be redirected
|
|
And I click on "Save changes" "button"
|
|
And I am on "Test course" course homepage with editing mode on
|
|
And I navigate to "Settings" in current page administration
|
|
And I set the following fields to these values:
|
|
| Group mode | Separate groups |
|
|
And I press "Save and display"
|
|
And I navigate to "Communication" in current page administration
|
|
And the field "Room name" matches value "Matrix room"
|
|
And the field "Room topic" matches value "Matrix topic"
|
|
And I press "Cancel"
|
|
And I navigate to "Settings" in current page administration
|
|
And I set the following fields to these values:
|
|
| Group mode | Visible groups |
|
|
And I navigate to "Communication" in current page administration
|
|
And the field "Room name" matches value "Matrix room"
|
|
And the field "Room topic" matches value "Matrix topic"
|