MOBILE-4470 behat: Clean up tests before 4.1

main
Noel De Martin 2024-05-13 13:25:59 +02:00
parent 4cd4fa6fd6
commit 83e75e58dd
63 changed files with 24 additions and 1660 deletions

View File

@ -1,93 +0,0 @@
@addon_block_timeline @app @javascript @lms_upto3.11
Feature: Timeline block.
Background:
Given the following "users" exist:
| username |
| student1 |
And the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
| Course 2 | C2 |
| Course 3 | C3 |
| Course 4 | C4 |
And the following "course enrolments" exist:
| user | course | role |
| student1 | C1 | student |
| student1 | C2 | student |
| student1 | C3 | student |
| student1 | Acceptance test site | student |
And the following "activities" exist:
| activity | course | idnumber | name | duedate |
| assign | Acceptance test site | assign00 | Assignment 00 | ##tomorrow## |
| assign | C2 | assign01 | Assignment 01 | ##yesterday## |
| assign | C1 | assign02 | Assignment 02 | ##tomorrow## |
| assign | C1 | assign03 | Assignment 03 | ##tomorrow## |
| assign | C2 | assign04 | Assignment 04 | ##+2 days## |
| assign | C1 | assign05 | Assignment 05 | ##+5 days## |
| assign | C2 | assign06 | Assignment 06 | ##+31 days## |
| assign | C2 | assign07 | Assignment 07 | ##+31 days## |
| assign | C3 | assign08 | Assignment 08 | ##+31 days## |
| assign | C2 | assign09 | Assignment 09 | ##+31 days## |
| assign | C1 | assign10 | Assignment 10 | ##+31 days## |
| assign | C1 | assign11 | Assignment 11 | ##+6 months## |
| assign | C1 | assign12 | Assignment 12 | ##+6 months## |
| assign | C1 | assign13 | Assignment 13 | ##+6 months## |
| assign | C2 | assign14 | Assignment 14 | ##+6 months## |
| assign | C2 | assign15 | Assignment 15 | ##+6 months## |
| assign | C2 | assign16 | Assignment 16 | ##+6 months## |
| assign | C3 | assign17 | Assignment 17 | ##+6 months## |
| assign | C3 | assign18 | Assignment 18 | ##+6 months## |
| assign | C3 | assign19 | Assignment 19 | ##+6 months## |
| assign | C1 | assign20 | Assignment 20 | ##+1 year## |
| assign | C1 | assign21 | Assignment 21 | ##+1 year## |
| assign | C2 | assign22 | Assignment 22 | ##+1 year## |
| assign | C2 | assign23 | Assignment 23 | ##+1 year## |
| assign | C3 | assign24 | Assignment 24 | ##+1 year## |
| assign | C3 | assign25 | Assignment 25 | ##+1 year## |
Scenario: See courses inside block
Given I entered the app as "student1"
And I press "Open block drawer" in the app
Then I should find "Assignment 00" within "Timeline" "ion-card" in the app
And I should find "Assignment 02" within "Timeline" "ion-card" in the app
And I should find "Assignment 05" within "Timeline" "ion-card" in the app
And I should find "Course 1" within "Timeline" "ion-card" in the app
And I should find "Course 2" within "Timeline" "ion-card" in the app
But I should not find "Assignment 01" within "Timeline" "ion-card" in the app
And I should not find "Course 3" within "Timeline" "ion-card" in the app
When I press "Filter timeline by date" in the app
And I press "Overdue" in the app
Then I should find "Assignment 01" within "Timeline" "ion-card" in the app
And I should find "Course 2" within "Timeline" "ion-card" in the app
But I should not find "Assignment 00" within "Timeline" "ion-card" in the app
And I should not find "Assignment 02" within "Timeline" "ion-card" in the app
And I should not find "Course 1" within "Timeline" "ion-card" in the app
And I should not find "Course 3" within "Timeline" "ion-card" in the app
When I press "Filter timeline by date" in the app
And I press "All" in the app
Then I should find "Assignment 19" within "Timeline" "ion-card" in the app
And I should find "Course 3" within "Timeline" "ion-card" in the app
But I should not find "Assignment 20" within "Timeline" "ion-card" in the app
When I press "Load more" in the app
Then I should find "Assignment 21" within "Timeline" "ion-card" in the app
And I should find "Assignment 25" within "Timeline" "ion-card" in the app
When I press "Filter timeline by date" in the app
And I press "Next 7 days" in the app
And I press "Sort by" in the app
And I press "Sort by courses" in the app
Then I should find "Course 1" "h3" within "Timeline" "ion-card" in the app
And I should find "Course 2" "h3" within "Timeline" "ion-card" in the app
And I should find "Assignment 02" within "Timeline" "ion-card" in the app
And I should find "Assignment 04" within "Timeline" "ion-card" in the app
But I should not find "Course 3" within "Timeline" "ion-card" in the app
When the following "activities" exist:
| activity | course | idnumber | name | duedate |
| assign | C1 | newassign | New Assignment | ##tomorrow## |
And I pull to refresh in the app
Then I should find "New Assignment" in the app

View File

@ -46,7 +46,6 @@ Feature: Timeline block.
| assign | C3 | assign24 | Assignment 24 | ##+1 year## | | assign | C3 | assign24 | Assignment 24 | ##+1 year## |
| assign | C3 | assign25 | Assignment 25 | ##+1 year## | | assign | C3 | assign25 | Assignment 25 | ##+1 year## |
@lms_from4.0
Scenario: See courses inside block Scenario: See courses inside block
Given I entered the app as "student1" Given I entered the app as "student1"
Then I should find "Assignment 00" within "Timeline" "ion-card" in the app Then I should find "Assignment 00" within "Timeline" "ion-card" in the app
@ -92,7 +91,6 @@ Feature: Timeline block.
And I pull to refresh in the app And I pull to refresh in the app
Then I should find "New Assignment" in the app Then I should find "New Assignment" in the app
@lms_from4.0
Scenario: Search Scenario: Search
Given I entered the app as "student1" Given I entered the app as "student1"
Then I should find "Assignment 00" within "Timeline" "ion-card" in the app Then I should find "Assignment 00" within "Timeline" "ion-card" in the app

View File

@ -1,4 +1,4 @@
@addon_competency @app @javascript @lms_from3.11 @addon_competency @app @javascript
Feature: Test competency navigation Feature: Test competency navigation
Background: Background:

View File

@ -1,78 +0,0 @@
@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

View File

@ -1,4 +1,4 @@
@addon_coursecompletion @app @javascript @lms_from4.0 @addon_coursecompletion @app @javascript
Feature: Course completion navigation Feature: Course completion navigation
Background: Background:

View File

@ -1,58 +0,0 @@
@addon_mod_assign @app @javascript @lms_upto3.10
Feature: Test basic usage of assignment activity in app
In order to participate in the assignment while using the mobile app
I need basic assignment functionality to work
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | teacher | teacher1@example.com |
| student1 | Student | student | student1@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 | course | idnumber | name | intro | assignsubmission_onlinetext_enabled | duedate | attemptreopenmethod |
| assign | C1 | assign1 | assignment1 | Test assignment description1 | 1 | ## 20 August 2002 12:00 PM ## | manual |
Scenario: View assign description, due date & View list of student submissions (as teacher) & View own submission or student submission
# Create, edit and submit as a student
Given I entered the assign activity "assignment1" on course "Course 1" as "student1" in the app
Then the header should be "assignment1" in the app
And I should find "Test assignment description1" in the app
And I should find "Due date" in the app
And I should find "Tuesday, 20 August 2002, 12:00 PM" in the app
When I press "Add submission" in the app
And I set the field "Online text submissions" to "Submission test" in the app
And I press "Save" in the app
Then I should find "Draft (not submitted)" in the app
And I should find "Not graded" in the app
When I press "Edit submission" in the app
And I set the field "Online text submissions" to "Submission test edited" in the app
And I press "Save" in the app
And I press "OK" in the app
Then I should find "Submission test edited" in the app
When I press "Submit assignment" in the app
And I press "OK" in the app
Then I should find "Submitted for grading" in the app
And I should find "Not graded" in the app
And I should find "Submission test edited" in the app
# View as a teacher
Given I entered the assign activity "assignment1" on course "Course 1" as "teacher1" in the app
Then the header should be "assignment1" in the app
When I press "Submitted" in the app
Then I should find "Student student" in the app
And I should find "Not graded" in the app
When I press "Student student" near "assignment1" in the app
Then I should find "Online text submissions" in the app
And I should find "Submission test edited" in the app

View File

@ -19,7 +19,6 @@ Feature: Test basic usage of assignment activity in app
| activity | course | idnumber | name | intro | assignsubmission_onlinetext_enabled | duedate | attemptreopenmethod | | activity | course | idnumber | name | intro | assignsubmission_onlinetext_enabled | duedate | attemptreopenmethod |
| assign | C1 | assign1 | assignment1 | Test assignment description1 | 1 | ## 20 August 2002 12:00 PM ## | manual | | assign | C1 | assign1 | assignment1 | Test assignment description1 | 1 | ## 20 August 2002 12:00 PM ## | manual |
@lms_from3.11
Scenario: View assign description, due date & View list of student submissions (as teacher) & View own submission or student submission Scenario: View assign description, due date & View list of student submissions (as teacher) & View own submission or student submission
# Create, edit and submit as a student # Create, edit and submit as a student
Given I entered the assign activity "assignment1" on course "Course 1" as "student1" in the app Given I entered the assign activity "assignment1" on course "Course 1" as "student1" in the app

View File

@ -1,4 +1,4 @@
@addon_mod_assign @app @javascript @lms_from4.0 @addon_mod_assign @app @javascript
Feature: Test marking workflow in assignment activity in app Feature: Test marking workflow in assignment activity in app
Background: Background:

View File

@ -1,4 +1,4 @@
@addon_mod_bigbluebuttonbn @mod_bigbluebuttonbn @app @javascript @lms_from4.0 @addon_mod_bigbluebuttonbn @mod_bigbluebuttonbn @app @javascript
Feature: Test basic usage of BBB activity in app Feature: Test basic usage of BBB activity in app
In order to join a BBB meeting while using the mobile app In order to join a BBB meeting while using the mobile app
As a student As a student
@ -97,7 +97,6 @@ Feature: Test basic usage of BBB activity in app
And I press "Join session" in the app And I press "Join session" in the app
Then the app should have opened a browser tab with url "blindsidenetworks.com" Then the app should have opened a browser tab with url "blindsidenetworks.com"
@lms_from4.1
Scenario: Display right info based on instance type Scenario: Display right info based on instance type
Given the following "activities" exist: Given the following "activities" exist:
| activity | name | course | idnumber | type | | activity | name | course | idnumber | type |

View File

@ -1,4 +1,4 @@
@addon_mod_bigbluebuttonbn @mod_bigbluebuttonbn @app @javascript @lms_from4.0 @addon_mod_bigbluebuttonbn @mod_bigbluebuttonbn @app @javascript
Feature: Test usage of BBB activity with groups in app Feature: Test usage of BBB activity with groups in app
Background: Background:

View File

@ -1,94 +0,0 @@
@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

View File

@ -1,4 +1,4 @@
@addon_mod_chat @app @javascript @lms_from4.0 @addon_mod_chat @app @javascript
Feature: Test basic usage of chat in app Feature: Test basic usage of chat in app
As a student As a student
I need basic chat functionality to work I need basic chat functionality to work

View File

@ -1,47 +0,0 @@
@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

View File

@ -1,4 +1,4 @@
@addon_mod_chat @app @javascript @lms_from4.0 @addon_mod_chat @app @javascript
Feature: Test chat navigation Feature: Test chat navigation
Background: Background:

View File

@ -1,39 +0,0 @@
@addon_mod_choice @app @javascript @lms_upto3.11
Feature: Test basic usage of choice activity in app
In order to participate in the choice while using the mobile app
As a student
I need basic choice functionality to work
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | teacher | teacher1@example.com |
| student1 | Student | student | student1@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 |
Scenario: Download students choice in text format
# Submit answer as student
Given the following "activities" exist:
| activity | name | intro | course | idnumber | option |
| choice | Choice name | Test choice description | C1 | choice1 | Option 1, Option 2, Option 3 |
And I entered the choice activity "Choice name" on course "Course 1" as "student1" in the app
Then I select "Option 2" in the app
And I press "Save my choice" in the app
And I press "OK" in the app
# Download answers as teacher
Given I entered the choice activity "Choice name" on course "Course 1" as "teacher1" in the app
Then I should find "Test choice description" in the app
When I open a browser tab with url "$WWWROOT"
And I am on the "choice1" Activity page logged in as teacher1
And I press "Actions menu"
And I follow "View 1 responses"
And I press "Download in text format"
# TODO Then I should find "..." in the downloads folder

View File

@ -165,7 +165,6 @@ Feature: Test basic usage of choice activity in app
But I should not find "This Choice has offline data to be synchronised." in the app But I should not find "This Choice has offline data to be synchronised." in the app
# TODO remove LMS UI steps in app tests # TODO remove LMS UI steps in app tests
@lms_from4.0
Scenario: Download students choice in text format Scenario: Download students choice in text format
# Submit answer as student # Submit answer as student
Given the following "activities" exist: Given the following "activities" exist:

View File

@ -1,4 +1,4 @@
@addon_mod_data @app @javascript @lms_from3.11 @addon_mod_data @app @javascript
Feature: Users can manage entries in database activities Feature: Users can manage entries in database activities
In order to populate databases In order to populate databases
As a user As a user

View File

@ -1,4 +1,4 @@
@addon_mod_data @app @javascript @lms_from3.11 @addon_mod_data @app @javascript
Feature: Users can store entries in database activities when offline and sync when online Feature: Users can store entries in database activities when offline and sync when online
In order to populate databases while offline In order to populate databases while offline
As a user As a user

View File

@ -1,4 +1,4 @@
@addon_mod_feedback @app @javascript @lms_from3.11 @addon_mod_feedback @app @javascript
Feature: Test feedback navigation Feature: Test feedback navigation
Background: Background:

View File

@ -34,7 +34,6 @@ 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 G2 | Disc vis G2 | Disc vis G2 content | G2 |
| forum2 | Disc vis ALL | Disc vis ALL | Disc vis ALL content | All participants | | forum2 | Disc vis ALL | Disc vis ALL | Disc vis ALL content | All participants |
@lms_from4.1
Scenario: Student can only see the right groups 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 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 Then I should find "Disc sep G1" in the app
@ -65,7 +64,6 @@ Feature: Test usage of forum activity with groups in app
And I should find "Disc vis ALL" in the app And I should find "Disc vis ALL" in the app
But I should not find "Disc vis G2" in the app But I should not find "Disc vis G2" in the app
@lms_from4.1
Scenario: Teacher can see all groups Scenario: Teacher can see all groups
Given I entered the forum activity "Separate groups forum" on course "Course 1" as "teacher1" in the app 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 When I press "Separate groups" in the app

View File

@ -158,7 +158,6 @@ Feature: Test basic usage of glossary in app
Then I should find "Garlic" in the app Then I should find "Garlic" in the app
And I should find "Allium sativum" in the app And I should find "Allium sativum" in the app
@lms_from3.10
Scenario: Edit entries Scenario: Edit entries
Given I entered the glossary activity "Test glossary" on course "Course 1" as "student1" in the app Given I entered the glossary activity "Test glossary" on course "Course 1" as "student1" in the app
@ -275,7 +274,6 @@ Feature: Test basic usage of glossary in app
But I should not find "stub2.txt" in the app But I should not find "stub2.txt" in the app
And I should not find "Brassica oleracea var. italica" in the app And I should not find "Brassica oleracea var. italica" in the app
@lms_from3.10
Scenario: Delete entries Scenario: Delete entries
Given I entered the glossary activity "Test glossary" on course "Course 1" as "student1" in the app Given I entered the glossary activity "Test glossary" on course "Course 1" as "student1" in the app

View File

@ -1,98 +0,0 @@
@addon_mod_lesson @app @javascript @lms_upto3.11
Feature: Test decimal separators in lesson
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 |
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 | modattempts | review | maxattempts | retake | allowofflineattempts |
| lesson | Basic lesson | Basic lesson descr | C1 | lesson | 1 | 1 | 9 | 1 | 0 |
| lesson | Offline lesson | Offline lesson descr | C1 | lesson | 1 | 1 | 9 | 1 | 1 |
# Currently there are no generators for pages. See MDL-77581.
And I log in as "teacher1"
And I change window size to "small"
And I am on "Course 1" course homepage
And I follow "Basic lesson"
And I follow "Add a question page"
And I set the field "Select a question type" to "Numerical"
And I press "Add a question page"
And I set the following fields to these values:
| Page title | Hardest question ever |
| Page contents | 1 + 1.87? |
| id_answer_editor_0 | 2.87 |
| id_response_editor_0 | Correct answer |
| id_jumpto_0 | End of lesson |
| id_score_0 | 1 |
| id_answer_editor_1 | 2.1:2.8 |
| id_response_editor_1 | Incorrect answer |
| id_jumpto_1 | This page |
| id_score_1 | 0 |
And I press "Save page"
And I am on "Course 1" course homepage
And I follow "Offline lesson"
And I follow "Add a question page"
And I set the field "Select a question type" to "Numerical"
And I press "Add a question page"
And I set the following fields to these values:
| Page title | Hardest question ever |
| Page contents | 1 + 1.87? |
| id_answer_editor_0 | 2.87 |
| id_response_editor_0 | Correct answer |
| id_jumpto_0 | End of lesson |
| id_score_0 | 1 |
| id_answer_editor_1 | 2.1:2.8 |
| id_response_editor_1 | Incorrect answer |
| id_jumpto_1 | This page |
| id_score_1 | 0 |
And I press "Save page"
And I log out
# This scenario needs to be duplicated because of MDL-77550
Scenario: Attempt an online lesson successfully as a student (custom separator) and review as teacher
Given the following "language customisations" exist:
| component | stringid | value |
| core_langconfig | decsep | , |
And the following config values are set as admin:
| customlangstrings | "core.decsep|,|en" | tool_mobile |
And I entered the course "Course 1" as "student1" in the app
And I press "Basic lesson" in the app
When I press "Start" in the app
Then I should find "1 + 1.87?" in the app
When I set the field "Your answer" to "2,87" in the app
And I press "Submit" in the app
Then I should find "Correct answer" in the app
And I should find "2.87" in the app
And I should not find "Incorrect answer" in the app
When I press "Continue" in the app
Then I should find "Congratulations - end of lesson reached" in the app
And I should find "Your score is 1 (out of 1)." in the app
When I press "Review lesson" in the app
Then the field "Your answer" matches value "2,87" in the app
When I press the back button in the app
And I press "Start" in the app
And I set the field "Your answer" to "2.87" in the app
And I press "Submit" in the app
Then I should find "Correct answer" in the app
And I should find "2.87" in the app
And I should not find "Incorrect answer" in the app
When I press "Continue" in the app
Then I should find "Congratulations - end of lesson reached" in the app
And I should find "Your score is 1 (out of 1)." in the app
When I press "Review lesson" in the app
Then the field "Your answer" matches value "2,87" in the app

View File

@ -78,7 +78,6 @@ Feature: Test decimal separators in lesson
Then I should find "Congratulations - end of lesson reached" in the app Then I should find "Congratulations - end of lesson reached" in the app
And I should find "Your score is 1 (out of 1)." in the app And I should find "Your score is 1 (out of 1)." in the app
@lms_from4.0
Scenario: Attempt an online lesson successfully as a student (custom separator) and review as teacher Scenario: Attempt an online lesson successfully as a student (custom separator) and review as teacher
Given the following "language customisations" exist: Given the following "language customisations" exist:
| component | stringid | value | | component | stringid | value |

View File

@ -1,4 +1,4 @@
@addon_mod_quiz @app @javascript @lms_from3.11 @addon_mod_quiz @app @javascript
Feature: View list of attempts in the app Feature: View list of attempts in the app
Background: Background:

View File

@ -1,4 +1,4 @@
@addon_mod_quiz @app @javascript @lms_from4.0 @lms_upto4.3 @addon_mod_quiz @app @javascript @lms_upto4.3
Feature: Attempt a quiz in app Feature: Attempt a quiz in app
As a student As a student
In order to demonstrate what I know In order to demonstrate what I know

View File

@ -1,211 +0,0 @@
@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
I need to be able to attempt quizzes
# These scenarios are duplicated from main because the manual quiz setup is not
# equivalent before 4.0.
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 |
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
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 |
| quiz | Quiz 2 | Quiz 2 description | C1 | quiz2 |
And the following "question categories" exist:
| contextlevel | reference | name |
| Course | C1 | Test questions 2 |
And the following "questions" exist:
| questioncategory | qtype | name | questiontext |
| Test questions | multichoice | TF3 | Text of the first question |
| Test questions | shortanswer | TF4 | Text of the second question |
| Test questions | numerical | TF5 | Text of the third question |
| Test questions | essay | TF6 | Text of the fourth question |
| Test questions | ddwtos | TF7 | The [[1]] brown [[2]] jumped over the [[3]] dog. |
| Test questions | truefalse | TF8 | Text of the sixth question |
| Test questions | match | TF9 | Text of the seventh question |
| Test questions | description | TF10 | Text of the eighth question |
# TODO test calculated question type.
# The calculatedsimple type is implemented using the calculated type.
# The calculatedmulti type is implemented using the multichoice type.
# The randomsamatch type is implemented using the match type.
And the following "questions" exist:
| questioncategory | qtype | name | template |
| Test questions | gapselect | TF11 | missingchoiceno |
| Test questions | ddimageortext | TF12 | xsection |
| Test questions | ddmarker | TF13 | mkmap |
And quiz "Quiz 2" contains the following questions:
| question | page |
| TF3 | 1 |
| TF4 | 2 |
| TF5 | 3 |
| TF6 | 4 |
| TF7 | 5 |
| TF8 | 6 |
| TF9 | 7 |
| TF10 | 8 |
| TF11 | 9 |
| TF12 | 10 |
| TF13 | 11 |
# TODO rewrite using generators.
And I am on the "Course 1" "core_question > course question bank" page logged in as teacher1
And I add a "Embedded answers (Cloze)" question filling the form with:
| Question name | multianswer |
| Question text | {1:SHORTANSWER:=Berlin} is the capital of Germany. |
| General feedback | The capital of Germany is Berlin. |
And I am on the "quiz2" "Activity" page
And I click on "Actions menu" "link"
And I click on "Edit quiz" "link"
And I click on "Add" "link"
And I click on "from question bank" "link"
And I set the field with xpath "//tr[contains(normalize-space(.), 'multianswer')]//input[@type='checkbox']" to "1"
And I click on "Add selected questions to the quiz" "button"
And I log out
Scenario: View a quiz entry page (attempts, status, etc.)
Given I entered the quiz activity "Quiz 1" on course "Course 1" as "student1" in the app
When I press "Attempt quiz now" in the app
Then I should find "Text of the first question" in the app
But I should not find "Text of the second question" in the app
When I press "Next" in the app
Then I should find "Text of the second question" in the app
But I should not find "Text of the first question" in the app
When I press "Previous" in the app
Then I should find "Text of the first question" in the app
But I should not find "Text of the second question" in the app
When I press "Next" in the app
Then I should find "Text of the second question" in the app
But I should not find "Text of the first question" in the app
When I press "Previous" in the app
Then I should find "Text of the first question" in the app
But I should not find "Text of the second question" in the app
When I press "Next" in the app
And I press "Submit" in the app
Then I should find "Summary of attempt" in the app
When I press "Not yet answered" within "2" "ion-item" in the app
Then I should find "Text of the second question" in the app
But I should not find "Text of the first question" in the app
When I press "Submit" in the app
And I press "Submit all and finish" in the app
Then I should find "Once you submit" in the app
When I press "Cancel" near "Once you submit" in the app
Then I should find "Summary of attempt" in the app
When I press "Submit all and finish" in the app
And I press "Submit" near "Once you submit" in the app
Then I should find "Review" in the app
And I should find "Started" in the app
And I should find "Status" in the app
And I should find "Completed" in the app
And I should find "Duration" in the app
And I should find "Marks" in the app
And I should find "Grade" in the app
And I should find "Question 1" in the app
And I should find "Question 2" in the app
Scenario: Attempt a quiz (all question types)
Given I entered the quiz activity "Quiz 2" on course "Course 1" as "student1" in the app
When I press "Attempt quiz now" in the app
And I press "Four" in the app
And I press "Three" in the app
And I set the field "Answer" to "Berlin" in the app
And I press "Next" in the app
And I set the field "Answer" to "testing" in the app
And I press "Next" in the app
And I set the field "Answer" to "5" in the app
And I press "Next" in the app
And I set the field "Answer" to "Testing an essay" in the app
And I press "Next" "ion-button" in the app
And I press "quick" ".drag" in the app
And I click on ".place1.drop" "css"
And I press "fox" ".drag" in the app
And I click on ".place2.drop" "css"
And I press "lazy" ".drag" in the app
And I click on ".place3.drop" "css"
And I press "Next" in the app
And I press "True" in the app
And I press "Next" 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
When I press "Next" in the app
And I set the field "Blank 1" to "cat" in the app
And I set the field "Blank 2" to "mat" in the app
And I press "Next" in the app
And I press "abyssal" ".drag" in the app
And I click on ".place6.dropzone" "css"
And I press "trench" ".drag" in the app
And I click on ".place3.dropzone" "css"
And I press "Next" in the app
And I press "Railway station" ".marker" in the app
And I click on "img.dropbackground" "css"
And I press "Submit" in the app
Then I should find "Answer saved" in the app
And I should find "Incomplete answer" within "10" "ion-item" in the app
But I should not find "Not yet answered" in the app
When I press "Submit all and finish" in the app
And I press "Submit" in the app
Then I should find "Review" in the app
And I should find "Finished" in the app
And I should find "Not yet graded" in the app
When I press "Correct" within "Question 2" "ion-card" in the app
Then I should find "The correct answer is: Berlin" in the app
And I should find "Mark 1.00 out of 1.00" in the app
Scenario: Submit a quiz & Review a quiz attempt
Given I entered the quiz activity "Quiz 1" on course "Course 1" as "student1" in the app
When I press "Attempt quiz now" in the app
Then I should find "Text of the first question" in the app
When I press "True" in the app
And I press "Next" in the app
And I press "False" in the app
And I press "Submit" in the app
And I press "Submit all and finish" in the app
And I press "Submit" in the app
Then I should find "Review" in the app
Given I open a browser tab with url "$WWWROOT"
When I am on the "quiz1" Activity page logged in as teacher1
And I follow "Attempts: 1"
And I follow "Review attempt"
Then I should see "Finished"
And I should see "1.00/2.00"

View File

@ -1,116 +0,0 @@
@addon_mod_quiz @app @javascript @lms_upto3.9
Feature: Attempt a quiz in app
As a student
In order to demonstrate what I know
I need to be able to attempt quizzes
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 |
| quiz | Quiz 1 | Quiz 1 description | C1 | quiz1 |
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 |
| quiz | Quiz 2 | Quiz 2 description | C1 | quiz2 |
And the following "question categories" exist:
| contextlevel | reference | name |
| Course | C1 | Test questions 2 |
And the following "questions" exist:
| questioncategory | qtype | name | questiontext |
| Test questions | multichoice | TF3 | Text of the first question |
| Test questions | shortanswer | TF4 | Text of the second question |
| Test questions | numerical | TF5 | Text of the third question |
| Test questions | essay | TF6 | Text of the fourth question |
| Test questions | ddwtos | TF7 | The [[1]] brown [[2]] jumped over the [[3]] dog. |
| Test questions | truefalse | TF8 | Text of the sixth question |
| Test questions | match | TF9 | Text of the seventh question |
| Test questions | description | TF10 | Text of the eighth question |
And the following "questions" exist:
| questioncategory | qtype | name | template |
| Test questions | gapselect | TF11 | missingchoiceno |
| Test questions | ddimageortext | TF12 | xsection |
| Test questions | ddmarker | TF13 | mkmap |
And quiz "Quiz 2" contains the following questions:
| question | page |
| TF3 | 1 |
| TF4 | 2 |
| TF5 | 3 |
| TF6 | 4 |
| TF7 | 5 |
| TF8 | 6 |
| TF9 | 7 |
| TF10 | 8 |
| TF11 | 9 |
| TF12 | 10 |
| TF13 | 11 |
# This scenario is duplicated from main because the description type question (the eighth)
# cannot be filled in 3.9, since the selects are missing accessible labels.
Scenario: Attempt a quiz (all question types)
Given I entered the quiz activity "Quiz 2" on course "Course 1" as "student1" in the app
When I press "Attempt quiz now" in the app
And I press "Four" in the app
And I press "Three" in the app
And I press "Next" in the app
And I set the field "Answer" to "testing" in the app
And I press "Next" in the app
And I set the field "Answer" to "5" in the app
And I press "Next" in the app
And I set the field "Answer" to "Testing an essay" in the app
And I press "Next" "ion-button" in the app
And I press "quick" ".drag" in the app
And I click on ".place1.drop" "css"
And I press "fox" ".drag" in the app
And I click on ".place2.drop" "css"
And I press "lazy" ".drag" in the app
And I click on ".place3.drop" "css"
And I press "Next" in the app
And I press "True" in the app
And I press "Next" 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
When I press "Next" in the app
And I press "Next" in the app
And I press "abyssal" ".drag" in the app
And I click on ".place6.dropzone" "css"
And I press "trench" ".drag" in the app
And I click on ".place3.dropzone" "css"
And I press "Next" in the app
And I press "Railway station" ".marker" in the app
And I click on "img.dropbackground" "css"
And I press "Submit" in the app
Then I should find "Answer saved" in the app
And I should find "Not yet answered" within "8" "ion-item" in the app
And I should find "Incomplete answer" within "9" "ion-item" in the app
When I press "Submit all and finish" in the app
And I press "Submit" in the app
Then I should find "Review" in the app
And I should find "Finished" in the app
And I should find "Not yet graded" in the app

View File

@ -609,7 +609,6 @@ Feature: Test attempts and grading settings of SCORM activity in app
# And I press the back button in the app # And I press the back button in the app
# Then I should find "74%" within "Grade reported" "ion-item" in the app # Then I should find "74%" within "Grade reported" "ion-item" in the app
# @lms_from4.1
# Scenario: SCORM grade is calculated right based on 'Attempts grading' setting # Scenario: SCORM grade is calculated right based on 'Attempts grading' setting
# Given the following "activities" exist: # Given the following "activities" exist:
# | activity | name | course | idnumber | packagefilepath | maxattempt | whatgrade | grademethod | forcenewattempt | # | activity | name | course | idnumber | packagefilepath | maxattempt | whatgrade | grademethod | forcenewattempt |

View File

@ -20,7 +20,6 @@ Feature: Test availability options of SCORM activity in app
| scorm | C1 | Current SCORM | mod/scorm/tests/packages/singlesco_scorm12.zip | ##yesterday## | ##tomorrow## | | scorm | C1 | Current SCORM | mod/scorm/tests/packages/singlesco_scorm12.zip | ##yesterday## | ##tomorrow## |
| scorm | C1 | Future SCORM | mod/scorm/tests/packages/singlesco_scorm12.zip | ##tomorrow## | ##+2 days## | | scorm | C1 | Future SCORM | mod/scorm/tests/packages/singlesco_scorm12.zip | ##tomorrow## | ##+2 days## |
@lms_from4.1
Scenario: Only open SCORMs can be played Scenario: Only open SCORMs can be played
Given I entered the course "Course 1" as "student1" in the app Given I entered the course "Course 1" as "student1" in the app
When I press "Past SCORM" in the app When I press "Past SCORM" in the app

View File

@ -1,277 +0,0 @@
@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."

View File

@ -1,4 +1,4 @@
@addon_mod_survey @app @javascript @lms_from4.0 @addon_mod_survey @app @javascript
Feature: Test basic usage of survey activity in app Feature: Test basic usage of survey activity in app
In order to participate in surveys while using the mobile app In order to participate in surveys while using the mobile app
As a student As a student

View File

@ -19,7 +19,6 @@ Feature: Test basic usage of workshop activity in app
| activity | name | intro | course | idnumber | | activity | name | intro | course | idnumber |
| workshop | Test workshop | Workshop description | C1 | workshop | | workshop | Test workshop | Workshop description | C1 | workshop |
@lms_from3.11
Scenario: Take a workshop Scenario: Take a workshop
# Setup phase # Setup phase

View File

@ -1,4 +1,4 @@
@addon_notifications @app @javascript @lms_from3.11 @addon_notifications @app @javascript
Feature: Notifications Feature: Notifications
Background: Background:

View File

@ -1,4 +1,4 @@
@core_comments @app @javascript @lms_from3.11 @core_comments @app @javascript
Feature: Test basic usage of comments in app Feature: Test basic usage of comments in app
In order to participate in the comments while using the mobile app In order to participate in the comments while using the mobile app
As a student As a student

View File

@ -1,4 +1,4 @@
@core_course @app @javascript @lms_from4.1 @core_course @app @javascript
Feature: Test basic usage of one course in app Feature: Test basic usage of one course in app
In order to participate in one course while using the mobile app In order to participate in one course while using the mobile app
As a student As a student

View File

@ -1,34 +0,0 @@
@core_course @app @javascript @lms_upto3.10
Feature: Check course completion feature.
In order to track the progress of the course on mobile device
As a student
I need to be able to update the activity completion status.
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| student1 | Student | 1 | student1@example.com |
And the following "courses" exist:
| fullname | shortname | category | enablecompletion |
| Course 1 | C1 | 0 | 1 |
And the following "course enrolments" exist:
| user | course | role |
| student1 | C1 | student |
Scenario: Activity completion, marking the checkbox manually
Given the following "activities" exist:
| activity | name | course | idnumber | completion | completionview |
| forum | First forum | C1 | forum1 | 1 | 0 |
| forum | Second forum | C1 | forum2 | 1 | 0 |
And I entered the course "Course 1" as "student1" in the app
# Set activities as completed.
Then I should find "0%" in the app
And I click on "ion-button[title=\"Not completed: First forum. Select to mark as complete.\"]" "css"
And I should find "50%" in the app
And I click on "ion-button[title=\"Not completed: Second forum. Select to mark as complete.\"]" "css"
And I should find "100%" in the app
# Set activities as not completed.
And I click on "ion-button[title=\"Completed: First forum. Select to mark as not complete.\"]" "css"
And I should find "50%" in the app
And I click on "ion-button[title=\"Completed: Second forum. Select to mark as not complete.\"]" "css"
And I should find "0%" in the app

View File

@ -15,7 +15,6 @@ Feature: Check course completion feature.
| user | course | role | | user | course | role |
| student1 | C1 | student | | student1 | C1 | student |
@lms_from3.11
Scenario: Activity completion, marking the checkbox manually Scenario: Activity completion, marking the checkbox manually
Given the following "activities" exist: Given the following "activities" exist:
| activity | name | course | idnumber | completion | completionview | | activity | name | course | idnumber | completion | completionview |

View File

@ -1,118 +0,0 @@
@core_course @app @javascript @lms_upto3.11
Feature: Test course list shown on app start tab
In order to select a course
As a student
I need to see the correct list of courses
Background:
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
| Course 2 | C2 |
And the following "users" exist:
| username |
| student1 |
| student2 |
And the following "course enrolments" exist:
| user | course | role |
| student1 | C1 | student |
| student2 | C1 | student |
| student2 | C2 | student |
Scenario: View courses (shortnames not displayed)
Given I entered the app as "student1"
When I should find "Course 1" in the app
But I should not find "Course 2" in the app
But I should not find "C1" in the app
But I should not find "C2" in the app
Given I entered the app as "student2"
When I should find "Course 1" in the app
And I should find "Course 2" in the app
But I should not find "C1" in the app
But I should not find "C2" in the app
Scenario: Filter courses
Given the following config values are set as admin:
| courselistshortnames | 1 |
And the following "courses" exist:
| fullname | shortname |
| Frog 3 | C3 |
| Frog 4 | C4 |
| Course 5 | C5 |
| Toad 6 | C6 |
And the following "course enrolments" exist:
| user | course | role |
| student2 | C3 | student |
| student2 | C4 | student |
| student2 | C5 | student |
| student2 | C6 | student |
# Create bogus courses so that the main ones aren't shown in the 'recently accessed' part.
# Because these come later in alphabetical order, they may not be displayed in the lower part
# which is OK.
And the following "courses" exist:
| fullname | shortname |
| Zogus 1 | Z1 |
| Zogus 2 | Z2 |
| Zogus 3 | Z3 |
| Zogus 4 | Z4 |
| Zogus 5 | Z5 |
| Zogus 6 | Z6 |
| Zogus 7 | Z7 |
| Zogus 8 | Z8 |
| Zogus 9 | Z9 |
| Zogus 10 | Z10 |
And the following "course enrolments" exist:
| user | course | role |
| student2 | Z1 | student |
| student2 | Z2 | student |
| student2 | Z3 | student |
| student2 | Z4 | student |
| student2 | Z5 | student |
| student2 | Z6 | student |
| student2 | Z7 | student |
| student2 | Z8 | student |
| student2 | Z9 | student |
| student2 | Z10 | student |
Given I entered the app as "student2"
When I should find "C1" in the app
And I should find "C2" in the app
And I should find "C3" in the app
And I should find "C4" in the app
And I should find "C5" in the app
And I should find "C6" in the app
And I should find "Course 1" in the app
And I should find "Course 2" in the app
And I should find "Frog 3" in the app
And I should find "Frog 4" in the app
And I should find "Course 5" in the app
And I should find "Toad 6" in the app
And I set the field "search text" to "fr" in the app
Then I should find "C3" in the app
And I should find "C4" in the app
And I should find "Frog 3" in the app
And I should find "Frog 4" in the app
But I should not find "C1" in the app
And I should not find "C2" in the app
And I should not find "C5" in the app
And I should not find "C6" in the app
And I should not find "Course 1" in the app
And I should not find "Course 2" in the app
And I should not find "Course 5" in the app
And I should not find "Toad 6" in the app
When I set the field "search text" to "" in the app
Then I should find "C1" in the app
And I should find "C2" in the app
And I should find "C3" in the app
And I should find "C4" in the app
And I should find "C5" in the app
And I should find "C6" in the app
And I should find "Course 1" in the app
And I should find "Course 2" in the app
And I should find "Frog 3" in the app
And I should find "Frog 4" in the app
And I should find "Course 5" in the app
And I should find "Toad 6" in the app

View File

@ -19,7 +19,6 @@ Feature: Test course list shown on app start tab
| student2 | C1 | student | | student2 | C1 | student |
| student2 | C2 | student | | student2 | C2 | student |
@lms_from4.0
Scenario: View courses (shortnames not displayed) Scenario: View courses (shortnames not displayed)
Given I entered the app as "student1" Given I entered the app as "student1"
When I press "My courses" in the app When I press "My courses" in the app
@ -35,7 +34,6 @@ Feature: Test course list shown on app start tab
But I should not find "C1" in the app But I should not find "C1" in the app
But I should not find "C2" in the app But I should not find "C2" in the app
@lms_from4.0
Scenario: Filter courses Scenario: Filter courses
Given the following config values are set as admin: Given the following config values are set as admin:
| courselistshortnames | 1 | | courselistshortnames | 1 |

View File

@ -20,7 +20,6 @@ Feature: Test basic usage of guest access course in app
| activity | name | intro | course | idnumber | groupmode | | activity | name | intro | course | idnumber | groupmode |
| wiki | Test wiki name | Test wiki | C1 | wiki | 0 | | wiki | Test wiki name | Test wiki | C1 | wiki | 0 |
@lms_from4.0
Scenario: Guest access without password (student) Scenario: Guest access without password (student)
Given I am on the "Course 1" "enrolment methods" page logged in as "teacher1" Given I am on the "Course 1" "enrolment methods" page logged in as "teacher1"
And I click on "Edit" "link" in the "Guest access" "table_row" And I click on "Edit" "link" in the "Guest access" "table_row"

View File

@ -1,4 +1,4 @@
@core_course @app @javascript @lms_from4.0 @lms_upto4.3 @core_course @app @javascript @lms_upto4.3
Feature: Check relative dates feature. Feature: Check relative dates feature.
Background: Background:

View File

@ -38,7 +38,6 @@ Feature: Test basic usage of courses in app
| activity | course | idnumber | name | intro | assignsubmission_onlinetext_enabled | duedate | gradingduedate | | activity | course | idnumber | name | intro | assignsubmission_onlinetext_enabled | duedate | gradingduedate |
| assign | C1 | assign1 | assignment | Test assignment description | 1 | ##tomorrow## | ##tomorrow## | | assign | C1 | assign1 | assignment | Test assignment description | 1 | ##tomorrow## | ##tomorrow## |
@lms_from4.0
Scenario: See my courses Scenario: See my courses
Given I entered the app as "student1" Given I entered the app as "student1"
When the header should be "Acceptance test site" in the app When the header should be "Acceptance test site" in the app

View File

@ -1,69 +0,0 @@
@core_courses @app @javascript @lms_upto3.10
Feature: Test basic usage of courses in app
In order to participate in the courses while using the mobile app
As a student
I need basic courses functionality to work
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | teacher | teacher1@example.com |
| student1 | Student | student | student1@example.com |
And the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
| Course 2 | C2 | 0 |
| Course 3 | C3 | 0 |
| Course 4 | C4 | 0 |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
| teacher1 | C2 | editingteacher |
| teacher1 | C3 | editingteacher |
| teacher1 | C4 | editingteacher |
| student1 | C1 | student |
| student1 | C2 | student |
| student1 | C3 | student |
And the following "activities" exist:
| activity | name | intro | course | idnumber | option |
| choice | Choice course 1 | Test choice description | C1 | choice1 | Option 1, Option 2, Option 3 |
| choice | Choice course 2 | Test choice description | C2 | choice1 | Option 1, Option 2, Option 3 |
| choice | Choice course 3 | Test choice description | C3 | choice1 | Option 1, Option 2, Option 3 |
| choice | Choice course 4 | Test choice description | C4 | choice1 | Option 1, Option 2, Option 3 |
And the following "activities" exist:
| activity | course | idnumber | name | intro | assignsubmission_onlinetext_enabled | duedate | gradingduedate |
| assign | C1 | assign1 | assignment | Test assignment description | 1 | ##tomorrow## | ##tomorrow## |
Scenario: Links to actions in Timeline work for teachers/students
# Submit assignment as student
Given I entered the app as "student1"
When I press "Open block drawer" in the app
And I press "Add submission" in the app
Then the header should be "assignment" in the app
And I should find "Test assignment description" in the app
And I should find "No attempt" in the app
And I should find "Due date" in the app
When I press "Add submission" in the app
And I set the field "Online text submissions" to "test" in the app
And I press "Save" in the app
And I press "Submit assignment" in the app
And I press "OK" in the app
Then the header should be "assignment" in the app
And I should find "Test assignment description" in the app
And I should find "Submitted for grading" in the app
And I should find "Due date" in the app
# Grade assignment as teacher
Given I entered the app as "teacher1"
When I press "Open block drawer" in the app
And I press "Grade" in the app
Then the header should be "assignment" in the app
When I pull to refresh in the app
Then I should find "Test assignment description" in the app
And I should find "Time remaining" in the app
When I press "Needs grading" in the app
Then I should find "Student student" in the app
And I should find "Not graded" in the app

View File

@ -1,113 +0,0 @@
@core_courses @app @javascript @lms_upto3.11
Feature: Test basic usage of courses in app
In order to participate in the courses while using the mobile app
As a student
I need basic courses functionality to work
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | teacher | teacher1@example.com |
| student1 | Student | student | student1@example.com |
And the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
| Course 2 | C2 | 0 |
| Course 3 | C3 | 0 |
| Course 4 | C4 | 0 |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
| teacher1 | C2 | editingteacher |
| teacher1 | C3 | editingteacher |
| teacher1 | C4 | editingteacher |
| student1 | C1 | student |
| student1 | C2 | student |
| student1 | C3 | student |
And the following "activities" exist:
| activity | name | intro | course | idnumber | option |
| choice | Choice course 1 | Test choice description | C1 | choice1 | Option 1, Option 2, Option 3 |
| choice | Choice course 2 | Test choice description | C2 | choice1 | Option 1, Option 2, Option 3 |
| choice | Choice course 3 | Test choice description | C3 | choice1 | Option 1, Option 2, Option 3 |
| choice | Choice course 4 | Test choice description | C4 | choice1 | Option 1, Option 2, Option 3 |
And the following "activities" exist:
| activity | course | idnumber | name | intro | assignsubmission_onlinetext_enabled | duedate | gradingduedate |
| assign | C1 | assign1 | assignment | Test assignment description | 1 | ##tomorrow## | ##tomorrow## |
Scenario: "Dashboard" tab displayed
Given I entered the app as "student1"
When I should see "Dashboard"
And the header should be "Acceptance test site" in the app
And I should find "Course 1" in the app
And I should find "Course 2" in the app
And I should find "Course 3" in the app
When I press "Site home" in the app
Then I should find "Dashboard" in the app
And the header should be "Acceptance test site" in the app
When I press "Dashboard" in the app
Then I should find "Course 1" in the app
And I should find "Course 2" in the app
And I should find "Course 3" in the app
Scenario: See my courses
Given I entered the app as "student1"
When the header should be "Acceptance test site" in the app
And I should find "Course 1" in the app
And I should find "Course 2" in the app
And I should find "Course 3" in the app
When I press "Course 1" in the app
Then I should find "Choice course 1" in the app
And the header should be "Course 1" in the app
When I press "Choice course 1" in the app
Then I should find "Test choice description" in the app
And the header should be "Choice course 1" in the app
When I press the back button in the app
And I press the back button in the app
And I press "Course 2" in the app
Then I should find "Choice course 2" in the app
And the header should be "Course 2" in the app
When I press the back button in the app
And I press "Course 3" in the app
Then I should find "Choice course 3" in the app
And the header should be "Course 3" in the app
@lms_from3.11
Scenario: Links to actions in Timeline work for teachers/students
# Submit assignment as student
Given I entered the app as "student1"
When I press "Open block drawer" in the app
And I press "Add submission" in the app
Then the header should be "assignment" in the app
And I should find "Test assignment description" in the app
And I should find "No attempt" in the app
And I should find "Due:" in the app
When I press "Add submission" in the app
And I set the field "Online text submissions" to "test" in the app
And I press "Save" in the app
And I press "Submit assignment" in the app
And I press "OK" in the app
Then the header should be "assignment" in the app
And I should find "Test assignment description" in the app
And I should find "Submitted for grading" in the app
And I should find "Due:" in the app
# Grade assignment as teacher
Given I entered the app as "teacher1"
When I press "Open block drawer" in the app
And I press "Grade" in the app
Then the header should be "assignment" in the app
When I pull to refresh in the app
Then I should find "Test assignment description" in the app
And I should find "Time remaining" in the app
When I press "Needs grading" in the app
Then I should find "Student student" in the app
And I should find "Not graded" in the app

View File

@ -37,7 +37,6 @@ Feature: Test basic usage of courses in app
| activity | course | idnumber | name | intro | assignsubmission_onlinetext_enabled | duedate | gradingduedate | | activity | course | idnumber | name | intro | assignsubmission_onlinetext_enabled | duedate | gradingduedate |
| assign | C1 | assign1 | assignment | Test assignment description | 1 | ##tomorrow## | ##tomorrow## | | assign | C1 | assign1 | assignment | Test assignment description | 1 | ##tomorrow## | ##tomorrow## |
@lms_from4.0
Scenario: "Dashboard" tab displayed Scenario: "Dashboard" tab displayed
Given I entered the app as "student1" Given I entered the app as "student1"
When I should see "Dashboard" When I should see "Dashboard"
@ -52,7 +51,6 @@ Feature: Test basic usage of courses in app
And I should find "Course 2" in the app And I should find "Course 2" in the app
And I should find "Course 3" in the app And I should find "Course 3" in the app
@lms_from4.0
Scenario: Hidden course is only accessible for teachers Scenario: Hidden course is only accessible for teachers
Given I entered the app as "teacher1" Given I entered the app as "teacher1"
And I press "My courses" in the app And I press "My courses" in the app
@ -118,7 +116,6 @@ Feature: Test basic usage of courses in app
And I should find "Course 3" in the app And I should find "Course 3" in the app
And I should find "Course 4" in the app And I should find "Course 4" in the app
@lms_from4.0
Scenario: Links to actions in Timeline work for teachers/students Scenario: Links to actions in Timeline work for teachers/students
# Submit assignment as student # Submit assignment as student
Given I entered the app as "student1" Given I entered the app as "student1"

View File

@ -1,4 +1,4 @@
@core_grades @app @javascript @lms_from3.11 @lms_upto4.1 @core_grades @app @javascript @lms_upto4.1
Feature: Grades navigation Feature: Grades navigation
Background: Background:

View File

@ -1,4 +1,4 @@
@core_grades @app @javascript @lms_from3.11 @core_grades @app @javascript
Feature: Grades navigation Feature: Grades navigation
Background: Background:

View File

@ -1,4 +1,4 @@
@core_grades @app @javascript @lms_from4.0 @core_grades @app @javascript
Feature: View grades Feature: View grades
Background: Background:

View File

@ -1,19 +0,0 @@
@core_login @app @javascript @lms_from4.0 @lms_upto4.0
Feature: Test basic usage of login in app
I need basic login functionality to work
Background:
Given the following "users" exist:
| username | firstname | lastname |
| student1 | david | student |
Scenario: Forgot password
When I enter the app
And I press "Lost password?" in the app
And I set the field "Enter either username or email address" to "student1"
And I press "Search" in the app
Then I should find "Success" in the app
When I press "OK" in the app
And I press "Lost password?" in the app
Then I should find "Contact support" in the app

View File

@ -1,19 +0,0 @@
@core_login @app @javascript @lms_upto3.11
Feature: Test basic usage of login in app
I need basic login functionality to work
Background:
Given the following "users" exist:
| username | firstname | lastname |
| student1 | david | student |
Scenario: Forgot password
When I enter the app
And I press "Lost password?" in the app
And I set the field "Enter either username or email address" to "student1"
And I press "Search" in the app
Then I should find "Success" in the app
When I press "OK" in the app
And I press "Lost password?" in the app
Then I should not find "Contact support" in the app

View File

@ -146,7 +146,6 @@ Feature: Test basic usage of login in app
When I press "Reconnect" in the app When I press "Reconnect" in the app
Then I should find "Acceptance test site" in the app Then I should find "Acceptance test site" in the app
@lms_from4.1
Scenario: Forgot password Scenario: Forgot password
Given the following config values are set as admin: Given the following config values are set as admin:
| supportavailability | 2 | | supportavailability | 2 |

View File

@ -1,45 +0,0 @@
@core_login @app @javascript @lms_upto3.9
Feature: Test signup in app
I need basic signup functionality to work
# These scenarios are duplicated from main because the error message about
# non alpha-numeric characters has changed.
Background:
Given the following config values are set as admin:
| registerauth | email |
| auth_instructions | These are the authentication instructions. |
| passwordpolicy | 0 |
Scenario: Check password policy in signup
Given the following config values are set as admin:
| passwordpolicy | 1 |
| minpasswordlength | 8 |
| minpassworddigits | 1 |
| minpasswordlower | 1 |
| minpasswordupper | 1 |
| minpasswordnonalphanum | 1 |
When I launch the app
And I set the field "Your site" to "$WWWROOT" in the app
And I press "Connect to your site" in the app
And I press "Create new account" in the app
Then I should find "The password must have at least 8 characters" in the app
And I set the following fields to these values in the app:
| Username | u1 |
| Password | pu1 |
| Email address | u1@u1.com |
| Email (again) | u1@u1.com |
| First name | User |
| Last name | Test |
| City/town | Barcelona |
| Country | Spain |
And I press "Create my new account" in the app
Then I should find "Error" in the app
And I should find "Passwords must be at least 8 characters long" in the app
And I should find "Passwords must have at least 1 upper case letter(s)" in the app
And I should find "Passwords must have at least 1 non-alphanumeric character(s)" in the app
But I should not find "An email should have been sent to your address" in the app
When I press "OK" in the app
And I set the field "Password" to "Password1$" in the 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

View File

@ -80,7 +80,6 @@ Feature: Test signup in app
Then I should find "Spain" in the app Then I should find "Spain" in the app
And I should find "u1@u1.com" in the app And I should find "u1@u1.com" in the app
@lms_from4.1
Scenario: Check password policy in signup Scenario: Check password policy in signup
Given the following config values are set as admin: Given the following config values are set as admin:
| passwordpolicy | 1 | | passwordpolicy | 1 |
@ -115,7 +114,6 @@ Feature: Test signup in app
And I press "Create my new account" in the 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 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 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. # 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: Given the following "custom profile fields" exist:

View File

@ -1,23 +0,0 @@
@core_mainmenu @app @javascript @lms_upto3.11
Feature: Main Menu opens the right page
Background:
Given the following "users" exist:
| username |
| student |
Scenario: Opens Site Home when defaulthomepage is set to Site
Given the following config values are set as admin:
| defaulthomepage | 0 |
Given I entered the app as "student"
When "Site home" should be selected in the app
And I should find "Available courses" in the app
And "Site home" "text" should appear before "Dashboard" "text" in the ".core-tabs-bar" "css_element"
Scenario: Opens Dashboard when defaulthomepage is set to Dashboard
Given the following config values are set as admin:
| defaulthomepage | 1 |
Given I entered the app as "student"
When "Dashboard" should be selected in the app
And I should find "Course overview" in the app
And "Dashboard" "text" should appear before "Site home" "text" in the ".core-tabs-bar" "css_element"

View File

@ -12,7 +12,6 @@ Feature: Main Menu opens the right page
| user | course | role | | user | course | role |
| student | C1 | student | | student | C1 | student |
@lms_from4.0
Scenario: Opens Site Home when defaulthomepage is set to Site Scenario: Opens Site Home when defaulthomepage is set to Site
Given the following config values are set as admin: Given the following config values are set as admin:
| defaulthomepage | 0 | | defaulthomepage | 0 |
@ -22,7 +21,6 @@ Feature: Main Menu opens the right page
And "Site home" "text" should appear before "Dashboard" "text" in the ".core-tabs-bar" "css_element" And "Site home" "text" should appear before "Dashboard" "text" in the ".core-tabs-bar" "css_element"
And "Home" "text" should appear before "My courses" "text" in the ".mainmenu-tabs" "css_element" And "Home" "text" should appear before "My courses" "text" in the ".mainmenu-tabs" "css_element"
@lms_from4.0
Scenario: Opens Dashboard when defaulthomepage is set to Dashboard Scenario: Opens Dashboard when defaulthomepage is set to Dashboard
Given the following config values are set as admin: Given the following config values are set as admin:
| defaulthomepage | 1 | | defaulthomepage | 1 |
@ -32,7 +30,6 @@ Feature: Main Menu opens the right page
And "Dashboard" "text" should appear before "Site home" "text" in the ".core-tabs-bar" "css_element" And "Dashboard" "text" should appear before "Site home" "text" in the ".core-tabs-bar" "css_element"
And "Home" "text" should appear before "My courses" "text" in the ".mainmenu-tabs" "css_element" And "Home" "text" should appear before "My courses" "text" in the ".mainmenu-tabs" "css_element"
@lms_from4.0
Scenario: Opens My Courses when defaulthomepage is set to My Courses Scenario: Opens My Courses when defaulthomepage is set to My Courses
Given the following config values are set as admin: Given the following config values are set as admin:
| defaulthomepage | 3 | | defaulthomepage | 3 |
@ -42,7 +39,6 @@ Feature: Main Menu opens the right page
And "My courses" "text" should appear before "Home" "text" in the ".mainmenu-tabs" "css_element" And "My courses" "text" should appear before "Home" "text" in the ".mainmenu-tabs" "css_element"
# @todo MOBILE-4119: This test is too flaky to run in CI until the race condition is fixed. # @todo MOBILE-4119: This test is too flaky to run in CI until the race condition is fixed.
# @lms_from4.0
# Scenario: Opens first tab after Site Home, Dashboard, and My Courses are disabled # Scenario: Opens first tab after Site Home, Dashboard, and My Courses are disabled
# Given I entered the app as "student" # Given I entered the app as "student"
# Then "Dashboard" should be selected in the app # Then "Dashboard" should be selected in the app

View File

@ -1,4 +1,4 @@
@core_reminders @app @javascript @lms_from4.0 @core_reminders @app @javascript
Feature: Set a new reminder on activity Feature: Set a new reminder on activity
Background: Background:

View File

@ -1,4 +1,4 @@
@core_reportbuilder @app @javascript @lms_from4.1 @core_reportbuilder @app @javascript
Feature: Report builder Feature: Report builder
Background: Background:

View File

@ -7,7 +7,6 @@ Feature: Test basic usage of user features
| username | firstname | lastname | timezone | | username | firstname | lastname | timezone |
| student1 | Student | Student | 99 | | student1 | Student | Student | 99 |
@lms_from4.1
Scenario: Complete missing fields Scenario: Complete missing fields
Given the following "custom profile fields" exist: Given the following "custom profile fields" exist:
| datatype | shortname | name | required | param1 | | datatype | shortname | name | required | param1 |
@ -56,7 +55,6 @@ Feature: Test basic usage of user features
When I press "Reconnect" in the app When I press "Reconnect" in the app
Then I should find "Acceptance test site" in the app Then I should find "Acceptance test site" in the app
@lms_from4.1
Scenario: View profile Scenario: View profile
Given the following "custom profile fields" exist: Given the following "custom profile fields" exist:
| datatype | shortname | name | required | param1 | | datatype | shortname | name | required | param1 |

View File

@ -1,13 +0,0 @@
@core_user @app @javascript @lms_upto3.11
Feature: Site support
Background:
Given the following "users" exist:
| username | firstname | lastname |
| student1 | Student | Student |
Scenario: Cannot contact support
Given I entered the app as "student1"
When I press the user menu button in the app
Then I should find "Blog entries" in the app
But I should not find "Support" in the app

View File

@ -1,4 +1,4 @@
@core_user @app @javascript @lms_from4.0 @core_user @app @javascript
Feature: Site support Feature: Site support
Background: Background:

View File

@ -1,4 +1,4 @@
@core @app @javascript @lms_from4.0 @core @app @javascript
Feature: Custom lang strings Feature: Custom lang strings
Background: Background:

View File

@ -1,41 +0,0 @@
@core @app @javascript @lms_upto3.9
Feature: It opens files properly.
Background:
Given the Moodle site is compatible with this feature
And the following "users" exist:
| username |
| student1 |
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 "activities" exist:
| activity | name | intro | display | course | defaultfilename |
| resource | Test TXT | Test TXT description | 5 | C1 | A txt.txt |
| resource | Test RTF | Test RTF description | 5 | C1 | A rtf.rtf |
| resource | Test DOC | Test DOC description | 5 | C1 | A doc.doc |
Scenario: Open a file
Given I entered the resource activity "Test TXT" on course "Course 1" as "student1" in the app
When 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 txt.txt file"
When I close the browser tab opened by the app
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 url "^blob:" with contents "Test resource A rtf.rtf file" once
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 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 url "^blob:" with contents "Test resource A doc.doc file" once

View File

@ -13,7 +13,6 @@ Feature: It opens files properly.
| user | course | role | | user | course | role |
| student1 | C1 | student | | student1 | C1 | student |
@lms_from3.11
Scenario: Open a file Scenario: Open a file
Given the following "activities" exist: Given the following "activities" exist:
| activity | name | intro | display | course | defaultfilename | | activity | name | intro | display | course | defaultfilename |