You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

196 lines
7.0 KiB

@block @block_calendar_month
Feature: Enable the calendar block in a course and test it's functionality
In order to enable the calendar block in a course
As a teacher
I can add the calendar block to a course
Background:
Given the following "users" exist:
| username | firstname | lastname | email | idnumber |
| teacher1 | Teacher | 1 | teacher1@example.com | T1 |
| student1 | Student | 1 | student1@example.com | S1 |
| student2 | Student | 2 | student2@example.com | S2 |
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 |
| student2 | C1 | student |
Scenario: Add the block to a the course
Given I log in as "teacher1"
And I am on "Course 1" course homepage with editing mode on
When I add the "Calendar" block
Then "Calendar" "block" should exist
@javascript
Scenario: View a global event in the calendar block
Given I log in as "admin"
And I create a calendar event with form data:
| id_eventtype | Site |
| id_name | Site Event |
And I log out
When I log in as "teacher1"
And I am on "Course 1" course homepage with editing mode on
And I add the "Calendar" block
And I hover over today in the calendar
Then I should see "Site Event"
@javascript
Scenario: Filter site events in the calendar block
Given I log in as "admin"
And I create a calendar event with form data:
| id_eventtype | Site |
| id_name | Site Event |
And I log out
When I log in as "teacher1"
And I am on "Course 1" course homepage with editing mode on
And I add the "Calendar" block
And I create a calendar event with form data:
| id_eventtype | Course |
| id_name | Course Event |
And I am on "Course 1" course homepage
And I follow "Hide global events"
And I hover over today in the calendar
Then I should not see "Site Event"
And I should see "Course Event"
@javascript
Scenario: View a course event in the calendar block
Given I log in as "teacher1"
And I am on "Course 1" course homepage with editing mode on
And I add the "Calendar" block
And I create a calendar event with form data:
| id_eventtype | Course |
| id_name | Course Event |
When I am on "Course 1" course homepage
And I hover over today in the calendar
Then I should see "Course Event"
@javascript
Scenario: Filter course events in the calendar block
Given I log in as "teacher1"
And I am on "Course 1" course homepage with editing mode on
And I add the "Calendar" block
And I create a calendar event with form data:
| id_eventtype | Course |
| id_name | Course Event |
And I am on "Course 1" course homepage
And I create a calendar event with form data:
| id_eventtype | User |
| id_name | User Event |
And I am on "Course 1" course homepage
And I follow "Hide course events"
And I hover over today in the calendar
Then I should not see "Course Event"
And I should see "User Event"
@javascript
Scenario: View a user event in the calendar block
Given I log in as "teacher1"
And I am on "Course 1" course homepage with editing mode on
And I add the "Calendar" block
And I create a calendar event with form data:
| id_eventtype | User |
| id_name | User Event |
When I am on "Course 1" course homepage
And I hover over today in the calendar
Then I should see "User Event"
@javascript
Scenario: Filter user events in the calendar block
Given I log in as "teacher1"
And I am on "Course 1" course homepage with editing mode on
And I add the "Calendar" block
And I create a calendar event with form data:
| id_eventtype | Course |
| id_name | Course Event |
And I am on "Course 1" course homepage
And I create a calendar event with form data:
| id_eventtype | User |
| id_name | User Event |
When I am on "Course 1" course homepage
And I follow "Hide user events"
And I hover over today in the calendar
Then I should not see "User Event"
And I should see "Course Event"
@javascript
Scenario: View a group event in the calendar block
Given the following "groups" exist:
| name | course | idnumber |
| Group 1 | C1 | G1 |
| Group 2 | C1 | G2 |
And the following "group members" exist:
| user | group |
| student1 | G1 |
| student2 | G2 |
When I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to "Edit settings" in current page administration
And I set the following fields to these values:
| id_groupmode | Separate groups |
| id_groupmodeforce | Yes |
And I press "Save and display"
And I turn editing mode on
And I add the "Calendar" block
And I click on "This month" "link"
And I click on "New event" "button"
And I set the following fields to these values:
| id_eventtype | Group |
| id_name | Group Event |
And I set the following fields to these values:
| Group | Group 1 |
And I press "Save"
And I log out
Then I log in as "student1"
And I am on "Course 1" course homepage
And I hover over today in the calendar
And I should see "Group Event"
And I log out
And I log in as "student2"
And I am on "Course 1" course homepage
And I hover over today in the calendar
And I should not see "Group Event"
@javascript
Scenario: Filter group events in the calendar block
Given the following "groups" exist:
| name | course | idnumber |
| Group 1 | C1 | G1 |
| Group 2 | C1 | G2 |
And the following "group members" exist:
| user | group |
| student1 | G1 |
| student2 | G2 |
When I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to "Edit settings" in current page administration
And I set the following fields to these values:
| id_groupmode | Separate groups |
| id_groupmodeforce | Yes |
And I press "Save and display"
And I turn editing mode on
And I add the "Calendar" block
And I create a calendar event with form data:
| id_eventtype | Course |
| id_name | Course Event 1 |
And I am on "Course 1" course homepage
And I click on "This month" "link"
And I click on "New event" "button"
And I set the following fields to these values:
| id_eventtype | Group |
| id_name | Group Event 1 |
And I set the following fields to these values:
| Group | Group 1 |
And I press "Save"
And I log out
Then I log in as "student1"
And I am on "Course 1" course homepage
And I follow "Hide group events"
And I hover over today in the calendar
And I should not see "Group Event 1"
And I should see "Course Event 1"