Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\Tests\taxonomy\Functional;
|
Chris@0
|
4
|
Chris@14
|
5 use Drupal\Component\Utility\Unicode;
|
Chris@14
|
6
|
Chris@0
|
7 /**
|
Chris@0
|
8 * Tests the taxonomy vocabulary permissions.
|
Chris@0
|
9 *
|
Chris@0
|
10 * @group taxonomy
|
Chris@0
|
11 */
|
Chris@0
|
12 class VocabularyPermissionsTest extends TaxonomyTestBase {
|
Chris@0
|
13
|
Chris@14
|
14 /**
|
Chris@14
|
15 * Modules to enable.
|
Chris@14
|
16 *
|
Chris@14
|
17 * @var array
|
Chris@14
|
18 */
|
Chris@14
|
19 public static $modules = ['help'];
|
Chris@14
|
20
|
Chris@0
|
21 protected function setUp() {
|
Chris@0
|
22 parent::setUp();
|
Chris@0
|
23
|
Chris@0
|
24 $this->drupalPlaceBlock('page_title_block');
|
Chris@14
|
25 $this->drupalPlaceBlock('local_actions_block');
|
Chris@14
|
26 $this->drupalPlaceBlock('help_block');
|
Chris@14
|
27 }
|
Chris@14
|
28
|
Chris@14
|
29 /**
|
Chris@14
|
30 * Create, edit and delete a vocabulary via the user interface.
|
Chris@14
|
31 */
|
Chris@14
|
32 public function testVocabularyPermissionsVocabulary() {
|
Chris@14
|
33 // VocabularyTest.php already tests for user with "administer taxonomy"
|
Chris@14
|
34 // permission.
|
Chris@14
|
35
|
Chris@14
|
36 // Test as user without proper permissions.
|
Chris@14
|
37 $authenticated_user = $this->drupalCreateUser([]);
|
Chris@14
|
38 $this->drupalLogin($authenticated_user);
|
Chris@14
|
39
|
Chris@14
|
40 $assert_session = $this->assertSession();
|
Chris@14
|
41
|
Chris@14
|
42 // Visit the main taxonomy administration page.
|
Chris@14
|
43 $this->drupalGet('admin/structure/taxonomy');
|
Chris@14
|
44 $assert_session->statusCodeEquals(403);
|
Chris@14
|
45
|
Chris@14
|
46 // Test as user with "access taxonomy overview" permissions.
|
Chris@14
|
47 $proper_user = $this->drupalCreateUser(['access taxonomy overview']);
|
Chris@14
|
48 $this->drupalLogin($proper_user);
|
Chris@14
|
49
|
Chris@14
|
50 // Visit the main taxonomy administration page.
|
Chris@14
|
51 $this->drupalGet('admin/structure/taxonomy');
|
Chris@14
|
52 $assert_session->statusCodeEquals(200);
|
Chris@14
|
53 $assert_session->pageTextContains('Vocabulary name');
|
Chris@14
|
54 $assert_session->linkNotExists('Add vocabulary');
|
Chris@14
|
55 }
|
Chris@14
|
56
|
Chris@14
|
57 /**
|
Chris@14
|
58 * Test the vocabulary overview permission.
|
Chris@14
|
59 */
|
Chris@14
|
60 public function testTaxonomyVocabularyOverviewPermissions() {
|
Chris@14
|
61 // Create two vocabularies, one with two terms, the other without any term.
|
Chris@14
|
62 /** @var \Drupal\taxonomy\Entity\Vocabulary $vocabulary1 , $vocabulary2 */
|
Chris@14
|
63 $vocabulary1 = $this->createVocabulary();
|
Chris@14
|
64 $vocabulary2 = $this->createVocabulary();
|
Chris@14
|
65 $vocabulary1_id = $vocabulary1->id();
|
Chris@14
|
66 $vocabulary2_id = $vocabulary2->id();
|
Chris@14
|
67 $this->createTerm($vocabulary1);
|
Chris@14
|
68 $this->createTerm($vocabulary1);
|
Chris@14
|
69
|
Chris@14
|
70 // Assert expected help texts on first vocabulary.
|
Chris@14
|
71 $edit_help_text = t('You can reorganize the terms in @capital_name using their drag-and-drop handles, and group terms under a parent term by sliding them under and to the right of the parent.', ['@capital_name' => Unicode::ucfirst($vocabulary1->label())]);
|
Chris@14
|
72 $no_edit_help_text = t('@capital_name contains the following terms.', ['@capital_name' => Unicode::ucfirst($vocabulary1->label())]);
|
Chris@14
|
73
|
Chris@14
|
74 $assert_session = $this->assertSession();
|
Chris@14
|
75
|
Chris@14
|
76 // Logged in as admin user with 'administer taxonomy' permission.
|
Chris@14
|
77 $admin_user = $this->drupalCreateUser(['administer taxonomy']);
|
Chris@14
|
78 $this->drupalLogin($admin_user);
|
Chris@14
|
79 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary1_id . '/overview');
|
Chris@14
|
80 $assert_session->statusCodeEquals(200);
|
Chris@14
|
81 $assert_session->linkExists('Edit');
|
Chris@14
|
82 $assert_session->linkExists('Delete');
|
Chris@14
|
83 $assert_session->linkExists('Add term');
|
Chris@14
|
84 $assert_session->buttonExists('Save');
|
Chris@14
|
85 $assert_session->pageTextContains('Weight');
|
Chris@14
|
86 $assert_session->pageTextContains($edit_help_text);
|
Chris@14
|
87
|
Chris@14
|
88 // Visit vocabulary overview without terms. 'Add term' should be shown.
|
Chris@14
|
89 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary2_id . '/overview');
|
Chris@14
|
90 $assert_session->statusCodeEquals(200);
|
Chris@14
|
91 $assert_session->pageTextContains('No terms available');
|
Chris@14
|
92 $assert_session->linkExists('Add term');
|
Chris@14
|
93
|
Chris@14
|
94 // Login as a user without any of the required permissions.
|
Chris@14
|
95 $no_permission_user = $this->drupalCreateUser();
|
Chris@14
|
96 $this->drupalLogin($no_permission_user);
|
Chris@14
|
97 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary1_id . '/overview');
|
Chris@14
|
98 $assert_session->statusCodeEquals(403);
|
Chris@14
|
99 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary2_id . '/overview');
|
Chris@14
|
100 $assert_session->statusCodeEquals(403);
|
Chris@14
|
101
|
Chris@14
|
102 // Log in as a user with only the overview permission, neither edit nor
|
Chris@14
|
103 // delete operations must be available and no Save button.
|
Chris@14
|
104 $overview_only_user = $this->drupalCreateUser(['access taxonomy overview']);
|
Chris@14
|
105 $this->drupalLogin($overview_only_user);
|
Chris@14
|
106 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary1_id . '/overview');
|
Chris@14
|
107 $assert_session->statusCodeEquals(200);
|
Chris@14
|
108 $assert_session->linkNotExists('Edit');
|
Chris@14
|
109 $assert_session->linkNotExists('Delete');
|
Chris@14
|
110 $assert_session->buttonNotExists('Save');
|
Chris@14
|
111 $assert_session->pageTextNotContains('Weight');
|
Chris@14
|
112 $assert_session->linkNotExists('Add term');
|
Chris@14
|
113 $assert_session->pageTextContains($no_edit_help_text);
|
Chris@14
|
114
|
Chris@14
|
115 // Visit vocabulary overview without terms. 'Add term' should not be shown.
|
Chris@14
|
116 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary2_id . '/overview');
|
Chris@14
|
117 $assert_session->statusCodeEquals(200);
|
Chris@14
|
118 $assert_session->pageTextContains('No terms available');
|
Chris@14
|
119 $assert_session->linkNotExists('Add term');
|
Chris@14
|
120
|
Chris@14
|
121 // Login as a user with permission to edit terms, only edit link should be
|
Chris@14
|
122 // visible.
|
Chris@14
|
123 $edit_user = $this->createUser([
|
Chris@14
|
124 'access taxonomy overview',
|
Chris@14
|
125 'edit terms in ' . $vocabulary1_id,
|
Chris@14
|
126 'edit terms in ' . $vocabulary2_id,
|
Chris@14
|
127 ]);
|
Chris@14
|
128 $this->drupalLogin($edit_user);
|
Chris@14
|
129 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary1_id . '/overview');
|
Chris@14
|
130 $assert_session->statusCodeEquals(200);
|
Chris@14
|
131 $assert_session->linkExists('Edit');
|
Chris@14
|
132 $assert_session->linkNotExists('Delete');
|
Chris@14
|
133 $assert_session->buttonExists('Save');
|
Chris@14
|
134 $assert_session->pageTextContains('Weight');
|
Chris@14
|
135 $assert_session->linkNotExists('Add term');
|
Chris@14
|
136 $assert_session->pageTextContains($edit_help_text);
|
Chris@14
|
137
|
Chris@14
|
138 // Visit vocabulary overview without terms. 'Add term' should not be shown.
|
Chris@14
|
139 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary2_id . '/overview');
|
Chris@14
|
140 $assert_session->statusCodeEquals(200);
|
Chris@14
|
141 $assert_session->pageTextContains('No terms available');
|
Chris@14
|
142 $assert_session->linkNotExists('Add term');
|
Chris@14
|
143
|
Chris@14
|
144 // Login as a user with permission only to delete terms.
|
Chris@14
|
145 $edit_delete_user = $this->createUser([
|
Chris@14
|
146 'access taxonomy overview',
|
Chris@14
|
147 'delete terms in ' . $vocabulary1_id,
|
Chris@14
|
148 'delete terms in ' . $vocabulary2_id,
|
Chris@14
|
149 ]);
|
Chris@14
|
150 $this->drupalLogin($edit_delete_user);
|
Chris@14
|
151 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary1_id . '/overview');
|
Chris@14
|
152 $assert_session->statusCodeEquals(200);
|
Chris@14
|
153 $assert_session->linkNotExists('Edit');
|
Chris@14
|
154 $assert_session->linkExists('Delete');
|
Chris@14
|
155 $assert_session->linkNotExists('Add term');
|
Chris@14
|
156 $assert_session->buttonNotExists('Save');
|
Chris@14
|
157 $assert_session->pageTextNotContains('Weight');
|
Chris@14
|
158 $assert_session->pageTextContains($no_edit_help_text);
|
Chris@14
|
159
|
Chris@14
|
160 // Visit vocabulary overview without terms. 'Add term' should not be shown.
|
Chris@14
|
161 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary2_id . '/overview');
|
Chris@14
|
162 $assert_session->statusCodeEquals(200);
|
Chris@14
|
163 $assert_session->pageTextContains('No terms available');
|
Chris@14
|
164 $assert_session->linkNotExists('Add term');
|
Chris@14
|
165
|
Chris@14
|
166 // Login as a user with permission to edit and delete terms.
|
Chris@14
|
167 $edit_delete_user = $this->createUser([
|
Chris@14
|
168 'access taxonomy overview',
|
Chris@14
|
169 'edit terms in ' . $vocabulary1_id,
|
Chris@14
|
170 'delete terms in ' . $vocabulary1_id,
|
Chris@14
|
171 'edit terms in ' . $vocabulary2_id,
|
Chris@14
|
172 'delete terms in ' . $vocabulary2_id,
|
Chris@14
|
173 ]);
|
Chris@14
|
174 $this->drupalLogin($edit_delete_user);
|
Chris@14
|
175 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary1_id . '/overview');
|
Chris@14
|
176 $assert_session->statusCodeEquals(200);
|
Chris@14
|
177 $assert_session->linkExists('Edit');
|
Chris@14
|
178 $assert_session->linkExists('Delete');
|
Chris@14
|
179 $assert_session->linkNotExists('Add term');
|
Chris@14
|
180 $assert_session->buttonExists('Save');
|
Chris@14
|
181 $assert_session->pageTextContains('Weight');
|
Chris@14
|
182 $assert_session->pageTextContains($edit_help_text);
|
Chris@14
|
183
|
Chris@14
|
184 // Visit vocabulary overview without terms. 'Add term' should not be shown.
|
Chris@14
|
185 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary2_id . '/overview');
|
Chris@14
|
186 $assert_session->statusCodeEquals(200);
|
Chris@14
|
187 $assert_session->pageTextContains('No terms available');
|
Chris@14
|
188 $assert_session->linkNotExists('Add term');
|
Chris@14
|
189
|
Chris@14
|
190 // Login as a user with permission to create new terms, only add new term
|
Chris@14
|
191 // link should be visible.
|
Chris@14
|
192 $edit_user = $this->createUser([
|
Chris@14
|
193 'access taxonomy overview',
|
Chris@14
|
194 'create terms in ' . $vocabulary1_id,
|
Chris@14
|
195 'create terms in ' . $vocabulary2_id,
|
Chris@14
|
196 ]);
|
Chris@14
|
197 $this->drupalLogin($edit_user);
|
Chris@14
|
198 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary1_id . '/overview');
|
Chris@14
|
199 $assert_session->statusCodeEquals(200);
|
Chris@14
|
200 $assert_session->linkNotExists('Edit');
|
Chris@14
|
201 $assert_session->linkNotExists('Delete');
|
Chris@14
|
202 $assert_session->linkExists('Add term');
|
Chris@14
|
203 $assert_session->buttonNotExists('Save');
|
Chris@14
|
204 $assert_session->pageTextNotContains('Weight');
|
Chris@14
|
205 $assert_session->pageTextContains($no_edit_help_text);
|
Chris@14
|
206
|
Chris@14
|
207 // Visit vocabulary overview without terms. 'Add term' should not be shown.
|
Chris@14
|
208 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary2_id . '/overview');
|
Chris@14
|
209 $assert_session->statusCodeEquals(200);
|
Chris@14
|
210 $assert_session->pageTextContains('No terms available');
|
Chris@14
|
211 $assert_session->linkExists('Add term');
|
Chris@0
|
212 }
|
Chris@0
|
213
|
Chris@0
|
214 /**
|
Chris@0
|
215 * Create, edit and delete a taxonomy term via the user interface.
|
Chris@0
|
216 */
|
Chris@0
|
217 public function testVocabularyPermissionsTaxonomyTerm() {
|
Chris@0
|
218 // Vocabulary used for creating, removing and editing terms.
|
Chris@0
|
219 $vocabulary = $this->createVocabulary();
|
Chris@0
|
220
|
Chris@0
|
221 // Test as admin user.
|
Chris@0
|
222 $user = $this->drupalCreateUser(['administer taxonomy']);
|
Chris@0
|
223 $this->drupalLogin($user);
|
Chris@0
|
224
|
Chris@0
|
225 // Visit the main taxonomy administration page.
|
Chris@0
|
226 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add');
|
Chris@0
|
227 $this->assertResponse(200);
|
Chris@0
|
228 $this->assertField('edit-name-0-value', 'Add taxonomy term form opened successfully.');
|
Chris@0
|
229
|
Chris@0
|
230 // Submit the term.
|
Chris@0
|
231 $edit = [];
|
Chris@0
|
232 $edit['name[0][value]'] = $this->randomMachineName();
|
Chris@0
|
233
|
Chris@0
|
234 $this->drupalPostForm(NULL, $edit, t('Save'));
|
Chris@0
|
235 $this->assertText(t('Created new term @name.', ['@name' => $edit['name[0][value]']]), 'Term created successfully.');
|
Chris@0
|
236
|
Chris@0
|
237 // Verify that the creation message contains a link to a term.
|
Chris@0
|
238 $view_link = $this->xpath('//div[@class="messages"]//a[contains(@href, :href)]', [':href' => 'term/']);
|
Chris@0
|
239 $this->assert(isset($view_link), 'The message area contains a link to a term');
|
Chris@0
|
240
|
Chris@14
|
241 $terms = \Drupal::entityTypeManager()
|
Chris@14
|
242 ->getStorage('taxonomy_term')
|
Chris@14
|
243 ->loadByProperties(['name' => $edit['name[0][value]']]);
|
Chris@0
|
244 $term = reset($terms);
|
Chris@0
|
245
|
Chris@0
|
246 // Edit the term.
|
Chris@0
|
247 $this->drupalGet('taxonomy/term/' . $term->id() . '/edit');
|
Chris@0
|
248 $this->assertResponse(200);
|
Chris@0
|
249 $this->assertText($edit['name[0][value]'], 'Edit taxonomy term form opened successfully.');
|
Chris@0
|
250
|
Chris@0
|
251 $edit['name[0][value]'] = $this->randomMachineName();
|
Chris@0
|
252 $this->drupalPostForm(NULL, $edit, t('Save'));
|
Chris@0
|
253 $this->assertText(t('Updated term @name.', ['@name' => $edit['name[0][value]']]), 'Term updated successfully.');
|
Chris@0
|
254
|
Chris@0
|
255 // Delete the vocabulary.
|
Chris@0
|
256 $this->drupalGet('taxonomy/term/' . $term->id() . '/delete');
|
Chris@0
|
257 $this->assertRaw(t('Are you sure you want to delete the @entity-type %label?', ['@entity-type' => 'taxonomy term', '%label' => $edit['name[0][value]']]), 'Delete taxonomy term form opened successfully.');
|
Chris@0
|
258
|
Chris@0
|
259 // Confirm deletion.
|
Chris@0
|
260 $this->drupalPostForm(NULL, NULL, t('Delete'));
|
Chris@0
|
261 $this->assertRaw(t('Deleted term %name.', ['%name' => $edit['name[0][value]']]), 'Term deleted.');
|
Chris@0
|
262
|
Chris@14
|
263 // Test as user with "create" permissions.
|
Chris@14
|
264 $user = $this->drupalCreateUser(["create terms in {$vocabulary->id()}"]);
|
Chris@14
|
265 $this->drupalLogin($user);
|
Chris@14
|
266
|
Chris@14
|
267 $assert_session = $this->assertSession();
|
Chris@14
|
268
|
Chris@14
|
269 // Create a new term.
|
Chris@14
|
270 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add');
|
Chris@14
|
271 $assert_session->statusCodeEquals(200);
|
Chris@14
|
272 $assert_session->fieldExists('name[0][value]');
|
Chris@14
|
273
|
Chris@14
|
274 // Submit the term.
|
Chris@14
|
275 $edit = [];
|
Chris@14
|
276 $edit['name[0][value]'] = $this->randomMachineName();
|
Chris@14
|
277
|
Chris@14
|
278 $this->drupalPostForm(NULL, $edit, t('Save'));
|
Chris@14
|
279 $assert_session->pageTextContains(t('Created new term @name.', ['@name' => $edit['name[0][value]']]));
|
Chris@14
|
280
|
Chris@14
|
281 $terms = \Drupal::entityTypeManager()
|
Chris@14
|
282 ->getStorage('taxonomy_term')
|
Chris@14
|
283 ->loadByProperties(['name' => $edit['name[0][value]']]);
|
Chris@14
|
284 $term = reset($terms);
|
Chris@14
|
285
|
Chris@14
|
286 // Ensure that edit and delete access is denied.
|
Chris@14
|
287 $this->drupalGet('taxonomy/term/' . $term->id() . '/edit');
|
Chris@14
|
288 $assert_session->statusCodeEquals(403);
|
Chris@14
|
289 $this->drupalGet('taxonomy/term/' . $term->id() . '/delete');
|
Chris@14
|
290 $assert_session->statusCodeEquals(403);
|
Chris@14
|
291
|
Chris@0
|
292 // Test as user with "edit" permissions.
|
Chris@0
|
293 $user = $this->drupalCreateUser(["edit terms in {$vocabulary->id()}"]);
|
Chris@0
|
294 $this->drupalLogin($user);
|
Chris@0
|
295
|
Chris@0
|
296 // Visit the main taxonomy administration page.
|
Chris@0
|
297 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add');
|
Chris@0
|
298 $this->assertResponse(403, 'Add taxonomy term form open failed.');
|
Chris@0
|
299
|
Chris@0
|
300 // Create a test term.
|
Chris@0
|
301 $term = $this->createTerm($vocabulary);
|
Chris@0
|
302
|
Chris@0
|
303 // Edit the term.
|
Chris@0
|
304 $this->drupalGet('taxonomy/term/' . $term->id() . '/edit');
|
Chris@0
|
305 $this->assertResponse(200);
|
Chris@0
|
306 $this->assertText($term->getName(), 'Edit taxonomy term form opened successfully.');
|
Chris@0
|
307
|
Chris@0
|
308 $edit['name[0][value]'] = $this->randomMachineName();
|
Chris@0
|
309 $this->drupalPostForm(NULL, $edit, t('Save'));
|
Chris@0
|
310 $this->assertText(t('Updated term @name.', ['@name' => $edit['name[0][value]']]), 'Term updated successfully.');
|
Chris@0
|
311
|
Chris@0
|
312 // Verify that the update message contains a link to a term.
|
Chris@0
|
313 $view_link = $this->xpath('//div[@class="messages"]//a[contains(@href, :href)]', [':href' => 'term/']);
|
Chris@0
|
314 $this->assert(isset($view_link), 'The message area contains a link to a term');
|
Chris@0
|
315
|
Chris@0
|
316 // Delete the vocabulary.
|
Chris@0
|
317 $this->drupalGet('taxonomy/term/' . $term->id() . '/delete');
|
Chris@0
|
318 $this->assertResponse(403, 'Delete taxonomy term form open failed.');
|
Chris@0
|
319
|
Chris@0
|
320 // Test as user with "delete" permissions.
|
Chris@0
|
321 $user = $this->drupalCreateUser(["delete terms in {$vocabulary->id()}"]);
|
Chris@0
|
322 $this->drupalLogin($user);
|
Chris@0
|
323
|
Chris@0
|
324 // Visit the main taxonomy administration page.
|
Chris@0
|
325 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add');
|
Chris@0
|
326 $this->assertResponse(403, 'Add taxonomy term form open failed.');
|
Chris@0
|
327
|
Chris@0
|
328 // Create a test term.
|
Chris@0
|
329 $term = $this->createTerm($vocabulary);
|
Chris@0
|
330
|
Chris@0
|
331 // Edit the term.
|
Chris@0
|
332 $this->drupalGet('taxonomy/term/' . $term->id() . '/edit');
|
Chris@0
|
333 $this->assertResponse(403, 'Edit taxonomy term form open failed.');
|
Chris@0
|
334
|
Chris@0
|
335 // Delete the vocabulary.
|
Chris@0
|
336 $this->drupalGet('taxonomy/term/' . $term->id() . '/delete');
|
Chris@0
|
337 $this->assertRaw(t('Are you sure you want to delete the @entity-type %label?', ['@entity-type' => 'taxonomy term', '%label' => $term->getName()]), 'Delete taxonomy term form opened successfully.');
|
Chris@0
|
338
|
Chris@0
|
339 // Confirm deletion.
|
Chris@0
|
340 $this->drupalPostForm(NULL, NULL, t('Delete'));
|
Chris@0
|
341 $this->assertRaw(t('Deleted term %name.', ['%name' => $term->getName()]), 'Term deleted.');
|
Chris@0
|
342
|
Chris@0
|
343 // Test as user without proper permissions.
|
Chris@0
|
344 $user = $this->drupalCreateUser();
|
Chris@0
|
345 $this->drupalLogin($user);
|
Chris@0
|
346
|
Chris@0
|
347 // Visit the main taxonomy administration page.
|
Chris@0
|
348 $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add');
|
Chris@0
|
349 $this->assertResponse(403, 'Add taxonomy term form open failed.');
|
Chris@0
|
350
|
Chris@0
|
351 // Create a test term.
|
Chris@0
|
352 $term = $this->createTerm($vocabulary);
|
Chris@0
|
353
|
Chris@0
|
354 // Edit the term.
|
Chris@0
|
355 $this->drupalGet('taxonomy/term/' . $term->id() . '/edit');
|
Chris@0
|
356 $this->assertResponse(403, 'Edit taxonomy term form open failed.');
|
Chris@0
|
357
|
Chris@0
|
358 // Delete the vocabulary.
|
Chris@0
|
359 $this->drupalGet('taxonomy/term/' . $term->id() . '/delete');
|
Chris@0
|
360 $this->assertResponse(403, 'Delete taxonomy term form open failed.');
|
Chris@0
|
361 }
|
Chris@0
|
362
|
Chris@0
|
363 }
|