AutorÃa | Ultima modificación | Ver Log |
@mod @mod_data @javascript @_file_uploadFeature: Users can import presetsIn order to use presetsAs a userI need to import and apply presets from zip filesBackground:Given the following "users" exist:| username | firstname | lastname | email || teacher1 | Teacher | 1 | teacher1@example.com |And the following "courses" exist:| fullname | shortname | category || Course 1 | C1 | 0 |And the following "course enrolments" exist:| user | course | role || teacher1 | C1 | editingteacher |And the following "activities" exist:| activity | name | intro | course | idnumber || data | Mountain landscapes | n | C1 | data1 |Scenario: Teacher can import from preset page on an empty databaseGiven I am on the "Mountain landscapes" "data activity" page logged in as teacher1And I follow "Presets"And I choose the "Import preset" item in the "Action" action menuAnd I upload "mod/data/tests/fixtures/image_gallery_preset.zip" file to "Preset file" filemanagerWhen I click on "Import preset and apply" "button"Then I should not see "Field mappings"And I should see "Image" in the "image" "table_row"Scenario: Teacher can import from preset page on a database with fieldsGiven the following "mod_data > fields" exist:| database | type | name | description || data1 | text | Test field name | Test field description |And I am on the "Mountain landscapes" "data activity" page logged in as teacher1And I follow "Presets"And I choose the "Import preset" item in the "Action" action menuAnd I upload "mod/data/tests/fixtures/image_gallery_preset.zip" file to "Preset file" filemanagerWhen I click on "Import preset and apply" "button"Then I should see "Field mappings"And I should see "image"And I should see "Create a new field" in the "image" "table_row"Scenario: Teacher can import from preset page on a database with entriesAnd the following "mod_data > fields" exist:| database | type | name | description || data1 | text | field1 | Test field description |And the following "mod_data > templates" exist:| database | name || data1 | singletemplate || data1 | listtemplate || data1 | addtemplate || data1 | asearchtemplate || data1 | rsstemplate |And the following "mod_data > entries" exist:| database | field1 || data1 | Student entry 1 |And I am on the "Mountain landscapes" "data activity" page logged in as teacher1And I follow "Presets"And I choose the "Import preset" item in the "Action" action menuAnd I upload "mod/data/tests/fixtures/image_gallery_preset.zip" file to "Preset file" filemanagerWhen I click on "Import preset and apply" "button"Then I should see "Field mappings"And I should see "image"And I should see "Create a new field" in the "image" "table_row"Scenario: Teacher can import from field page on a database with entriesAnd the following "mod_data > fields" exist:| database | type | name | description || data1 | text | field1 | Test field description |And the following "mod_data > templates" exist:| database | name || data1 | singletemplate || data1 | listtemplate || data1 | addtemplate || data1 | asearchtemplate || data1 | rsstemplate |And the following "mod_data > entries" exist:| database | field1 || data1 | Student entry 1 |And I am on the "Mountain landscapes" "data activity" page logged in as teacher1And I follow "Presets"And I choose the "Import preset" item in the "Action" action menuAnd I upload "mod/data/tests/fixtures/image_gallery_preset.zip" file to "Preset file" filemanagerWhen I click on "Import preset and apply" "button"Then I should see "Field mappings"And I should see "title"And I should see "Create a new field" in the "title" "table_row"# We map existing field to keep the entry dataAnd I set the field "id_title" to "Map to field1"And I click on "Continue" "button"And I follow "Database"And I should see "Student entry"Scenario: Teacher can import from zero state page on an empty databaseGiven I am on the "Mountain landscapes" "data activity" page logged in as teacher1And I click on "Import a preset" "button"And I upload "mod/data/tests/fixtures/image_gallery_preset.zip" file to "Preset file" filemanagerWhen I click on "Import preset and apply" "button"Then I should not see "Field mappings"And I should see "Image" in the "image" "table_row"Scenario: Importing a preset could create new fieldsGiven the following "mod_data > fields" exist:| database | type | name || data1 | text | title |And I am on the "Mountain landscapes" "data activity" page logged in as teacher1And I follow "Fields"And I should see "title"And I should not see "Description"And I should not see "image"And I follow "Presets"And I choose the "Import preset" item in the "Action" action menuAnd I upload "mod/data/tests/fixtures/image_gallery_preset.zip" file to "Preset file" filemanagerWhen I click on "Import preset and apply" "button"And I click on "Continue" "button"And I should see "Preset applied"Then I should see "title"And I should see "description" in the "description" "table_row"And I should see "image" in the "image" "table_row"Scenario: Importing a preset could create map fieldsGiven the following "mod_data > fields" exist:| database | type | name || data1 | text | oldtitle |And I am on the "Mountain landscapes" "data activity" page logged in as teacher1And I follow "Fields"And I should see "oldtitle"And I should not see "Description"And I should not see "image"And I follow "Presets"And I choose the "Import preset" item in the "Action" action menuAnd I upload "mod/data/tests/fixtures/image_gallery_preset.zip" file to "Preset file" filemanagerWhen I click on "Import preset and apply" "button"# Let's map a field that is not mapped by defaultAnd I should see "Create a new field" in the "oldtitle" "table_row"And I set the field "id_title" to "Map to oldtitle"And I click on "Continue" "button"And I should see "Preset applied"Then I should not see "oldtitle"And I should see "title"And I should see "description" in the "description" "table_row"And I should see "image" in the "image" "table_row"Scenario: Importing same preset twice doesn't show mapping dialogue# Importing a preset on an empty database doesn't show the mapping dialogue, so we add a field for the database# not to be empty.Given the following "mod_data > fields" exist:| database | type | name || data1 | text | title |And I am on the "Mountain landscapes" "data activity" page logged in as teacher1And I follow "Presets"And I choose the "Import preset" item in the "Action" action menuAnd I upload "mod/data/tests/fixtures/image_gallery_preset.zip" file to "Preset file" filemanagerWhen I click on "Import preset and apply" "button"And I should see "Field mappings"And I click on "Continue" "button"And I should see "Preset applied"And I follow "Presets"And I choose the "Import preset" item in the "Action" action menuAnd I upload "mod/data/tests/fixtures/image_gallery_preset.zip" file to "Preset file" filemanagerAnd I click on "Import preset and apply" "button"Then I should not see "Field mappings"And I should see "Preset applied"Scenario: Teacher can import from field page on a non-empty database and previous fields will be removedGiven the following "mod_data > fields" exist:| database | type | name | description || data1 | text | Test field name | Test field description |And I am on the "Mountain landscapes" "data activity" page logged in as teacher1And I follow "Presets"And I click on "Actions" "button"And I choose "Import preset" in the open action menuAnd I upload "mod/data/tests/fixtures/image_gallery_preset.zip" file to "Preset file" filemanagerWhen I click on "Import preset and apply" "button"And I click on "Continue" "button"Then I should see "Preset applied."And I follow "Fields"And I should see "image"And I should see "title"And I should not see "Test field name"