96 lines
4.3 KiB
Gherkin
Executable File
96 lines
4.3 KiB
Gherkin
Executable File
@addon_mod_chat @app @javascript
|
|
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 I enable "chat" "mod" plugin
|
|
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 go back 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 go back 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 find "Downloaded" within "Test chat name" "ion-item" in the app
|