This commit is contained in:
Dan Poltawski 2015-03-31 14:51:43 +01:00
commit a9feb0c48f
2 changed files with 59 additions and 3 deletions

View File

@ -163,7 +163,8 @@ class behat_backup extends behat_base {
$this->wait();
// Select the course.
$exception = new ExpectationException('"' . $fromcourse . '" course not found in the list of courses to import from', $this->getSession());
$exception = new ExpectationException('"' . $fromcourse . '" course not found in the list of courses to import from',
$this->getSession());
// The argument should be converted to an xpath literal.
$fromcourse = $this->getSession()->getSelectorsHandler()->xpathLiteral($fromcourse);
@ -332,7 +333,8 @@ class behat_backup extends behat_base {
protected function select_backup($backupfilename) {
// Using xpath as there are other restore links before this one.
$exception = new ExpectationException('The "' . $backupfilename . '" backup file can not be found in this page', $this->getSession());
$exception = new ExpectationException('The "' . $backupfilename . '" backup file can not be found in this page',
$this->getSession());
// The argument should be converted to an xpath literal.
$backupfilename = $this->getSession()->getSelectorsHandler()->xpathLiteral($backupfilename);
@ -424,7 +426,8 @@ class behat_backup extends behat_base {
foreach ($rows as $k => $data) {
if (count($data) !== 3) {
// Not enough information to guess the page.
throw new ExpectationException("The backup/restore step must be specified for all backup options");
throw new ExpectationException("The backup/restore step must be specified for all backup options",
$this->getSession());
} else if ($data[0] == $step) {
unset($data[0]);
$newrows[] = $data;

View File

@ -0,0 +1,53 @@
@core @core_backup
Feature: Option to include groups and groupings when importing a course to another course
In order to import a course to another course with groups and groupings
As a teacher
I need an option to include groups and groupings when importing a course to another course
Background:
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
| Course 2 | C2 |
And the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@asd.com |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
| teacher1 | C2 | editingteacher |
And the following "groups" exist:
| name | description | course | idnumber |
| Group 1 | Group description | C1 | GROUP1 |
| Group 2 | Group description | C1 | GROUP2 |
And the following "groupings" exist:
| name | course | idnumber |
| Grouping 1 | C1 | GROUPING1 |
| Grouping 2 | C1 | GROUPING2 |
And I log in as "teacher1"
And I follow "Course 1"
And I turn editing mode on
@javascript
Scenario: Include groups and groupings when importing a course to another course
When I import "Course 1" course into "Course 2" course using this options:
| Initial | Include groups and groupings | 1 |
And I expand "Users" node
And I follow "Groups"
Then I should see "Group 1"
And I should see "Group 2"
And I follow "Groupings"
And I should see "Grouping 1"
And I should see "Grouping 2"
@javascript
Scenario: Do not include groups and groupings when importing a course to another course
When I import "Course 1" course into "Course 2" course using this options:
| Initial | Include groups and groupings | 0 |
And I expand "Users" node
And I follow "Groups"
Then I should not see "Group 1"
And I should not see "Group 2"
And I follow "Groupings"
And I should not see "Grouping 1"
And I should not see "Grouping 2"