Vmeda.Online/src/addons/mod/survey/tests/behat/basic_usage.feature

279 lines
18 KiB
Gherkin
Executable File

@addon_mod_survey @app @javascript
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 I enable "survey" "mod" plugin
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 go back 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 go back 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 go back 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."