Proyectos de Subversion Moodle

Rev

Rev 1 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

@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"