MDL-37624 calendar: Added location support
[moodle.git] / calendar / tests / behat / calendar.feature
1 @core @core_calendar
2 Feature: Perform basic calendar functionality
3   In order to ensure the calendar works as expected
4   As an admin
5   I need to create calendar data
7   Background:
8     Given the following "users" exist:
9       | username | firstname | lastname | email |
10       | student1 | Student | 1 | student1@example.com |
11       | student2 | Student | 2 | student2@example.com |
12       | student3 | Student | 3 | student3@example.com |
13       | teacher1 | Teacher | 1 | teacher1@example.com |
14     And the following "courses" exist:
15       | fullname | shortname | format |
16       | Course 1 | C1 | topics |
17     And the following "course enrolments" exist:
18       | user | course | role |
19       | student1 | C1 | student |
20       | student3 | C1 | student |
21       | teacher1 | C1 | teacher |
22     And the following "groups" exist:
23       | name | course | idnumber |
24       | Group 1 | C1 | G1 |
25     And the following "group members" exist:
26       | user | group |
27       | student1 | G1 |
28       | teacher1 | G1 |
29     And I log in as "admin"
30     And I am on "Course 1" course homepage with editing mode on
31     And I add the "Calendar" block
32     And I log out
34   @javascript
35   Scenario: Create a site event
36     Given I log in as "admin"
37     And I create a calendar event with form data:
38       | Type of event | site |
39       | Event title | Really awesome event! |
40       | Description | Come join this awesome event, sucka! |
41       | Location | Cube office |
42     And I log out
43     And I log in as "student1"
44     And I am on "Course 1" course homepage
45     And I follow "This month"
46     And I should see "Really awesome event!"
47     And I log out
48     And I log in as "student2"
49     And I follow "This month"
50     And I should see "Really awesome event!"
52   @javascript
53   Scenario: Create a course event
54     Given I log in as "teacher1"
55     And I create a calendar event with form data:
56       | Type of event | course |
57       | Course        | Course 1 |
58       | Event title | Really awesome event! |
59       | Description | Come join this awesome event, sucka! |
60       | Location | Cube office |
61     And I log out
62     And I log in as "student1"
63     When I am on "Course 1" course homepage
64     And I follow "This month"
65     And I click on "Really awesome event!" "link"
66     And "Course 1" "link" should exist in the "Really awesome event!" "dialogue"
67     And I click on "Close" "button"
68     And I log out
69     And I log in as "student2"
70     And I follow "This month"
71     Then I should not see "Really awesome event!"
73   @javascript
74   Scenario: Create a group event
75     Given I log in as "teacher1"
76     And I am on "Course 1" course homepage
77     And I create a calendar event with form data:
78       | Type of event | group |
79       | Group         | Group 1 |
80       | Event title | Really awesome event! |
81       | Description | Come join this awesome event |
82       | Location | Cube office |
83     And I log out
84     And I log in as "student1"
85     When I am on "Course 1" course homepage
86     And I follow "This month"
87     Then I follow "Really awesome event!"
89   @javascript
90   Scenario: Create a user event
91     Given I log in as "teacher1"
92     And I create a calendar event with form data:
93       | Type of event | user |
94       | Event title | Really awesome event! |
95       | Description | Come join this awesome event, sucka! |
96       | Location | Cube office |
97     And I log out
98     And I log in as "student1"
99     When I am on "Course 1" course homepage
100     And I follow "This month"
101     Then I should not see "Really awesome event!"
103   @javascript
104   Scenario: Delete an event
105     Given I log in as "teacher1"
106     And I create a calendar event with form data:
107       | Type of event | user |
108       | Event title | Really awesome event! |
109       | Description | Come join this awesome event, sucka! |
110     And I am on "Course 1" course homepage
111     When I follow "This month"
112     And I click on "Really awesome event!" "link"
113     And I click on "Delete" "button"
114     And I click on "Delete event" "button"
115     And I wait to be redirected
116     Then I should not see "Really awesome event!"
118   @javascript
119   Scenario: Edit an event
120     Given I log in as "teacher1"
121     And I create a calendar event with form data:
122       | Type of event | user |
123       | Event title | Really awesome event! |
124       | Description | Come join this awesome event, sucka! |
125       | Location | Cube office |
126     And I am on "Course 1" course homepage
127     When I follow "This month"
128     And I click on "Really awesome event!" "link"
129     And I click on "Edit" "button"
130     And I set the following fields to these values:
131       | Event title | Mediocre event :( |
132       | Description | Wait, this event isn't that great. |
133       | Location | The park |
134     And I press "Save"
135     Then I should see "Mediocre event"
137   @javascript
138   Scenario: Module events editing
139     Given I log in as "admin"
140     And I am on "Course 1" course homepage with editing mode on
141     And the following "activities" exist:
142       | activity | course | idnumber | name        | intro                   | timeopen      | timeclose     |
143       | choice   | C1     | choice1  | Test choice | Test choice description | ##today## | ##today##  |
144     When I follow "This month"
145     Then I should see "Test choice opens"
146     And I should see "Test choice closes"
147     When I click on "Test choice opens" "link"
148     Then "Delete" "button" should not exist
149     And "Edit" "button" should not exist
150     And I should see "Course event"
151     When I click on "Go to activity" "link"
152     And I wait to be redirected
153     Then I should see "Test choice"
154     And I am on "Course 1" course homepage
155     And I follow "This month"
156     When I click on "Test choice closes" "link"
157     Then "Delete" "button" should not exist
158     And "Edit" "button" should not exist
159     And I should see "Course event"
160     When I click on "Go to activity" "link"
161     And I wait to be redirected
162     Then I should see "Test choice"