HEX
Server: Apache/2.4.29 (Ubuntu)
System: Linux bareserver 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User: root (0)
PHP: 7.2.24-0ubuntu0.18.04.17
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/moodle/evaluaciones/moodle/group/tests/behat/groups_import.feature
@core @core_group @_file_upload
Feature: Importing of groups and groupings
  In order to import groups and grouping
  As a teacher
  I need to upload a file and verify groups and groupings can be imported

  Background:
    Given the following "courses" exist:
      | fullname | shortname | category |
      | Course 1 | C1 | 0 |
      | Course 2 | C2 | 0 |
    And the following "users" exist:
      | username | firstname | lastname | email |
      | teacher1 | Teacher | 1 | teacher1@example.com |
    And the following "course enrolments" exist:
      | user | course | role |
      | teacher1 | C1 | editingteacher |
      | teacher1 | C2 | editingteacher |

  @javascript
  Scenario: Import groups and groupings as teacher
    Given I log in as "teacher1"
    And I am on "Course 1" course homepage
    And I navigate to "Users > Groups" in current page administration
    And I press "Import groups"
    When I upload "group/tests/fixtures/groups_import.csv" file to "Import" filemanager
    And I press "Import groups"
    And I press "Continue"
    Then I should see "group-id-1"
    And I should see "group-id-2"
    And I should see "group-id-1-duplicate"
    And I should see "group-noid-1"
    And I should see "group-noid-2"
    And I follow "Groupings"
    And I should see "Grouping-1"
    And I should see "Grouping-2"
    And I should see "Grouping-3"
    And I should see "group-id-1" in the "Grouping-1" "table_row"
    And I should see "group-id-2" in the "Grouping-2" "table_row"
    And I should see "group-noid-2" in the "Grouping-2" "table_row"
    And I should see "group-id-1-duplicate" in the "Grouping-3" "table_row"
    And I should see "group-noid-1" in the "Grouping-3" "table_row"

  @javascript
  Scenario: Import groups with idnumber when the user has proper permissions for the idnumber field
    Given I log in as "teacher1"
    And I am on "Course 1" course homepage
    And I navigate to "Users > Groups" in current page administration
    And I press "Import groups"
    When I upload "group/tests/fixtures/groups_import.csv" file to "Import" filemanager
    And I press "Import groups"
    Then I should see "Group group-id-1 added successfully"
    And I should see "Group group-id-2 added successfully"
    And I should see "group-id-1-duplicate: Group \"group-id-1\" with an idnumber of \"group-id-1\" already exists for this course"
    And I should see "Group group-id-1-duplicate added successfully"
    And I should see "Group group-noid-1 added successfully"
    And I should see "Group group-noid-2 added successfully"
    And I press "Continue"
    And I set the field "groups" to "group-id-1"
    And I press "Edit group settings"
    And the field "id_idnumber" matches value "group-id-1"
    And I press "Cancel"
    And I set the field "groups" to "group-id-2"
    And I press "Edit group settings"
    And the field "id_idnumber" matches value "group-id-2"
    And I press "Cancel"
    And I set the field "groups" to "group-id-1-duplicate"
    And I press "Edit group settings"
    And the field "id_idnumber" matches value ""
    And I press "Cancel"
    And I set the field "groups" to "group-noid-1"
    And I press "Edit group settings"
    And the field "id_idnumber" matches value ""
    And I press "Cancel"
    And I set the field "groups" to "group-noid-2"
    And I press "Edit group settings"
    And the field "id_idnumber" matches value ""
    And I press "Cancel"

  @javascript
  Scenario: Import groups with idnumber when the user does not have proper permissions for the idnumber field
    Given I log in as "admin"
    And I am on "Course 1" course homepage
    And I navigate to "Users > Permissions" in current page administration
    And I override the system permissions of "Teacher" role with:
      | moodle/course:changeidnumber | Prevent |
    And I log out
    And I log in as "teacher1"
    And I am on "Course 1" course homepage
    And I navigate to "Users > Groups" in current page administration
    And I press "Import groups"
    When I upload "group/tests/fixtures/groups_import.csv" file to "Import" filemanager
    And I press "Import groups"
    And I press "Continue"
    Then I set the field "groups" to "group-id-1"
    And I press "Edit group settings"
    And the field "id_idnumber" matches value ""
    And I press "Cancel"
    And I set the field "groups" to "group-id-2"
    And I press "Edit group settings"
    And the field "id_idnumber" matches value ""
    And I press "Cancel"
    And I set the field "groups" to "group-id-1-duplicate"
    And I press "Edit group settings"
    And the field "id_idnumber" matches value ""
    And I press "Cancel"
    And I set the field "groups" to "group-noid-1"
    And I press "Edit group settings"
    And the field "id_idnumber" matches value ""
    And I press "Cancel"
    And I set the field "groups" to "group-noid-2"
    And I press "Edit group settings"
    And the field "id_idnumber" matches value ""
    And I press "Cancel"

  @javascript
  Scenario: Import groups into multiple courses as a teacher
    Given I log in as "teacher1"
    And I am on "Course 1" course homepage
    And I navigate to "Users > Groups" in current page administration
    And I press "Import groups"
    When I upload "group/tests/fixtures/groups_import_multicourse.csv" file to "Import" filemanager
    And I press "Import groups"
    Then I should see "Group group7 added successfully"
    And I should see "Unknown course named \"C-non-existing\""
    And I should see "Group group8 added successfully"
    And I should not see "group-will-not-be-created"
    And I should see "Group group9 added successfully"
    And I should see "Group group10 added successfully"
    And I press "Continue"
    And I should see "group10"
    And I should see "group7"
    And I should see "group8"
    And I should not see "group9"
    And I should not see "group-will-not-be-created"
    And I am on "Course 2" course homepage
    And I navigate to "Users > Groups" in current page administration
    And I should see "group9"
    And I should not see "group-will-not-be-created"
    And I should not see "group7"
    And I should not see "group8"
    And I should not see "group10"
    And I log out