From 4cd4fa6fd67e0b5ed38895765b295d37d8782ca4 Mon Sep 17 00:00:00 2001 From: Noel De Martin Date: Mon, 13 May 2024 13:18:29 +0200 Subject: [PATCH] MOBILE-4470 behat: Fix tests for 4.1 and older --- .../blog/tests/behat/edit-entry.feature | 3 +- src/addons/blog/tests/behat/entries.feature | 3 +- .../competency/tests/behat/navigation.feature | 8 +- .../tests/behat/navigation-311.feature | 78 +++++ .../tests/behat/navigation.feature | 5 +- .../chat/tests/behat/basic_usage-311.feature | 94 ++++++ .../mod/chat/tests/behat/basic_usage.feature | 5 +- .../chat/tests/behat/navigation-311.feature | 47 +++ .../mod/chat/tests/behat/navigation.feature | 5 +- .../mod/data/tests/behat/entries.feature | 35 +-- src/addons/mod/data/tests/behat/sync.feature | 35 +-- .../feedback/tests/behat/navigation.feature | 5 +- .../mod/forum/tests/behat/groups.feature | 5 +- .../mod/forum/tests/behat/search.feature | 3 +- .../quiz/tests/behat/attempts_list.feature | 2 +- .../quiz/tests/behat/basic_usage-311.feature | 2 +- .../quiz/tests/behat/basic_usage-39.feature | 9 +- .../tests/behat/basic_usage-311.feature | 277 ++++++++++++++++++ .../survey/tests/behat/basic_usage.feature | 5 +- .../workshop/tests/behat/basic_usage.feature | 1 + .../tests/behat/notifications.feature | 5 +- .../comments/tests/behat/basic_usage.feature | 5 +- .../tests/behat/basic_usage-311.feature | 128 -------- .../course/tests/behat/basic_usage.feature | 3 +- .../course/tests/behat/guest_access.feature | 1 - .../grades/tests/behat/navigation-401.feature | 5 +- .../grades/tests/behat/navigation.feature | 5 +- .../grades/tests/behat/view-311.feature | 73 ----- .../features/grades/tests/behat/view.feature | 3 +- .../features/login/tests/behat/signup.feature | 6 +- .../settings/tests/behat/sync.feature | 5 +- .../user/tests/behat/basic_usage.feature | 5 +- ...sage-of-user-features-view-profile_22.png} | Bin src/core/tests/behat/open_files-309.feature | 17 +- src/core/tests/behat/open_files.feature | 5 +- 35 files changed, 603 insertions(+), 290 deletions(-) create mode 100644 src/addons/coursecompletion/tests/behat/navigation-311.feature create mode 100644 src/addons/mod/chat/tests/behat/basic_usage-311.feature create mode 100644 src/addons/mod/chat/tests/behat/navigation-311.feature create mode 100644 src/addons/mod/survey/tests/behat/basic_usage-311.feature delete mode 100755 src/core/features/course/tests/behat/basic_usage-311.feature delete mode 100644 src/core/features/grades/tests/behat/view-311.feature rename src/core/features/user/tests/behat/snapshots/{test-basic-usage-of-user-features-view-profile_21.png => test-basic-usage-of-user-features-view-profile_22.png} (100%) diff --git a/src/addons/blog/tests/behat/edit-entry.feature b/src/addons/blog/tests/behat/edit-entry.feature index 23ee7020e..a2e1d8112 100644 --- a/src/addons/blog/tests/behat/edit-entry.feature +++ b/src/addons/blog/tests/behat/edit-entry.feature @@ -3,7 +3,8 @@ Feature: Edit blog entries In order to add or edit blog entries as User Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | firstname | lastname | email | | testuser | Test | User | moodle@example.com | | testuser2 | Test | User2 | moodle@example.com | diff --git a/src/addons/blog/tests/behat/entries.feature b/src/addons/blog/tests/behat/entries.feature index b26f50809..3c8d49341 100644 --- a/src/addons/blog/tests/behat/entries.feature +++ b/src/addons/blog/tests/behat/entries.feature @@ -4,7 +4,8 @@ Feature: Blog entries As a user Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | firstname | lastname | email | | testuser | Test | User | moodle@example.com | And the following "core_blog > entries" exist: diff --git a/src/addons/competency/tests/behat/navigation.feature b/src/addons/competency/tests/behat/navigation.feature index 344812f1e..002d8f63c 100644 --- a/src/addons/competency/tests/behat/navigation.feature +++ b/src/addons/competency/tests/behat/navigation.feature @@ -1,8 +1,9 @@ -@addon_competency @app @javascript +@addon_competency @app @javascript @lms_from3.11 Feature: Test competency navigation Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | firstname | lastname | | student1 | Student | first | | student2 | Student | second | @@ -475,8 +476,7 @@ Feature: Test competency navigation @lms_from4.4 Scenario: Disable features - Given the Moodle site is compatible with this feature - And the following config values are set as admin: + Given the following config values are set as admin: | enabled | 0 | core_competency | When I entered the course "Course 1" as "student1" in the app diff --git a/src/addons/coursecompletion/tests/behat/navigation-311.feature b/src/addons/coursecompletion/tests/behat/navigation-311.feature new file mode 100644 index 000000000..e132c373d --- /dev/null +++ b/src/addons/coursecompletion/tests/behat/navigation-311.feature @@ -0,0 +1,78 @@ +@addon_coursecompletion @app @javascript @lms_upto3.11 +Feature: Course completion navigation + + Background: + Given the Moodle site is compatible with this feature + And the following "users" exist: + | username | firstname | lastname | email | idnumber | + | teacher1 | Teacher | 1 | teacher1@example.com | T1 | + | student1 | Student | 1 | student1@example.com | S1 | + And the following "courses" exist: + | fullname | shortname | category | enablecompletion | showcompletionconditions | + | Course 1 | C1 | 0 | 1 | 1 | + | Course 2 | C2 | 0 | | | + And the following "course enrolments" exist: + | user | course | role | + | teacher1 | C1 | editingteacher | + | teacher1 | C2 | editingteacher | + | student1 | C1 | student | + | student1 | C2 | student | + And the following "activity" exists: + | activity | assign | + | course | C1 | + | name | Test assignment name | + | assignsubmission_onlinetext_enabled | 1 | + | grade[modgrade_type] | Point | + | grade[modgrade_point] | 100 | + | gradepass | 70 | + | completion | 2 | + | completionusegrade | 1 | + | completionpassgrade | 1 | + And the following "activity" exists: + | activity | page | + | course | C2 | + | name | P1 | + And the following "blocks" exist: + | blockname | contextlevel | reference | + | completionstatus | Course | C1 | + | selfcompletion | Course | C1 | + | activity_modules | Course | C1 | + | completionstatus | Course | C2 | + | selfcompletion | Course | C2 | + | activity_modules | Course | C2 | + And the following config values are set as admin: + | enablecompletion | 1 | + And I am on the "Course 1" course page logged in as teacher1 + And I navigate to "Course completion" in current page administration + And I click on "Condition: Activity completion" "link" + And I set the field "Assignment - Test assignment name" to "1" + And I expand all fieldsets + And I set the following fields to these values: + | id_criteria_self | 1 | + And I press "Save changes" + + Scenario: Completion is available only when enabled for the course + Given I entered the course "Course 1" as "student1" in the app + When I press "Open block drawer" in the app + Then I should find "Course completion status" in the app + And I should find "Self completion" in the app + When I press "Close" in the app + And I press "Completion" in the app + Then I should find "Status" in the app + + Given I entered the course "Course 2" as "student1" in the app + When I press "Open block drawer" in the app + Then I should not find "Course completion status" in the app + And I should not find "Self completion" in the app + When I press "Close" in the app + Then I should not find "Completion" in the app + + Given the following config values are set as admin: + | enablecompletion | 0 | + Then I entered the course "Course 1" as "student1" in the app + And I pull to refresh in the app + When I press "Open block drawer" in the app + Then I should not find "Course completion status" in the app + And I should not find "Self completion" in the app + When I press "Close" in the app + Then I should not find "Completion" in the app diff --git a/src/addons/coursecompletion/tests/behat/navigation.feature b/src/addons/coursecompletion/tests/behat/navigation.feature index 7d8969f16..06d223e67 100644 --- a/src/addons/coursecompletion/tests/behat/navigation.feature +++ b/src/addons/coursecompletion/tests/behat/navigation.feature @@ -1,8 +1,9 @@ -@addon_coursecompletion @app @javascript +@addon_coursecompletion @app @javascript @lms_from4.0 Feature: Course completion navigation Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | firstname | lastname | email | idnumber | | teacher1 | Teacher | 1 | teacher1@example.com | T1 | | student1 | Student | 1 | student1@example.com | S1 | diff --git a/src/addons/mod/chat/tests/behat/basic_usage-311.feature b/src/addons/mod/chat/tests/behat/basic_usage-311.feature new file mode 100644 index 000000000..731e5ad65 --- /dev/null +++ b/src/addons/mod/chat/tests/behat/basic_usage-311.feature @@ -0,0 +1,94 @@ +@addon_mod_chat @app @javascript @lms_upto3.11 +Feature: Test basic usage of chat in app + As a student + I need basic chat functionality to work + + Background: + Given the Moodle site is compatible with this feature + And the following "courses" exist: + | fullname | shortname | + | Course 1 | C1 | + And the following "users" exist: + | username | firstname | lastname | + | student1 | david | student | + | student2 | pau | student2 | + And the following "course enrolments" exist: + | user | course | role | + | student1 | C1 | student | + | student2 | C1 | student | + And the following "activities" exist: + | activity | name | intro | course | idnumber | groupmode | + | chat | Test chat name | Test chat | C1 | chat | 0 | + + Scenario: Receive and send messages & See connected users, beep and talk to + # Send messages as student1 + Given I entered the chat activity "Test chat name" on course "Course 1" as "student1" in the app + Then I should find "Enter the chat" in the app + And I should find "Past sessions" in the app + + When I press "Enter the chat" in the app + And I set the field "New message" to "Hi!" in the app + And I press "Send" in the app + Then I should find "Hi!" in the app + + When I set the field "New message" to "I am David" in the app + And I press "Send" in the app + Then I should find "Hi!" in the app + And I should find "I am David" in the app + # Confirm leave the page + And I press the back button in the app + And I press "OK" in the app + + # Read messages, view connected users, send beep and reply as student2 + Given I entered the chat activity "Test chat name" on course "Course 1" as "student2" in the app + And I press "Enter the chat" in the app + Then I should find "Hi!" in the app + And I should find "I am David" in the app + + When I press "Users" in the app + Then I should find "david student" in the app + + When I press "Beep" in the app + Then I should find "You beeped david student" in the app + + When I set the field "New message" to "Hi David, I am Pau." in the app + And I press "Send" in the app + Then I should find "Hi David, I am Pau." in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_chat\event\course_module_viewed | chat | Test chat name | Course 1 | + | \mod_chat\event\message_sent | chat | Test chat name | Course 1 | + And the following events should have been logged for "student2" in the app: + | name | activity | activityname | course | + | \mod_chat\event\course_module_viewed | chat | Test chat name | Course 1 | + | \mod_chat\event\message_sent | chat | Test chat name | Course 1 | + + Scenario: Past sessions shown + # Send messages as student1 + Given I entered the chat activity "Test chat name" on course "Course 1" as "student1" in the app + When I press "Enter the chat" in the app + And I set the field "New message" to "Hi!" in the app + And I press "Send" in the app + Then I should find "Hi!" in the app + + When I set the field "New message" to "I am David" in the app + And I press "Send" in the app + Then I should find "I am David" in the app + # Confirm leave the page + And I press the back button in the app + And I press "OK" in the app + + # Read messages from past sessions as student2 + Given I entered the chat activity "Test chat name" on course "Course 1" as "student2" in the app + When I press "Past sessions" in the app + And I press "Show incomplete sessions" in the app + And I press "david student" near "(2)" in the app + Then I should find "Hi!" in the app + And I should find "I am David" in the app + + Scenario: Prefetch chat + # Only check that the chat is marked as downloaded to test that lazy handler is working. + Given I entered the course "Course 1" as "student1" in the app + When I press "Course downloads" in the app + And I press "Download" within "Test chat name" "ion-item" in the app + Then I should not be able to press "Download" within "Test chat name" "ion-item" in the app diff --git a/src/addons/mod/chat/tests/behat/basic_usage.feature b/src/addons/mod/chat/tests/behat/basic_usage.feature index 432913c61..35d8792fb 100755 --- a/src/addons/mod/chat/tests/behat/basic_usage.feature +++ b/src/addons/mod/chat/tests/behat/basic_usage.feature @@ -1,10 +1,11 @@ -@addon_mod_chat @app @javascript +@addon_mod_chat @app @javascript @lms_from4.0 Feature: Test basic usage of chat in app As a student I need basic chat functionality to work Background: - Given the following "courses" exist: + Given the Moodle site is compatible with this feature + And the following "courses" exist: | fullname | shortname | | Course 1 | C1 | And the following "users" exist: diff --git a/src/addons/mod/chat/tests/behat/navigation-311.feature b/src/addons/mod/chat/tests/behat/navigation-311.feature new file mode 100644 index 000000000..ebcc7fdb0 --- /dev/null +++ b/src/addons/mod/chat/tests/behat/navigation-311.feature @@ -0,0 +1,47 @@ +@addon_mod_chat @app @javascript @lms_upto3.11 +Feature: Test chat navigation + + Background: + Given the Moodle site is compatible with this feature + And the following "courses" exist: + | fullname | shortname | + | Course 1 | C1 | + And the following "users" exist: + | username | firstname | lastname | + | student1 | Student | first | + | student2 | Student | second | + And the following "course enrolments" exist: + | user | course | role | + | student1 | C1 | student | + | student2 | C1 | student | + And the following "activities" exist: + | activity | name | intro | course | idnumber | groupmode | + | chat | Test chat name | Test chat | C1 | chat | 0 | + # Create sessions + # TODO use generator instead + And I entered the chat activity "Test chat name" on course "Course 1" as "student1" in the app + And I press "Enter the chat" in the app + And I set the field "New message" to "Test message" in the app + And I press "Send" in the app + Then I should find "Test message" in the app + # Confirm leave the page + And I press the back button in the app + And I press "OK" in the app + + Scenario: Tablet navigation on chat + Given I entered the course "Course 1" as "student2" in the app + And I change viewport size to "1200x640" in the app + + # Sessions + When I press "Test chat name" in the app + And I press "Past sessions" in the app + Then I should find "No sessions found" in the app + + # Sessions — split view + When I press "Show incomplete sessions" in the app + Then "Student first" should be selected in the app + And I should find "Test message" in the app + + When I press "Show incomplete sessions" in the app + Then I should not find "Student first" in the app + And I should not find "Test message" in the app diff --git a/src/addons/mod/chat/tests/behat/navigation.feature b/src/addons/mod/chat/tests/behat/navigation.feature index aa41a3637..76bd66584 100644 --- a/src/addons/mod/chat/tests/behat/navigation.feature +++ b/src/addons/mod/chat/tests/behat/navigation.feature @@ -1,8 +1,9 @@ -@addon_mod_chat @app @javascript +@addon_mod_chat @app @javascript @lms_from4.0 Feature: Test chat navigation Background: - Given the following "courses" exist: + Given the Moodle site is compatible with this feature + And the following "courses" exist: | fullname | shortname | | Course 1 | C1 | And the following "users" exist: diff --git a/src/addons/mod/data/tests/behat/entries.feature b/src/addons/mod/data/tests/behat/entries.feature index dd8093e59..5a1d0b033 100644 --- a/src/addons/mod/data/tests/behat/entries.feature +++ b/src/addons/mod/data/tests/behat/entries.feature @@ -1,30 +1,31 @@ -@addon_mod_data @app @javascript +@addon_mod_data @app @javascript @lms_from3.11 Feature: Users can manage entries in database activities In order to populate databases As a user I need to add and manage entries to databases Background: - Given the following "users" exist: - | username | firstname | lastname | email | - | student1 | Student | 1 | student1@example.com | - | student2 | Student | 2 | student2@example.com | - | teacher1 | Teacher | 1 | teacher1@example.com | + Given the Moodle site is compatible with this feature + And the following "users" exist: + | username | firstname | lastname | email | + | student1 | Student | 1 | student1@example.com | + | student2 | Student | 2 | student2@example.com | + | teacher1 | Teacher | 1 | teacher1@example.com | And the following "courses" exist: - | fullname | shortname | category | - | Course 1 | C1 | 0 | + | fullname | shortname | category | + | Course 1 | C1 | 0 | And the following "course enrolments" exist: - | user | course | role | - | teacher1 | C1 | editingteacher | - | student1 | C1 | student | - | student2 | C1 | student | + | user | course | role | + | teacher1 | C1 | editingteacher | + | student1 | C1 | student | + | student2 | C1 | student | And the following "activities" exist: - | activity | name | intro | course | idnumber | comments | - | data | Web links | Useful links | C1 | data1 | 0 | + | activity | name | intro | course | idnumber | comments | + | data | Web links | Useful links | C1 | data1 | 0 | And the following "mod_data > fields" exist: - | database | type | name | description | - | data1 | text | URL | URL link | - | data1 | text | Description | Link description | + | database | type | name | description | + | data1 | text | URL | URL link | + | data1 | text | Description | Link description | Scenario: Create entry Given I entered the data activity "Web links" on course "Course 1" as "student1" in the app diff --git a/src/addons/mod/data/tests/behat/sync.feature b/src/addons/mod/data/tests/behat/sync.feature index f1e4f8a00..94da99e3c 100644 --- a/src/addons/mod/data/tests/behat/sync.feature +++ b/src/addons/mod/data/tests/behat/sync.feature @@ -1,30 +1,31 @@ -@addon_mod_data @app @javascript +@addon_mod_data @app @javascript @lms_from3.11 Feature: Users can store entries in database activities when offline and sync when online In order to populate databases while offline As a user I need to add and manage entries to databases and sync then when online Background: - Given the following "users" exist: - | username | firstname | lastname | email | - | student1 | Student | 1 | student1@example.com | - | student2 | Student | 2 | student2@example.com | - | teacher1 | Teacher | 1 | teacher1@example.com | + Given the Moodle site is compatible with this feature + And the following "users" exist: + | username | firstname | lastname | email | + | student1 | Student | 1 | student1@example.com | + | student2 | Student | 2 | student2@example.com | + | teacher1 | Teacher | 1 | teacher1@example.com | And the following "courses" exist: - | fullname | shortname | category | - | Course 1 | C1 | 0 | + | fullname | shortname | category | + | Course 1 | C1 | 0 | And the following "course enrolments" exist: - | user | course | role | - | teacher1 | C1 | editingteacher | - | student1 | C1 | student | - | student2 | C1 | student | + | user | course | role | + | teacher1 | C1 | editingteacher | + | student1 | C1 | student | + | student2 | C1 | student | And the following "activities" exist: - | activity | name | intro | course | idnumber | - | data | Web links | Useful links | C1 | data1 | + | activity | name | intro | course | idnumber | + | data | Web links | Useful links | C1 | data1 | And the following "mod_data > fields" exist: - | database | type | name | description | - | data1 | text | URL | URL link | - | data1 | text | Description | Link description | + | database | type | name | description | + | data1 | text | URL | URL link | + | data1 | text | Description | Link description | Scenario: Create entry (offline) Given I entered the data activity "Web links" on course "Course 1" as "student1" in the app diff --git a/src/addons/mod/feedback/tests/behat/navigation.feature b/src/addons/mod/feedback/tests/behat/navigation.feature index c808c5f47..fbb6e8baa 100644 --- a/src/addons/mod/feedback/tests/behat/navigation.feature +++ b/src/addons/mod/feedback/tests/behat/navigation.feature @@ -1,8 +1,9 @@ -@addon_mod_feedback @app @javascript +@addon_mod_feedback @app @javascript @lms_from3.11 Feature: Test feedback navigation Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | firstname | lastname | | teacher1 | Teacher | teacher | | student01 | Student | 01 | diff --git a/src/addons/mod/forum/tests/behat/groups.feature b/src/addons/mod/forum/tests/behat/groups.feature index a8912f610..48bb5f3ce 100755 --- a/src/addons/mod/forum/tests/behat/groups.feature +++ b/src/addons/mod/forum/tests/behat/groups.feature @@ -2,7 +2,8 @@ Feature: Test usage of forum activity with groups in app Background: - Given the following "courses" exist: + Given the Moodle site is compatible with this feature + And the following "courses" exist: | fullname | shortname | | Course 1 | C1 | And the following "users" exist: @@ -33,6 +34,7 @@ Feature: Test usage of forum activity with groups in app | forum2 | Disc vis G2 | Disc vis G2 | Disc vis G2 content | G2 | | forum2 | Disc vis ALL | Disc vis ALL | Disc vis ALL content | All participants | + @lms_from4.1 Scenario: Student can only see the right groups Given I entered the forum activity "Separate groups forum" on course "Course 1" as "student1" in the app Then I should find "Disc sep G1" in the app @@ -63,6 +65,7 @@ Feature: Test usage of forum activity with groups in app And I should find "Disc vis ALL" in the app But I should not find "Disc vis G2" in the app + @lms_from4.1 Scenario: Teacher can see all groups Given I entered the forum activity "Separate groups forum" on course "Course 1" as "teacher1" in the app When I press "Separate groups" in the app diff --git a/src/addons/mod/forum/tests/behat/search.feature b/src/addons/mod/forum/tests/behat/search.feature index da09546b4..99adbfd59 100644 --- a/src/addons/mod/forum/tests/behat/search.feature +++ b/src/addons/mod/forum/tests/behat/search.feature @@ -2,7 +2,8 @@ Feature: Test Forum Search Background: - Given solr is installed + Given the Moodle site is compatible with this feature + And solr is installed And the following config values are set as admin: | enableglobalsearch | 1 | | searchengine | solr | diff --git a/src/addons/mod/quiz/tests/behat/attempts_list.feature b/src/addons/mod/quiz/tests/behat/attempts_list.feature index dea9c5de4..176cbcacb 100644 --- a/src/addons/mod/quiz/tests/behat/attempts_list.feature +++ b/src/addons/mod/quiz/tests/behat/attempts_list.feature @@ -1,4 +1,4 @@ -@addon_mod_quiz @app @javascript +@addon_mod_quiz @app @javascript @lms_from3.11 Feature: View list of attempts in the app Background: diff --git a/src/addons/mod/quiz/tests/behat/basic_usage-311.feature b/src/addons/mod/quiz/tests/behat/basic_usage-311.feature index be10f47fb..a0fb9ae7e 100644 --- a/src/addons/mod/quiz/tests/behat/basic_usage-311.feature +++ b/src/addons/mod/quiz/tests/behat/basic_usage-311.feature @@ -1,4 +1,4 @@ -@addon_mod_quiz @app @javascript @lms_from3.10 @lms_upto3.11 +@addon_mod_quiz @app @javascript @lms_from3.11 @lms_upto3.11 Feature: Attempt a quiz in app As a student In order to demonstrate what I know diff --git a/src/addons/mod/quiz/tests/behat/basic_usage-39.feature b/src/addons/mod/quiz/tests/behat/basic_usage-39.feature index 4004a74cd..a0771668a 100644 --- a/src/addons/mod/quiz/tests/behat/basic_usage-39.feature +++ b/src/addons/mod/quiz/tests/behat/basic_usage-39.feature @@ -89,12 +89,9 @@ Feature: Attempt a quiz in app And I press "Next" in the app And I press "True" in the app And I press "Next" in the app - And I press "Choose... , frog" in the app - And I press "amphibian" in the app - And I press "Choose... , newt" in the app - And I press "insect" in the app - And I press "Choose... , cat" in the app - And I press "mammal" in the app + And I set the field "frog" to "amphibian" in the app + And I set the field "newt" to "insect" in the app + And I set the field "cat" to "mammal" in the app And I press "Next" in the app Then I should find "Text of the eighth question" in the app diff --git a/src/addons/mod/survey/tests/behat/basic_usage-311.feature b/src/addons/mod/survey/tests/behat/basic_usage-311.feature new file mode 100644 index 000000000..7d3a217c8 --- /dev/null +++ b/src/addons/mod/survey/tests/behat/basic_usage-311.feature @@ -0,0 +1,277 @@ +@addon_mod_survey @app @javascript @lms_upto3.11 +Feature: Test basic usage of survey activity in app + In order to participate in surveys while using the mobile app + As a student + I need basic survey functionality to work + + Background: + Given the Moodle site is compatible with this feature + And the following "courses" exist: + | fullname | shortname | + | Course 1 | C1 | + And the following "users" exist: + | username | + | student1 | + | teacher1 | + And the following "course enrolments" exist: + | user | course | role | + | student1 | C1 | student | + | teacher1 | C1 | editingteacher | + And the following "activities" exist: + | activity | name | intro | course | idnumber | groupmode | + | survey | Test survey name | Test survey | C1 | survey | 0 | + + Scenario: Answer a survey & View results (ATTLS) + Given I entered the survey activity "Test survey name" on course "Course 1" as "student1" in the app + And I set the following fields to these values in the app: + | 1. In evaluating what someone says, I focus on the quality of their argument, not on the person who's presenting it. | Strongly agree | + | 2. I like playing devil's advocate - arguing the opposite of what someone is saying. | Strongly disagree | + | 3. I like to understand where other people are 'coming from', what experiences have led them to feel the way they do. | Somewhat agree | + | 4. The most important part of my education has been learning to understand people who are very different to me. | Somewhat disagree | + | 5. I feel that the best way for me to achieve my own identity is to interact with a variety of other people. | Somewhat agree | + | 6. I enjoy hearing the opinions of people who come from backgrounds different to mine - it helps me to understand how the same things can be seen in such different ways. | Somewhat agree | + | 7. I find that I can strengthen my own position through arguing with someone who disagrees with me. | Somewhat agree | + | 8. I am always interested in knowing why people say and believe the things they do. | Somewhat agree | + | 9. I often find myself arguing with the authors of books that I read, trying to logically figure out why they're wrong. | Somewhat agree | + | 10. It's important for me to remain as objective as possible when I analyze something. | Somewhat agree | + | 11. I try to think with people instead of against them. | Somewhat agree | + | 12. I have certain criteria I use in evaluating arguments. | Somewhat agree | + | 13. I'm more likely to try to understand someone else's opinion than to try to evaluate it. | Somewhat agree | + | 14. I try to point out weaknesses in other people's thinking to help them clarify their arguments. | Somewhat agree | + | 15. I tend to put myself in other people's shoes when discussing controversial issues, to see why they think the way they do. | Somewhat agree | + | 16. One could call my way of analysing things 'putting them on trial' because I am careful to consider all the evidence. | Somewhat agree | + | 17. I value the use of logic and reason over the incorporation of my own concerns when solving problems. | Somewhat agree | + | 18. I can obtain insight into opinions that differ from mine through empathy. | Somewhat agree | + | 19. When I encounter people whose opinions seem alien to me, I make a deliberate effort to 'extend' myself into that person, to try to see how they could have those opinions. | Somewhat agree | + | 20. I spend time figuring out what's 'wrong' with things. For example, I'll look for something in a literary interpretation that isn't argued well enough. | Somewhat agree | + And I press "Submit" in the app + And I press "OK" in the app + And I press "Results" in the app + And I press "OK" in the app + And I switch to the browser tab opened by the app + And I log in as "student1" + Then I should see "You've completed this survey. The graph below shows a summary of your results compared to the class averages." + And I should see "1 people have completed this survey so far" + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_survey\event\course_module_viewed | survey | Test survey name | Course 1 | + | \mod_survey\event\response_submitted | survey | Test survey name | Course 1 | + + Scenario: Answer a survey & View results (Critical incidents) + Given the following "activities" exist: + | activity | name | intro | template |course | idnumber | groupmode | + | survey | Test survey critical incidents | Test survey1 | 5 | C1 | survey1 | 0 | + Given I entered the survey activity "Test survey critical incidents" on course "Course 1" as "student1" in the app + And I set the following fields to these values in the app: + | At what moment in class were you most engaged as a learner? | 1st answer | + | At what moment in class were you most distanced as a learner? | 2nd answer | + | What action from anyone in the forums did you find most affirming or helpful? | 3rd answer | + | What action from anyone in the forums did you find most puzzling or confusing? | 4th answer | + | What event surprised you most? | 5th answer | + And I press "Submit" in the app + And I press "OK" in the app + Then I should see "Results" + + When I press "Results" in the app + And I press "OK" in the app + And I switch to the browser tab opened by the app + And I log in as "student1" + Then I should see "Test survey critical incidents" + And I should see "1st answer" + And I should see "2nd answer" + And I should see "3rd answer" + And I should see "4th answer" + And I should see "5th answer" + + Scenario: Answer a survey & View results (Colles actual) + Given the following "activities" exist: + | activity | name | intro | template |course | idnumber | groupmode | + | survey | Test survey Colles (actual) | Test survey1 | 1 | C1 | survey1 | 0 | + Given I entered the survey activity "Test survey Colles (actual)" on course "Course 1" as "student1" in the app + And I set the following fields to these values in the app: + | 1. my learning focuses on issues that interest me. | Sometimes | + | 2. what I learn is important for my professional practice. | Sometimes | + | 3. I learn how to improve my professional practice. | Sometimes | + | 4. what I learn connects well with my professional practice. | Sometimes | + | 5. I think critically about how I learn. | Sometimes | + | 6. I think critically about my own ideas. | Sometimes | + | 7. I think critically about other students' ideas. | Sometimes | + | 8. I think critically about ideas in the readings. | Sometimes | + | 9. I explain my ideas to other students. | Sometimes | + | 10. I ask other students to explain their ideas. | Sometimes | + | 11. other students ask me to explain my ideas. | Sometimes | + | 12. other students respond to my ideas. | Sometimes | + | 13. the tutor stimulates my thinking. | Sometimes | + | 14. the tutor encourages me to participate. | Sometimes | + | 15. the tutor models good discourse. | Sometimes | + | 16. the tutor models critical self-reflection. | Sometimes | + | 17. other students encourage my participation. | Sometimes | + | 18. other students praise my contribution. | Sometimes | + | 19. other students value my contribution. | Sometimes | + | 20. other students empathise with my struggle to learn. | Sometimes | + | 21. I make good sense of other students' messages. | Sometimes | + | 22. other students make good sense of my messages. | Sometimes | + | 23. I make good sense of the tutor's messages. | Sometimes | + | 24. the tutor makes good sense of my messages. | Sometimes | + | 25. How long did this survey take you to complete? | under 1 min | + And I press "Submit" in the app + And I press "OK" in the app + Then I should see "You have completed this survey" + + When I press "Results" in the app + And I press "OK" in the app + And I switch to the browser tab opened by the app + And I log in as "student1" + Then I should see "You've completed this survey. The graph below shows a summary of your results compared to the class averages." + And I should see "1 people have completed this survey so far" + + Scenario: Answer a survey & View results (Colles preferred) + Given the following "activities" exist: + | activity | name | intro | template | course | idnumber | groupmode | + | survey | Test survey Colles (preferred) | Test survey1 | 2 | C1 | survey1 | 0 | + Given I entered the survey activity "Test survey Colles (preferred)" on course "Course 1" as "student1" in the app + And I set the following fields to these values in the app: + | 1. my learning focuses on issues that interest me. | Sometimes | + | 2. what I learn is important for my professional practice. | Sometimes | + | 3. I learn how to improve my professional practice. | Sometimes | + | 4. what I learn connects well with my professional practice. | Sometimes | + | 5. I think critically about how I learn. | Sometimes | + | 6. I think critically about my own ideas. | Sometimes | + | 7. I think critically about other students' ideas. | Sometimes | + | 8. I think critically about ideas in the readings. | Sometimes | + | 9. I explain my ideas to other students. | Sometimes | + | 10. I ask other students to explain their ideas. | Sometimes | + | 11. other students ask me to explain my ideas. | Sometimes | + | 12. other students respond to my ideas. | Sometimes | + | 13. the tutor stimulates my thinking. | Sometimes | + | 14. the tutor encourages me to participate. | Sometimes | + | 15. the tutor models good discourse. | Sometimes | + | 16. the tutor models critical self-reflection. | Sometimes | + | 17. other students encourage my participation. | Sometimes | + | 18. other students praise my contribution. | Sometimes | + | 19. other students value my contribution. | Sometimes | + | 20. other students empathise with my struggle to learn. | Sometimes | + | 21. I make good sense of other students' messages. | Sometimes | + | 22. other students make good sense of my messages. | Sometimes | + | 23. I make good sense of the tutor's messages. | Sometimes | + | 24. the tutor makes good sense of my messages. | Sometimes | + | 25. How long did this survey take you to complete? | under 1 min | + And I press "Submit" in the app + And I press "OK" in the app + Then I should see "You have completed this survey" + + When I press "Results" in the app + And I press "OK" in the app + And I switch to the browser tab opened by the app + And I log in as "student1" + Then I should see "You've completed this survey. The graph below shows a summary of your results compared to the class averages." + And I should see "1 people have completed this survey so far" + + Scenario: Answer a survey & View results (Colles preferred and actual) + Given the following "activities" exist: + | activity | name | intro | template | course | idnumber | groupmode | + | survey | Test survey Colles (preferred and actual) | Test survey1 | 3 | C1 | survey1 | 0 | + Given I entered the survey activity "Test survey Colles (preferred and actual)" on course "Course 1" as "student1" in the app + And I set the following fields to these values in the app: + | 1. I prefer that my learning focuses on issues that interest me. | Sometimes | + | 2. I found that my learning focuses on issues that interest me. | Sometimes | + | 3. I prefer that what I learn is important for my professional practice. | Sometimes | + | 4. I found that what I learn is important for my professional practice. | Sometimes | + | 5. I prefer that I learn how to improve my professional practice. | Sometimes | + | 6. I found that I learn how to improve my professional practice. | Sometimes | + | 7. I prefer that what I learn connects well with my professional practice. | Sometimes | + | 8. I found that what I learn connects well with my professional practice. | Sometimes | + | 9. I prefer that I think critically about how I learn. | Sometimes | + | 10. I found that I think critically about how I learn. | Sometimes | + | 11. I prefer that I think critically about my own ideas. | Sometimes | + | 12. I found that I think critically about my own ideas. | Sometimes | + | 13. I prefer that I think critically about other students' ideas. | Sometimes | + | 14. I found that I think critically about other students' ideas. | Sometimes | + | 15. I prefer that I think critically about ideas in the readings. | Sometimes | + | 16. I found that I think critically about ideas in the readings. | Sometimes | + | 17. I prefer that I explain my ideas to other students. | Sometimes | + | 18. I found that I explain my ideas to other students. | Sometimes | + | 19. I prefer that I ask other students to explain their ideas. | Sometimes | + | 20. I found that I ask other students to explain their ideas. | Sometimes | + | 21. I prefer that other students ask me to explain my ideas. | Sometimes | + | 22. I found that other students ask me to explain my ideas. | Sometimes | + | 23. I prefer that other students respond to my ideas. | Sometimes | + | 24. I found that other students respond to my ideas. | Sometimes | + | 25. I prefer that the tutor stimulates my thinking. | Sometimes | + | 26. I found that the tutor stimulates my thinking. | Sometimes | + | 27. I prefer that the tutor encourages me to participate. | Sometimes | + | 28. I found that the tutor encourages me to participate. | Sometimes | + | 29. I prefer that the tutor models good discourse. | Sometimes | + | 30. I found that the tutor models good discourse. | Sometimes | + | 31. I prefer that the tutor models critical self-reflection. | Sometimes | + | 32. I found that the tutor models critical self-reflection. | Sometimes | + | 33. I prefer that other students encourage my participation. | Sometimes | + | 34. I found that other students encourage my participation. | Sometimes | + | 35. I prefer that other students praise my contribution. | Sometimes | + | 36. I found that other students praise my contribution. | Sometimes | + | 37. I prefer that other students value my contribution. | Sometimes | + | 38. I found that other students value my contribution. | Sometimes | + | 39. I prefer that other students empathise with my struggle to learn. | Sometimes | + | 40. I found that other students empathise with my struggle to learn. | Sometimes | + | 41. I prefer that I make good sense of other students' messages. | Sometimes | + | 42. I found that I make good sense of other students' messages. | Sometimes | + | 43. I prefer that other students make good sense of my messages. | Sometimes | + | 44. I found that other students make good sense of my messages. | Sometimes | + | 45. I prefer that I make good sense of the tutor's messages. | Sometimes | + | 46. I found that I make good sense of the tutor's messages. | Sometimes | + | 47. I prefer that the tutor makes good sense of my messages. | Sometimes | + | 48. I found that the tutor makes good sense of my messages. | Sometimes | + | 49. How long did this survey take you to complete? | 1-2 min | + And I press "Submit" in the app + And I press "OK" in the app + Then I should see "You have completed this survey" + + When I press "Results" in the app + And I press "OK" in the app + And I switch to the browser tab opened by the app + And I log in as "student1" + Then I should see "You've completed this survey. The graph below shows a summary of your results compared to the class averages." + And I should see "1 people have completed this survey so far" + + Scenario: Answer survey offline & Sync survey + Given the following "activities" exist: + | activity | name | intro | template | course | idnumber | groupmode | + | survey | Test survey critical incidents | Test survey1 | 5 | C1 | survey1 | 0 | + Given I entered the survey activity "Test survey critical incidents" on course "Course 1" as "student1" in the app + And I switch network connection to offline + And I press "Submit" in the app + And I press "OK" in the app + Then I should see "This Survey has offline data to be synchronised." + + When I switch network connection to wifi + And I press the back button in the app + And I press "Test survey critical incidents" in the app + And I press "Information" in the app + And I press "Refresh" in the app + Then I should see "Results" + And I should see "You have completed this survey." + But I should not see "This Survey has offline data to be synchronised." + + Scenario: Prefetch & Auto-sync survey + Given the following "activities" exist: + | activity | name | intro | template | course | idnumber | groupmode | + | survey | Test survey critical incidents | Test survey1 | 5 | C1 | survey1 | 0 | + Given I entered the course "Course 1" as "student1" in the app + And I press "Course downloads" in the app + And I press "Download" within "Test survey critical incidents" "ion-item" in the app + And I press the back button in the app + And I switch network connection to offline + And I press "Test survey name" in the app + Then I should see "There was a problem connecting to the site. Please check your connection and try again." + + When I press "OK" in the app + And I press the back button in the app + And I press "Test survey critical incidents" in the app + And I press "Submit" in the app + And I press "OK" in the app + Then I should see "This Survey has offline data to be synchronised." + + When I switch network connection to wifi + And I run cron tasks in the app + Then I should not see "This Survey has offline data to be synchronised." + And I should see "You have completed this survey." diff --git a/src/addons/mod/survey/tests/behat/basic_usage.feature b/src/addons/mod/survey/tests/behat/basic_usage.feature index bb570d8f1..6b58767dc 100755 --- a/src/addons/mod/survey/tests/behat/basic_usage.feature +++ b/src/addons/mod/survey/tests/behat/basic_usage.feature @@ -1,11 +1,12 @@ -@addon_mod_survey @app @javascript +@addon_mod_survey @app @javascript @lms_from4.0 Feature: Test basic usage of survey activity in app In order to participate in surveys while using the mobile app As a student I need basic survey functionality to work Background: - Given the following "courses" exist: + Given the Moodle site is compatible with this feature + And the following "courses" exist: | fullname | shortname | | Course 1 | C1 | And the following "users" exist: diff --git a/src/addons/mod/workshop/tests/behat/basic_usage.feature b/src/addons/mod/workshop/tests/behat/basic_usage.feature index c9c7e07b5..1ba761a3b 100644 --- a/src/addons/mod/workshop/tests/behat/basic_usage.feature +++ b/src/addons/mod/workshop/tests/behat/basic_usage.feature @@ -19,6 +19,7 @@ Feature: Test basic usage of workshop activity in app | activity | name | intro | course | idnumber | | workshop | Test workshop | Workshop description | C1 | workshop | + @lms_from3.11 Scenario: Take a workshop # Setup phase diff --git a/src/addons/notifications/tests/behat/notifications.feature b/src/addons/notifications/tests/behat/notifications.feature index 01fa69272..bc7255565 100644 --- a/src/addons/notifications/tests/behat/notifications.feature +++ b/src/addons/notifications/tests/behat/notifications.feature @@ -1,8 +1,9 @@ -@addon_notifications @app @javascript +@addon_notifications @app @javascript @lms_from3.11 Feature: Notifications Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | firstname | lastname | | student1 | First | Student | | student2 | Second | Student | diff --git a/src/core/features/comments/tests/behat/basic_usage.feature b/src/core/features/comments/tests/behat/basic_usage.feature index c4272f945..cdfc98e76 100644 --- a/src/core/features/comments/tests/behat/basic_usage.feature +++ b/src/core/features/comments/tests/behat/basic_usage.feature @@ -1,11 +1,12 @@ -@core_comments @app @javascript +@core_comments @app @javascript @lms_from3.11 Feature: Test basic usage of comments in app In order to participate in the comments while using the mobile app As a student I need basic comments functionality to work Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | firstname | lastname | email | | teacher1 | Teacher | teacher | teacher1@example.com | | student1 | Student | student | student1@example.com | diff --git a/src/core/features/course/tests/behat/basic_usage-311.feature b/src/core/features/course/tests/behat/basic_usage-311.feature deleted file mode 100755 index 21e549608..000000000 --- a/src/core/features/course/tests/behat/basic_usage-311.feature +++ /dev/null @@ -1,128 +0,0 @@ -@core_course @app @javascript @lms_upto3.11 -Feature: Test basic usage of one course in app - In order to participate in one course while using the mobile app - As a student - I need basic course functionality to work - - Background: - Given the Moodle site is compatible with this feature - And the following "users" exist: - | username | firstname | lastname | email | - | teacher1 | Teacher | teacher | teacher1@example.com | - | student1 | Student | student | student1@example.com | - | student2 | Student2 | student2 | student2@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 | - | student1 | C1 | student | - And the following "activities" exist: - | activity | name | intro | course | idnumber | option | section | - | choice | Choice course 1 | Test choice description | C1 | choice1 | Option 1, Option 2, Option 3 | 1 | - And the following "activities" exist: - | activity | course | idnumber | name | intro | assignsubmission_onlinetext_enabled | section | - | assign | C1 | assign1 | assignment | Test assignment description | 1 | 1 | - And the following "activities" exist: - | activity | name | intro | course | idnumber | groupmode | assessed | scale[modgrade_type] | - | forum | Test forum name | Test forum | C1 | forum | 0 | 5 | Point | - And the following "activities" exist: - | activity | name | intro | course | idnumber | groupmode | section | - | chat | Test chat name | Test chat | C1 | chat | 0 | 2 | - And the following "activities" exist: - | activity | name | intro | course | idnumber | section | - | data | Web links | Useful links | C1 | data1 | 4 | - And the following "activities" exist: - | activity | name | intro | course | idnumber | groupmode | section | - | lti | Test external name | Test external | C1 | external | 0 | 1 | - And the following "activities" exist: - | activity | name | intro | course | idnumber | groupmode | section | - | feedback | Test feedback name | Test feedback | C1 | feedback | 0 | 3 | - And the following "activities" exist: - | activity | name | intro | course | idnumber | section | - | glossary | Test glossary | glossary description | C1 | gloss1 | 5 | - And the following "activities" exist: - | activity | name | intro | course | idnumber | section | - | quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 | 2 | - And the following "question categories" exist: - | contextlevel | reference | name | - | Course | C1 | Test questions | - And the following "questions" exist: - | questioncategory | qtype | name | questiontext | - | Test questions | truefalse | TF1 | Text of the first question | - | Test questions | truefalse | TF2 | Text of the second question | - And quiz "Quiz 1" contains the following questions: - | question | page | - | TF1 | 1 | - | TF2 | 2 | - And the following "activities" exist: - | activity | name | intro | course | idnumber | groupmode | section | - | survey | Test survey name | Test survey | C1 | survey | 0 | 1 | - And the following "activities" exist: - | activity | name | intro | course | idnumber | groupmode | - | wiki | Test wiki name | Test wiki | C1 | wiki | 0 | - And the following "activities" exist: - | activity | name | intro | course | idnumber | groupmode | section | - | lesson | Test lesson name | Test lesson | C1 | lesson | 0 | 3 | - And the following "activities" exist: - | activity | name | intro | course | idnumber | groupmode | section | - | scorm | Test scorm name | Test scorm | C1 | scorm | 0 | 2 | - And the following "activities" exist: - | activity | name | intro | course | idnumber | groupmode | section | - | workshop | Test workshop name | Test workshop | C1 | workshop | 0 | 3 | - - Scenario: Self enrol - Given I log in as "teacher1" - And I am on "Course 1" course homepage - And I add "Self enrolment" enrolment method with: - | Custom instance name | Student self enrolment | - And I entered the app as "student2" - When I press "Site home" in the app - And I press "Available courses" in the app - And I press "Course 1" in the app - And I press "Enrol me" in the app - And I press "OK" in the app - And I wait loading to finish in the app - Then the header should be "Course 1" in the app - And I should find "Test forum name" in the app - And I should find "Test wiki name" in the app - And I should find "Choice course 1" in the app - And I should find "assignment" in the app - And I should find "Test external name" in the app - And I should find "Test survey name" in the app - And I should find "Test chat name" in the app - And I should find "Quiz 1" in the app - And I should find "Test scorm name" in the app - And I should find "Test feedback name" in the app - And I should find "Test lesson name" in the app - And I should find "Test workshop name" in the app - And I should not find "Web links" in the app - And I should not find "Test glossary" in the app - - Scenario: Guest access - Given I am on the "Course 1" "enrolment methods" page logged in as "teacher1" - And I click on "Enable" "icon" in the "Guest access" "table_row" - And I entered the app as "student2" - When I press "Site home" in the app - And I press "Available courses" in the app - And I press "Course 1" in the app - - Then I should find "Course summary" in the app - And I should find "Course" in the app - - When I press "View course" "ion-button" in the app - Then the header should be "Course 1" in the app - And I should find "Test forum name" in the app - And I should find "Test wiki name" in the app - And I should find "Choice course 1" in the app - And I should find "assignment" in the app - And I should find "Test survey name" in the app - And I should find "Test chat name" in the app - And I should find "Quiz 1" in the app - And I should find "Test scorm name" in the app - And I should find "Test feedback name" in the app - And I should find "Test lesson name" in the app - And I should find "Test workshop name" in the app - And I should not find "Web links" in the app - And I should not find "Test glossary" in the app diff --git a/src/core/features/course/tests/behat/basic_usage.feature b/src/core/features/course/tests/behat/basic_usage.feature index e758d96b9..6ba1371c2 100755 --- a/src/core/features/course/tests/behat/basic_usage.feature +++ b/src/core/features/course/tests/behat/basic_usage.feature @@ -1,4 +1,4 @@ -@core_course @app @javascript +@core_course @app @javascript @lms_from4.1 Feature: Test basic usage of one course in app In order to participate in one course while using the mobile app As a student @@ -459,7 +459,6 @@ Feature: Test basic usage of one course in app | \core\event\course_viewed | Course 1 | {"coursesectionnumber":4} | | \core\event\course_viewed | Course 1 | {"coursesectionnumber":5} | - @lms_from4.0 Scenario: Self enrol Given I log in as "teacher1" And I add "Self enrolment" enrolment method in "Course 1" with: diff --git a/src/core/features/course/tests/behat/guest_access.feature b/src/core/features/course/tests/behat/guest_access.feature index c6271f94c..67085d6a6 100644 --- a/src/core/features/course/tests/behat/guest_access.feature +++ b/src/core/features/course/tests/behat/guest_access.feature @@ -20,7 +20,6 @@ Feature: Test basic usage of guest access course in app | activity | name | intro | course | idnumber | groupmode | | wiki | Test wiki name | Test wiki | C1 | wiki | 0 | - @lms_from4.0 Scenario: Guest access without password (student) Given I am on the "Course 1" "enrolment methods" page logged in as "teacher1" diff --git a/src/core/features/grades/tests/behat/navigation-401.feature b/src/core/features/grades/tests/behat/navigation-401.feature index 61ef0b016..e0bea0d71 100644 --- a/src/core/features/grades/tests/behat/navigation-401.feature +++ b/src/core/features/grades/tests/behat/navigation-401.feature @@ -1,8 +1,9 @@ -@core_grades @app @javascript @lms_upto4.1 +@core_grades @app @javascript @lms_from3.11 @lms_upto4.1 Feature: Grades navigation Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | firstname | lastname | | student1 | Student | first | | student2 | Student | second | diff --git a/src/core/features/grades/tests/behat/navigation.feature b/src/core/features/grades/tests/behat/navigation.feature index 03b05c2b7..cdcf62133 100644 --- a/src/core/features/grades/tests/behat/navigation.feature +++ b/src/core/features/grades/tests/behat/navigation.feature @@ -1,8 +1,9 @@ -@core_grades @app @javascript +@core_grades @app @javascript @lms_from3.11 Feature: Grades navigation Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | firstname | lastname | | student1 | Student | first | | student2 | Student | second | diff --git a/src/core/features/grades/tests/behat/view-311.feature b/src/core/features/grades/tests/behat/view-311.feature deleted file mode 100644 index b31bd77bf..000000000 --- a/src/core/features/grades/tests/behat/view-311.feature +++ /dev/null @@ -1,73 +0,0 @@ -@core_grades @app @javascript @lms_upto3.11 -Feature: View grades - - Background: - Given the following "users" exist: - | username | firstname | lastname | - | student1 | Student | first | - And the following "scales" exist: - | name | scale | - | Scale | Good, Bad | - And the following "courses" exist: - | fullname | shortname | - | Course 1 | C1 | - And the following "course enrolments" exist: - | user | course | role | - | student1 | C1 | student | - And the following "grade categories" exist: - | fullname | course | - | Category 1 | C1 | - | Category 2 | C1 | - And the following "grade outcomes" exist: - | fullname | shortname | course | scale | - | Outcome | outcome | C1 | Scale | - And the following "grade items" exist: - | gradecategory | itemname | course | grademin | grademax | - | Category 1 | Item 1.1 | C1 | 60 | 80 | - | Category 1 | Item 1.2 | C1 | 10 | 90 | - | Category 2 | Item 2.1 | C1 | 0 | 100 | - And the following "activities" exist: - | gradecategory | name | course | activity | idnumber | grade | gradepass | - | Category 1 | Assignment 1 | C1 | assign | assign1 | 100 | 50 | - | Category 1 | Assignment 2 | C1 | assign | assign2 | 100 | 50 | - And the following "grade items" exist: - | gradecategory | itemname | course | outcome | - | Category 1 | Outcome | C1 | outcome | - And the following "grade grades" exist: - | gradeitem | user | grade | - | Item 1.1 | student1 | 70 | - | Item 1.2 | student1 | 20 | - | Item 2.1 | student1 | 40 | - | Assignment 1 | student1 | 80 | - | Assignment 2 | student1 | 35 | - | Outcome | student1 | 1 | - And the following config values are set as admin: - | enableoutcomes | 1 | - - Scenario: View individual grades and the grade report - Given I entered the course "Course 1" as "student1" in the app - - When I press "Assignment 1" in the app - And I press "Information" in the app - Then I should find "80" within "Gradebook" "ion-list" in the app - - When I press "Close" in the app - And I press the back button in the app - And I press "Assignment 2" in the app - And I press "Information" in the app - Then I should find "35" within "Gradebook" "ion-list" in the app - - When I press "Close" in the app - And I press the back button in the app - And I press "Grades" in the app - Then I should find "Category 1" in the app - And I should find "70" within "Item 1.1" "tr" in the app - And I should find "20" within "Item 1.2" "tr" in the app - And I should find "80" within "Assignment 1" "tr" in the app - And I should find "35" within "Assignment 2" "tr" in the app - And I should find "Good" within "Outcome" "tr" in the app - And I should find "205" within "Category 1 total" "tr" in the app - And I should find "Category 2" in the app - And I should find "40" within "Item 2.1" "tr" in the app - And I should find "40" within "Category 2 total" "tr" in the app - And I should find "245" within "Course total" "tr" in the app diff --git a/src/core/features/grades/tests/behat/view.feature b/src/core/features/grades/tests/behat/view.feature index c6210c4bb..f9c386696 100644 --- a/src/core/features/grades/tests/behat/view.feature +++ b/src/core/features/grades/tests/behat/view.feature @@ -2,7 +2,8 @@ Feature: View grades Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | firstname | lastname | | student1 | Student | first | And the following "scales" exist: diff --git a/src/core/features/login/tests/behat/signup.feature b/src/core/features/login/tests/behat/signup.feature index 6704798b0..919614186 100755 --- a/src/core/features/login/tests/behat/signup.feature +++ b/src/core/features/login/tests/behat/signup.feature @@ -3,7 +3,8 @@ Feature: Test signup in app I need basic signup functionality to work Background: - Given the following config values are set as admin: + Given the Moodle site is compatible with this feature + And the following config values are set as admin: | registerauth | email | | auth_instructions | These are the authentication instructions. | | passwordpolicy | 0 | @@ -79,7 +80,7 @@ Feature: Test signup in app Then I should find "Spain" in the app And I should find "u1@u1.com" in the app - @lms_from3.10 + @lms_from4.1 Scenario: Check password policy in signup Given the following config values are set as admin: | passwordpolicy | 1 | @@ -114,6 +115,7 @@ Feature: Test signup in app And I press "Create my new account" in the app Then I should find "An email should have been sent to your address" in the app + @lms_from3.11 Scenario: Signup with custom profile fields # Use default options Yes/No for menu field because it's not possible to add new lines. See MDL-75788. Given the following "custom profile fields" exist: diff --git a/src/core/features/settings/tests/behat/sync.feature b/src/core/features/settings/tests/behat/sync.feature index c7a8d45e9..4f577f419 100644 --- a/src/core/features/settings/tests/behat/sync.feature +++ b/src/core/features/settings/tests/behat/sync.feature @@ -40,8 +40,9 @@ Feature: It synchronise sites properly # Check synced When I press "Synchronise now" "button" in the app - And I wait loading to finish in the app - And I switch network connection to offline + Then I should find "Site synchronisation completed" in the app + + When I switch network connection to offline And I press the back button in the app And I entered the course "Course 1" in the app And I press "Sync choice" in the app diff --git a/src/core/features/user/tests/behat/basic_usage.feature b/src/core/features/user/tests/behat/basic_usage.feature index 21a3f14d2..dfab7dc48 100755 --- a/src/core/features/user/tests/behat/basic_usage.feature +++ b/src/core/features/user/tests/behat/basic_usage.feature @@ -2,10 +2,12 @@ Feature: Test basic usage of user features Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | firstname | lastname | timezone | | student1 | Student | Student | 99 | + @lms_from4.1 Scenario: Complete missing fields Given the following "custom profile fields" exist: | datatype | shortname | name | required | param1 | @@ -54,6 +56,7 @@ Feature: Test basic usage of user features When I press "Reconnect" in the app Then I should find "Acceptance test site" in the app + @lms_from4.1 Scenario: View profile Given the following "custom profile fields" exist: | datatype | shortname | name | required | param1 | diff --git a/src/core/features/user/tests/behat/snapshots/test-basic-usage-of-user-features-view-profile_21.png b/src/core/features/user/tests/behat/snapshots/test-basic-usage-of-user-features-view-profile_22.png similarity index 100% rename from src/core/features/user/tests/behat/snapshots/test-basic-usage-of-user-features-view-profile_21.png rename to src/core/features/user/tests/behat/snapshots/test-basic-usage-of-user-features-view-profile_22.png diff --git a/src/core/tests/behat/open_files-309.feature b/src/core/tests/behat/open_files-309.feature index fa601b8d0..b755db26d 100644 --- a/src/core/tests/behat/open_files-309.feature +++ b/src/core/tests/behat/open_files-309.feature @@ -2,7 +2,8 @@ Feature: It opens files properly. Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | | student1 | And the following "courses" exist: @@ -29,16 +30,12 @@ Feature: It opens files properly. And I press the back button in the app And I press "Test RTF" in the app And I press "Open" in the app - Then the app should have opened a browser tab with url "^blob:" + Then the app should have opened url "^blob:" with contents "Test resource A rtf.rtf file" once - When I switch to the browser tab opened by the app - Then I should see "Test resource A rtf.rtf file" + When I press "Open" in the app + Then the app should have opened url "^blob:" with contents "Test resource A rtf.rtf file" 2 times - When I close the browser tab opened by the app - And I press the back button in the app + When I press the back button in the app And I press "Test DOC" in the app And I press "Open" in the app - Then the app should have opened a browser tab with url "^blob:" - - When I switch to the browser tab opened by the app - Then I should see "Test resource A doc.doc file" + Then the app should have opened url "^blob:" with contents "Test resource A doc.doc file" once diff --git a/src/core/tests/behat/open_files.feature b/src/core/tests/behat/open_files.feature index 4f3024903..ff2d6af62 100644 --- a/src/core/tests/behat/open_files.feature +++ b/src/core/tests/behat/open_files.feature @@ -2,7 +2,8 @@ Feature: It opens files properly. Background: - Given the following "users" exist: + Given the Moodle site is compatible with this feature + And the following "users" exist: | username | | student1 | And the following "courses" exist: @@ -12,7 +13,7 @@ Feature: It opens files properly. | user | course | role | | student1 | C1 | student | - @lms_from3.10 + @lms_from3.11 Scenario: Open a file Given the following "activities" exist: | activity | name | intro | display | course | defaultfilename |