Merge branch 'MDL-69583-master' of git://github.com/ferranrecio/moodle
[moodle.git] / admin / tool / customlang / tests / behat / import_mode.feature
1 @tool @tool_customlang @_file_upload
2 Feature: Within a moodle instance, an administrator should be able to import langstrings with several modes.
3   In order to import modified langstrings in the adminsettings from one to another instance,
4   As an admin
5   I need to be able to import only some language customisation strings depending on some conditions.
7   Background:
8     # Add one customization.
9     Given I log in as "admin"
10     And I navigate to "Language > Language customisation" in site administration
11     And I set the field "lng" to "en"
12     And I press "Open language pack for editing"
13     And I press "Continue"
14     And I set the field "Show strings of these components" to "moodle.php"
15     And I set the field "String identifier" to "administrationsite"
16     And I press "Show strings"
17     And I set the field "core/administrationsite" to "Custom string example"
18     And I press "Save changes to the language pack"
19     And I should see "There are 1 modified strings."
20     And I click on "Continue" "button"
21     And I should see "Custom string example" in the "page-header" "region"
23   @javascript
24   Scenario: Update only customized strings
25     When I set the field "lng" to "en"
26     And I click on "Import custom strings" "button"
27     And I press "Continue"
28     And I upload "admin/tool/customlang/tests/fixtures/moodle.php" file to "Language component(s)" filemanager
29     And I set the field "Import mode" to "Update only strings with local customisation"
30     And I press "Import file"
31     Then I should see "String core/administrationsite updated successfully."
32     And I should see "Ignoring string core/language because it is not customised."
33     And I should see "String core/nonexistentinvetedstring not found."
34     And I click on "Continue" "button"
35     And I should see "There are 1 modified strings."
36     And I should not see "Uploaded custom string" in the "page-header" "region"
37     And I click on "Save strings to language pack" "button"
38     And I click on "Continue" "button"
39     And I should not see "Custom string example" in the "page-header" "region"
40     And I should see "Uploaded custom string" in the "page-header" "region"
41     And I should not see "Another Uploaded string" in the "page-header" "region"
43   @javascript
44   Scenario: Create only new strings
45     When I set the field "lng" to "en"
46     And I click on "Import custom strings" "button"
47     And I press "Continue"
48     And I upload "admin/tool/customlang/tests/fixtures/moodle.php" file to "Language component(s)" filemanager
49     And I set the field "Import mode" to "Create only strings without local customisation"
50     And I press "Import file"
51     Then I should see "Ignoring string core/administrationsite because it is already defined."
52     And I should see "String core/language updated successfully."
53     And I should see "String core/nonexistentinvetedstring not found."
54     And I click on "Continue" "button"
55     And I should see "There are 1 modified strings."
56     And I should not see "Uploaded custom string" in the "page-header" "region"
57     And I click on "Save strings to language pack" "button"
58     And I click on "Continue" "button"
59     And I should see "Custom string example" in the "page-header" "region"
60     And I should not see "Uploaded custom string" in the "page-header" "region"
61     And I should see "Another Uploaded string" in the "page-header" "region"
63   @javascript
64   Scenario: Import all strings
65     When I set the field "lng" to "en"
66     And I click on "Import custom strings" "button"
67     And I press "Continue"
68     And I upload "admin/tool/customlang/tests/fixtures/moodle.php" file to "Language component(s)" filemanager
69     And I set the field "Import mode" to "Create or update all strings from the component(s)"
70     And I press "Import file"
71     Then I should see "String core/administrationsite updated successfully."
72     And I should see "String core/language updated successfully."
73     And I should see "String core/nonexistentinvetedstring not found."
74     And I click on "Continue" "button"
75     And I should see "There are 2 modified strings."
76     And I should not see "Uploaded custom string" in the "page-header" "region"
77     And I click on "Save strings to language pack" "button"
78     And I click on "Continue" "button"
79     And I should not see "Custom string example" in the "page-header" "region"
80     And I should see "Uploaded custom string" in the "page-header" "region"
81     And I should see "Another Uploaded string" in the "page-header" "region"