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

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