From f2fa7798afd357303a4f081acac42d3bba3b06ca Mon Sep 17 00:00:00 2001 From: Noel De Martin Date: Tue, 16 May 2023 12:42:40 +0200 Subject: [PATCH] MOBILE-4270 behat: Fix viewport in tablet tests --- local_moodleappbehat/tests/behat/behat_app.php | 11 +++++++++++ .../tests/behat/behat_app_helper.php | 4 +--- .../competency/tests/behat/navigation.feature | 4 ++-- .../mod/assign/tests/behat/navigation.feature | 2 +- .../mod/chat/tests/behat/navigation.feature | 2 +- .../mod/feedback/tests/behat/navigation.feature | 2 +- .../mod/forum/tests/behat/basic_usage.feature | 2 +- src/addons/mod/forum/tests/behat/groups.feature | 2 +- .../mod/forum/tests/behat/navigation.feature | 2 +- .../mod/glossary/tests/behat/navigation.feature | 2 +- .../tests/behat/notifications.feature | 2 +- .../grades/tests/behat/navigation-401.feature | 2 +- .../grades/tests/behat/navigation.feature | 4 ++-- .../tests/behat/reportbuilder.feature | 2 +- .../tests/behat/settings_navigation.feature | 2 +- src/tests/behat/navigation_splitview.feature | 3 ++- ...nent-navigate-in-grades-tab-on-tablet_14.png | Bin 0 -> 34294 bytes 17 files changed, 29 insertions(+), 19 deletions(-) create mode 100644 src/tests/behat/snapshots/it-navigates-properly-in-pages-with-a-split-view-component-navigate-in-grades-tab-on-tablet_14.png diff --git a/local_moodleappbehat/tests/behat/behat_app.php b/local_moodleappbehat/tests/behat/behat_app.php index 6eb1d6b7e..cfb235690 100644 --- a/local_moodleappbehat/tests/behat/behat_app.php +++ b/local_moodleappbehat/tests/behat/behat_app.php @@ -1102,4 +1102,15 @@ class behat_app extends behat_app_helper { $this->zone_js("navigator.navigateToSitePath('/calendar/index', $options)"); } + /** + * Change the viewport size in the browser running the Moodle App. + * + * @Given /^I change viewport size to "(?P\d+)x(?P\d+)" in the app$/ + * @param int $width Width + * @param int $height Height + */ + public function i_change_viewport_size_in_the_app(int $width, int $height) { + $this->resize_app_window($width, $height); + } + } diff --git a/local_moodleappbehat/tests/behat/behat_app_helper.php b/local_moodleappbehat/tests/behat/behat_app_helper.php index f30572b01..70235a55c 100644 --- a/local_moodleappbehat/tests/behat/behat_app_helper.php +++ b/local_moodleappbehat/tests/behat/behat_app_helper.php @@ -600,9 +600,7 @@ EOF; /** * Resize window to have app dimensions. */ - protected function resize_app_window() { - $width = 500; - $height = 720; + protected function resize_app_window(int $width = 500, int $height = 720) { $offset = $this->evaluate_script("{ x: window.outerWidth - document.body.offsetWidth, y: window.outerHeight - window.innerHeight, diff --git a/src/addons/competency/tests/behat/navigation.feature b/src/addons/competency/tests/behat/navigation.feature index f0f5932d1..21002f034 100644 --- a/src/addons/competency/tests/behat/navigation.feature +++ b/src/addons/competency/tests/behat/navigation.feature @@ -299,7 +299,7 @@ Feature: Test competency navigation Scenario: Tablet navigation (student) Given I entered the course "Course 1" as "student1" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app # Course competencies When I press "Competencies" in the app @@ -384,7 +384,7 @@ Feature: Test competency navigation Scenario: Tablet navigation (teacher) Given I entered the course "Course 1" as "teacher1" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app # Participant competencies When I press "Participants" in the app diff --git a/src/addons/mod/assign/tests/behat/navigation.feature b/src/addons/mod/assign/tests/behat/navigation.feature index 487a9c34d..356cb8427 100644 --- a/src/addons/mod/assign/tests/behat/navigation.feature +++ b/src/addons/mod/assign/tests/behat/navigation.feature @@ -151,7 +151,7 @@ Feature: Test assignments navigation Scenario: Tablet navigation on assignment Given I entered the course "Course 1" as "teacher1" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app # Initial status When I press "Assignment" in the app diff --git a/src/addons/mod/chat/tests/behat/navigation.feature b/src/addons/mod/chat/tests/behat/navigation.feature index 75b06cd18..a79f05f30 100644 --- a/src/addons/mod/chat/tests/behat/navigation.feature +++ b/src/addons/mod/chat/tests/behat/navigation.feature @@ -29,7 +29,7 @@ Feature: Test chat navigation Scenario: Tablet navigation on chat Given I entered the course "Course 1" as "student2" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app # Sessions When I press "Test chat name" in the app diff --git a/src/addons/mod/feedback/tests/behat/navigation.feature b/src/addons/mod/feedback/tests/behat/navigation.feature index d0e9e61fc..3d6646654 100644 --- a/src/addons/mod/feedback/tests/behat/navigation.feature +++ b/src/addons/mod/feedback/tests/behat/navigation.feature @@ -380,7 +380,7 @@ Feature: Test feedback navigation Scenario: Tablet navigation Given I entered the course "Course 1" as "teacher1" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app # Preview When I press "Feedback" in the app diff --git a/src/addons/mod/forum/tests/behat/basic_usage.feature b/src/addons/mod/forum/tests/behat/basic_usage.feature index d1fe3a64d..0a463b880 100755 --- a/src/addons/mod/forum/tests/behat/basic_usage.feature +++ b/src/addons/mod/forum/tests/behat/basic_usage.feature @@ -41,7 +41,7 @@ Feature: Test basic usage of forum activity in app Scenario: New discussion automatically opened in tablet Given I entered the forum activity "Test forum name" on course "Course 1" as "student1" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app When I press "Add discussion topic" in the app And I set the field "Subject" to "My happy subject" in the app diff --git a/src/addons/mod/forum/tests/behat/groups.feature b/src/addons/mod/forum/tests/behat/groups.feature index b542c22c0..bd02d7162 100755 --- a/src/addons/mod/forum/tests/behat/groups.feature +++ b/src/addons/mod/forum/tests/behat/groups.feature @@ -323,7 +323,7 @@ Feature: Test usage of forum activity with groups in app Scenario: New discussion not opened in tablet if not visible Given I entered the forum activity "Separate groups forum" on course "Course 1" as "teacher1" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app When I press "Separate groups" in the app And I press "Group 1" in the app diff --git a/src/addons/mod/forum/tests/behat/navigation.feature b/src/addons/mod/forum/tests/behat/navigation.feature index 89dae9dee..4c3512113 100644 --- a/src/addons/mod/forum/tests/behat/navigation.feature +++ b/src/addons/mod/forum/tests/behat/navigation.feature @@ -143,7 +143,7 @@ Feature: Test forum navigation Scenario: Tablet navigation on forum Given I entered the course "Course 1" as "student1" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app # By last reply When I press "Forum" in the app diff --git a/src/addons/mod/glossary/tests/behat/navigation.feature b/src/addons/mod/glossary/tests/behat/navigation.feature index 4700884e6..4b09df7db 100644 --- a/src/addons/mod/glossary/tests/behat/navigation.feature +++ b/src/addons/mod/glossary/tests/behat/navigation.feature @@ -214,7 +214,7 @@ Feature: Test glossary navigation @ci_jenkins_skip Scenario: Tablet navigation on glossary Given I entered the course "Course 1" as "student1" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app # Alphabetically When I press "Fruits glossary" in the app diff --git a/src/addons/notifications/tests/behat/notifications.feature b/src/addons/notifications/tests/behat/notifications.feature index 90e500400..21f5eff1f 100644 --- a/src/addons/notifications/tests/behat/notifications.feature +++ b/src/addons/notifications/tests/behat/notifications.feature @@ -81,7 +81,7 @@ Feature: Notifications Scenario: Tablet navigation Given I enter the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app And I log in as "student1" And I press "Notifications" in the app Then I should find "Test 30" in the app diff --git a/src/core/features/grades/tests/behat/navigation-401.feature b/src/core/features/grades/tests/behat/navigation-401.feature index b6b3c6b1b..6aca275e2 100644 --- a/src/core/features/grades/tests/behat/navigation-401.feature +++ b/src/core/features/grades/tests/behat/navigation-401.feature @@ -84,7 +84,7 @@ Feature: Grades navigation # in 4.1. It tests the grades from participants profile instead. Scenario: Tablet navigation (teacher) Given I entered the course "Course 2" as "teacher1" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app # Course grades When I press "Participants" in the app diff --git a/src/core/features/grades/tests/behat/navigation.feature b/src/core/features/grades/tests/behat/navigation.feature index 1ee0a463a..113960acc 100644 --- a/src/core/features/grades/tests/behat/navigation.feature +++ b/src/core/features/grades/tests/behat/navigation.feature @@ -203,7 +203,7 @@ Feature: Grades navigation Scenario: Tablet navigation (student) Given I entered the course "Course 2" as "student1" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app # Course grades When I press "Grades" in the app @@ -284,7 +284,7 @@ Feature: Grades navigation @lms_from4.2 Scenario: Tablet navigation (teacher) Given I entered the course "Course 2" as "teacher1" in the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app # User grades When I press "Grades" in the app diff --git a/src/core/features/reportbuilder/tests/behat/reportbuilder.feature b/src/core/features/reportbuilder/tests/behat/reportbuilder.feature index fc004127d..9c356811c 100644 --- a/src/core/features/reportbuilder/tests/behat/reportbuilder.feature +++ b/src/core/features/reportbuilder/tests/behat/reportbuilder.feature @@ -133,7 +133,7 @@ Feature: Report builder Scenario: Open report in tablet Given I enter the app - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app And I log in as "student1" And I press the user menu button in the app When I press "Reports" in the app diff --git a/src/core/features/settings/tests/behat/settings_navigation.feature b/src/core/features/settings/tests/behat/settings_navigation.feature index 5e14ec472..a25562164 100644 --- a/src/core/features/settings/tests/behat/settings_navigation.feature +++ b/src/core/features/settings/tests/behat/settings_navigation.feature @@ -47,7 +47,7 @@ Feature: It navigates properly within settings. Scenario: Tablet navigation on settings Given I entered the app as "student1" - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app # Settings When I press "More" in the app diff --git a/src/tests/behat/navigation_splitview.feature b/src/tests/behat/navigation_splitview.feature index 74f331fbb..26b899ed0 100644 --- a/src/tests/behat/navigation_splitview.feature +++ b/src/tests/behat/navigation_splitview.feature @@ -76,7 +76,7 @@ Feature: It navigates properly in pages with a split-view component. # Open user menu Given I entered the app as "student1" - And I change viewport size to "1200x640" + And I change viewport size to "1200x640" in the app And I press the user menu button in the app # Open grades page @@ -85,6 +85,7 @@ Feature: It navigates properly in pages with a split-view component. And I should find "Course 1" in the app And I should find "Course 2" in the app And I should find "Grade category C1" in the app + And the UI should match the snapshot # Open C1 course grades When I press "Grade item C1" in the app diff --git a/src/tests/behat/snapshots/it-navigates-properly-in-pages-with-a-split-view-component-navigate-in-grades-tab-on-tablet_14.png b/src/tests/behat/snapshots/it-navigates-properly-in-pages-with-a-split-view-component-navigate-in-grades-tab-on-tablet_14.png new file mode 100644 index 0000000000000000000000000000000000000000..f1033553a107e3fd0c7882aa18da49f847baa527 GIT binary patch literal 34294 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%0A|+t` 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%0A-9?>)VAkh9hE>@Z5I@s&;FpuQ=bCV()Z! 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 literal 0 HcmV?d00001