From c1918fec0b2783fdcfccb5abfde8769d2070ba4a Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Thu, 9 Mar 2023 11:10:42 +0800 Subject: [PATCH 1/1] MDL-77037 core: Add langpack installer generator --- .../tests/behat/courseindex_language.feature | 15 ++++----------- lib/behat/classes/behat_core_generator.php | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/course/format/tests/behat/courseindex_language.feature b/course/format/tests/behat/courseindex_language.feature index fea250113e..9c71647e26 100644 --- a/course/format/tests/behat/courseindex_language.feature +++ b/course/format/tests/behat/courseindex_language.feature @@ -1,9 +1,8 @@ -@core @core_course @core_courseformat @javascript +@core @core_course @core_courseformat Feature: I should see the appropriate language in the course index when I change my preferred language. Background: - Given remote langimport tests are enabled - And the following "users" exist: + Given the following "users" exist: | username | firstname | lastname | email | | teacher1 | Teacher | 1 | teacher1@example.com | | student1 | Student | 1 | student1@example.com | @@ -17,14 +16,8 @@ Feature: I should see the appropriate language in the course index when I change | user | course | role | | student1 | C1 | student | | teacher1 | C1 | editingteacher | - When I log in as "admin" - And I navigate to "Language > Language packs" in site administration - And I set the field "Available language packs" to "fr" - And I press "Install selected language pack(s)" - And the "Installed language packs" select box should contain "en" - And the "Installed language packs" select box should contain "fr" - And I log out - # The course index is hidden by default in small devices. + And the following "language pack" exists: + | language | fr | And I change window size to "large" @javascript diff --git a/lib/behat/classes/behat_core_generator.php b/lib/behat/classes/behat_core_generator.php index 75e7860ef2..2a81c598de 100644 --- a/lib/behat/classes/behat_core_generator.php +++ b/lib/behat/classes/behat_core_generator.php @@ -259,6 +259,11 @@ class behat_core_generator extends behat_generator_base { 'datagenerator' => 'customlang', 'required' => ['component', 'stringid', 'value'], ], + 'language packs' => [ + 'singular' => 'language pack', + 'datagenerator' => 'langpack', + 'required' => ['language'], + ], 'analytics models' => [ 'singular' => 'analytics model', 'datagenerator' => 'analytics_model', @@ -549,6 +554,16 @@ class behat_core_generator extends behat_generator_base { tool_customlang_utils::checkin($USER->lang); } } + /** + * Imports a langpack. + * + * @param array $data + */ + protected function process_langpack($data) { + $controller = new \tool_langimport\controller(); + $controller->install_languagepacks($data['language']); + get_string_manager()->reset_caches(); + } /** * Adapter to enrol_user() data generator. -- 2.39.0