Merge branch 'MDL-38547_master' of git://github.com/dmonllao/moodle
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
@core_course @_cross_browser
|
||||
Feature: Force group mode in a course
|
||||
In order to use the same group mode all over the course
|
||||
As a moodle teacher
|
||||
I need to force the group mode of all course's activities
|
||||
|
||||
Background:
|
||||
Given the following "users" exists:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | Teacher | 1 | teacher1@asd.com |
|
||||
And the following "courses" exists:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exists:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I follow "Course 1"
|
||||
And I turn editing mode on
|
||||
And I add a "chat" to section "1" and I fill the form with:
|
||||
| Name of this chat room | Chat room |
|
||||
| Description | Chat description |
|
||||
And I follow "Edit settings"
|
||||
|
||||
@javascript
|
||||
Scenario: Forced group mode using separate groups
|
||||
Given I fill the moodle form with:
|
||||
| Group mode | Separate groups |
|
||||
| Force group mode | Yes |
|
||||
When I press "Save changes"
|
||||
Then ".//a//img[contains(./@alt, 'Separate groups (forced mode)')]" "xpath_element" should not exists
|
||||
And ".//img[contains(./@alt, 'Separate groups (forced mode)')]" "xpath_element" should exists
|
||||
And I click on "//img[contains(./@alt, 'Separate groups (forced mode)')]" "xpath_element" in the "li.activity.chat" "css_element"
|
||||
And ".//a//img[contains(./@alt, 'Separate groups (forced mode)')]" "xpath_element" should not exists
|
||||
And ".//img[contains(./@alt, 'Separate groups (forced mode)')]" "xpath_element" should exists
|
||||
|
||||
@javascript
|
||||
Scenario: Forced group mode using visible groups
|
||||
Given I fill the moodle form with:
|
||||
| Group mode | Visible groups |
|
||||
| Force group mode | Yes |
|
||||
And I press "Save changes"
|
||||
Then ".//a//img[contains(./@alt, 'Visible groups (forced mode)')]" "xpath_element" should not exists
|
||||
And ".//img[contains(./@alt, 'Visible groups (forced mode)')]" "xpath_element" should exists
|
||||
And I click on "//img[contains(./@alt, 'Visible groups (forced mode)')]" "xpath_element" in the "li.activity.chat" "css_element"
|
||||
And ".//a//img[contains(./@alt, 'Visible groups (forced mode)')]" "xpath_element" should not exists
|
||||
And ".//img[contains(./@alt, 'Visible groups (forced mode)')]" "xpath_element" should exists
|
||||
|
||||
@javascript
|
||||
Scenario: Forced group mode without groups
|
||||
Given I fill the moodle form with:
|
||||
| Group mode | No groups |
|
||||
| Force group mode | Yes |
|
||||
And I press "Save changes"
|
||||
Then ".//a//img[contains(./@alt, 'No groups (forced mode)')]" "xpath_element" should not exists
|
||||
And ".//img[contains(./@alt, 'No groups (forced mode)')]" "xpath_element" should exists
|
||||
And I click on "//img[contains(./@alt, 'No groups (forced mode)')]" "xpath_element" in the "li.activity.chat" "css_element"
|
||||
And ".//a//img[contains(./@alt, 'No groups (forced mode)')]" "xpath_element" should not exists
|
||||
And ".//img[contains(./@alt, 'No groups (forced mode)')]" "xpath_element" should exists
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
|
||||
require_once(__DIR__ . '/../../behat/behat_base.php');
|
||||
|
||||
use Behat\Mink\Exception\ExpectationException as ExpectationException;
|
||||
use Behat\Mink\Exception\ExpectationException as ExpectationException,
|
||||
Behat\Mink\Exception\ElementNotFoundException as ElementNotFoundException;
|
||||
|
||||
/**
|
||||
* Cross component steps definitions.
|
||||
@@ -225,4 +226,40 @@ class behat_general extends behat_base {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the provided element and selector type exists in the current page. This step is for advanced users, use it if you don't find anything else suitable for what you need.
|
||||
*
|
||||
* @Then /^"(?P<element_string>(?:[^"]|\\")*)" "(?P<selector_string>[^"]*)" should exists$/
|
||||
* @throws ElementNotFoundException Thrown by behat_base::find
|
||||
* @param string $element The locator of the specified selector
|
||||
* @param string $selectortype The selector type
|
||||
*/
|
||||
public function should_exists($element, $selectortype) {
|
||||
|
||||
// Getting Mink selector and locator.
|
||||
list($selector, $locator) = $this->transform_selector($selectortype, $element);
|
||||
|
||||
// Will throw an ElementNotFoundException if it does not exist.
|
||||
$this->find($selector, $locator);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks that the provided element and selector type not exists in the current page. This step is for advanced users, use it if you don't find anything else suitable for what you need.
|
||||
*
|
||||
* @Then /^"(?P<element_string>(?:[^"]|\\")*)" "(?P<selector_string>[^"]*)" should not exists$/
|
||||
* @throws ExpectationException
|
||||
* @param string $element The locator of the specified selector
|
||||
* @param string $selectortype The selector type
|
||||
*/
|
||||
public function should_not_exists($element, $selectortype) {
|
||||
|
||||
try {
|
||||
$this->should_exists($element, $selectortype);
|
||||
throw new ExpectationException('The "' . $element . '" "' . $selectortype . '" exists in the current page', $this->getSession());
|
||||
}catch (ElementNotFoundException $e) {
|
||||
// It passes.
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user