weekly release 3.1dev
[moodle.git] / tag / tests / behat / edit_tag.feature
CommitLineData
8e355853
MG
1@core @core_tag
2Feature: Users can edit tags to add description or rename
3 In order to use tags
4 As a manager
5 I need to be able to edit tags
6
7 Background:
8 Given the following "users" exist:
810805da
MG
9 | username | firstname | lastname | email | interests |
10 | manager1 | Manager | 1 | manager1@example.com | |
11 | user1 | User | 1 | user1@example.com | Cat,Dog,Turtle |
12 | editor1 | Editor | 1 | editor1@example.com | |
8e355853
MG
13 Given the following "roles" exist:
14 | name | shortname |
15 | Tag editor | tageditor |
16 And the following "system role assigns" exist:
17 | user | course | role |
18 | manager1 | Acceptance test site | manager |
19 | editor1 | Acceptance test site | tageditor |
20 And the following "tags" exist:
21 | name | tagtype |
22 | Neverusedtag | official |
8e355853 23
a27c42ee 24 @javascript
8e355853
MG
25 Scenario: User with tag editing capability can change tag description
26 Given I log in as "admin"
27 And I set the following system permissions of "Tag editor" role:
810805da
MG
28 | capability | permission |
29 | moodle/tag:edit | Allow |
30 | moodle/site:viewparticipants | Allow |
31 | moodle/user:viewdetails | Allow |
8e355853
MG
32 And I log out
33 When I log in as "editor1"
810805da
MG
34 And I navigate to "Participants" node in "Site pages"
35 And I follow "User 1"
8e355853
MG
36 And I follow "Cat"
37 And I follow "Edit this tag"
38 And I should not see "Tag name"
39 And I should not see "Official"
40 And I set the following fields to these values:
41 | Description | Description of tag 1 |
42 | Related tags | Dog, Turtle,Fish |
43 And I press "Update"
44 Then "Cat" "text" should exist in the ".breadcrumb-nav" "css_element"
c026a28d
MG
45 And "Description of tag 1" "text" should exist in the ".tag-description" "css_element"
46 And I should see "Related tags:" in the ".tag_list" "css_element"
47 And I should see "Dog" in the ".tag_list" "css_element"
48 And I should see "Turtle" in the ".tag_list" "css_element"
49 And I should see "Fish" in the ".tag_list" "css_element"
8e355853
MG
50 And I log out
51
a27c42ee 52 @javascript
8e355853
MG
53 Scenario: Manager can change tag description, related tags and rename the tag from tag view page
54 When I log in as "manager1"
810805da
MG
55 And I navigate to "Participants" node in "Site pages"
56 And I follow "User 1"
8e355853
MG
57 And I follow "Cat"
58 And I follow "Edit this tag"
59 And I set the following fields to these values:
60 | Tag name | Kitten |
61 | Description | Description of tag 1 |
62 | Related tags | Dog, Turtle,Fish |
63 | Official | 0 |
64 And I press "Update"
65 Then "Kitten" "text" should exist in the ".breadcrumb-nav" "css_element"
c026a28d
MG
66 And "Description of tag 1" "text" should exist in the ".tag-description" "css_element"
67 And I should see "Related tags:" in the ".tag_list" "css_element"
68 And I should see "Dog" in the ".tag_list" "css_element"
69 And I should see "Turtle" in the ".tag_list" "css_element"
70 And I should see "Fish" in the ".tag_list" "css_element"
8e355853 71 And I follow "Edit this tag"
a27c42ee 72 And I click on "× Dog" "text"
8e355853
MG
73 And I press "Update"
74 Then "Kitten" "text" should exist in the ".breadcrumb-nav" "css_element"
c026a28d
MG
75 And "Description of tag 1" "text" should exist in the ".tag-description" "css_element"
76 And I should see "Related tags:" in the ".tag_list" "css_element"
77 And I should see "Turtle" in the ".tag_list" "css_element"
78 And I should see "Fish" in the ".tag_list" "css_element"
8e355853
MG
79 And I should not see "Dog"
80 And I log out
81
82 Scenario: Renaming the tag from tag view page
83 When I log in as "manager1"
810805da
MG
84 And I navigate to "Participants" node in "Site pages"
85 And I follow "User 1"
8e355853
MG
86 And I follow "Cat"
87 And I follow "Edit this tag"
88 And I set the following fields to these values:
89 | Tag name | DOG |
90 And I press "Update"
c026a28d 91 And I should see "Tag names already being used"
8e355853
MG
92 And I set the following fields to these values:
93 | Tag name | Kitten |
94 And I press "Update"
95 Then "Kitten" "text" should exist in the ".breadcrumb-nav" "css_element"
96 And I follow "Edit this tag"
97 And I set the following fields to these values:
98 | Tag name | KITTEN |
99 And I press "Update"
100 And "KITTEN" "text" should exist in the ".breadcrumb-nav" "css_element"
101 And I log out
102
a27c42ee 103 @javascript
8e355853
MG
104 Scenario: Manager can change tag description and rename the tag from tag manage page
105 When I log in as "manager1"
106 And I navigate to "Manage tags" node in "Site administration > Appearance"
c026a28d 107 And I follow "Default collection"
8e355853
MG
108 And I click on "Edit this tag" "link" in the "Cat" "table_row"
109 And I set the following fields to these values:
110 | Tag name | Kitten |
111 | Description | Description of tag 1 |
112 | Related tags | Dog, Turtle,Fish |
113 | Official | 0 |
114 And I press "Update"
c026a28d 115 Then "Default collection" "link" should exist in the ".breadcrumb-nav" "css_element"
8e355853 116 And I follow "Kitten"
c026a28d
MG
117 And "Description of tag 1" "text" should exist in the ".tag-description" "css_element"
118 And I should see "Related tags:" in the ".tag_list" "css_element"
119 And I should see "Dog" in the ".tag_list" "css_element"
120 And I should see "Turtle" in the ".tag_list" "css_element"
121 And I should see "Fish" in the ".tag_list" "css_element"
8e355853
MG
122 And I log out
123
124 Scenario: Renaming the tag in edit tag form from tag manage page
125 When I log in as "manager1"
126 And I navigate to "Manage tags" node in "Site administration > Appearance"
c026a28d 127 And I follow "Default collection"
8e355853
MG
128 And I click on "Edit this tag" "link" in the "Cat" "table_row"
129 And I set the following fields to these values:
130 | Tag name | DOG |
131 And I press "Update"
c026a28d 132 And I should see "Tag names already being used"
8e355853
MG
133 And I set the following fields to these values:
134 | Tag name | Kitten |
135 And I press "Update"
c026a28d 136 Then "Default collection" "text" should exist in the ".breadcrumb-nav" "css_element"
8e355853
MG
137 And I click on "Edit this tag" "link" in the "Kitten" "table_row"
138 And I set the following fields to these values:
139 | Tag name | KITTEN |
140 And I press "Update"
c026a28d 141 And "Default collection" "text" should exist in the ".breadcrumb-nav" "css_element"
8e355853
MG
142 And I should see "KITTEN"
143 And I should not see "Kitten"
144 And I log out
145
146 @javascript
147 Scenario: Renaming the tag using quick edit field on tag manage page
148 When I log in as "manager1"
149 And I navigate to "Manage tags" node in "Site administration > Appearance"
c026a28d 150 And I follow "Default collection"
8e355853
MG
151 # Renaming tag to a valid name
152 And I click on "Edit tag name" "link" in the "Cat" "table_row"
153 And I set the field "New name for tag Cat" to "Kitten"
154 And I press key "13" in the field "New name for tag Cat"
155 Then I should not see "Cat"
156 And "New name for tag" "field" should not be visible
157 And I wait until "Kitten" "link" exists
c026a28d 158 And I follow "Default collection"
8e355853
MG
159 And I should see "Kitten"
160 And I should not see "Cat"
161 # Renaming tag to an invalid name
162 And I click on "Edit tag name" "link" in the "Turtle" "table_row"
163 And I set the field "New name for tag Turtle" to "DOG"
164 And I press key "13" in the field "New name for tag Turtle"
165 And I should see "Tag names already being used"
166 And I press "Ok"
167 And "New name for tag" "field" should not be visible
168 And I should see "Turtle"
169 And I should see "Dog"
170 And I should not see "DOG"
c026a28d 171 And I follow "Default collection"
8e355853
MG
172 And I should see "Turtle"
173 And I should see "Dog"
174 And I should not see "DOG"
175 # Cancel tag renaming
176 And I click on "Edit tag name" "link" in the "Dog" "table_row"
177 And I set the field "New name for tag Dog" to "Penguin"
178 And I press key "27" in the field "New name for tag Dog"
179 And "New name for tag" "field" should not be visible
180 And I should see "Turtle"
181 And I should not see "Penguin"
c026a28d 182 And I follow "Default collection"
8e355853
MG
183 And I should see "Turtle"
184 And I should not see "Penguin"
185 And I log out