comparison core/modules/media/tests/src/Functional/MediaUiFunctionalTest.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents a9cd425dd02b
children
comparison
equal deleted inserted replaced
4:a9cd425dd02b 5:12f9dff5fda9
1 <?php 1 <?php
2 2
3 namespace Drupal\Tests\media\Functional; 3 namespace Drupal\Tests\media\Functional;
4 4
5 use Behat\Mink\Element\NodeElement; 5 use Behat\Mink\Element\NodeElement;
6 use Drupal\media\Entity\Media;
7 use Drupal\Core\Field\FieldStorageDefinitionInterface; 6 use Drupal\Core\Field\FieldStorageDefinitionInterface;
8 use Drupal\Core\Url; 7 use Drupal\Core\Url;
9 use Drupal\field\Entity\FieldConfig; 8 use Drupal\field\Entity\FieldConfig;
10 use Drupal\field\Entity\FieldStorageConfig; 9 use Drupal\field\Entity\FieldStorageConfig;
11 10
69 $media = $this->container->get('entity_type.manager') 68 $media = $this->container->get('entity_type.manager')
70 ->getStorage('media') 69 ->getStorage('media')
71 ->loadUnchanged($media_id); 70 ->loadUnchanged($media_id);
72 $this->assertSame($media->getRevisionLogMessage(), $revision_log_message); 71 $this->assertSame($media->getRevisionLogMessage(), $revision_log_message);
73 $this->assertSame($media->getName(), $media_name); 72 $this->assertSame($media->getName(), $media_name);
74 $this->drupalGet('media/' . $media_id);
75 $assert_session->titleEquals($media_name . ' | Drupal');
76 73
77 // Tests media edit form. 74 // Tests media edit form.
78 $media_type->setNewRevision(FALSE); 75 $media_type->setNewRevision(FALSE);
79 $media_type->save(); 76 $media_type->save();
80 $media_name2 = $this->randomMachineName(); 77 $media_name2 = $this->randomMachineName();
86 /** @var \Drupal\media\MediaInterface $media */ 83 /** @var \Drupal\media\MediaInterface $media */
87 $media = $this->container->get('entity_type.manager') 84 $media = $this->container->get('entity_type.manager')
88 ->getStorage('media') 85 ->getStorage('media')
89 ->loadUnchanged($media_id); 86 ->loadUnchanged($media_id);
90 $this->assertSame($media->getName(), $media_name2); 87 $this->assertSame($media->getName(), $media_name2);
91 $this->drupalGet('media/' . $media_id);
92 $assert_session->titleEquals($media_name2 . ' | Drupal');
93 88
94 // Test that there is no empty vertical tabs element, if the container is 89 // Test that there is no empty vertical tabs element, if the container is
95 // empty (see #2750697). 90 // empty (see #2750697).
96 // Make the "Publisher ID" and "Created" fields hidden. 91 // Make the "Publisher ID" and "Created" fields hidden.
97 $this->drupalGet('/admin/structure/media/manage/' . $media_type->id() . '/form-display'); 92 $this->drupalGet('/admin/structure/media/manage/' . $media_type->id() . '/form-display');
114 $assert_session->checkboxChecked('edit-revision'); 109 $assert_session->checkboxChecked('edit-revision');
115 $page->fillField('name[0][value]', $media_name); 110 $page->fillField('name[0][value]', $media_name);
116 $page->fillField('revision_log_message[0][value]', $revision_log_message); 111 $page->fillField('revision_log_message[0][value]', $revision_log_message);
117 $page->pressButton('Save'); 112 $page->pressButton('Save');
118 $this->drupalGet('media/' . $media_id); 113 $this->drupalGet('media/' . $media_id);
119 $assert_session->titleEquals($media_name . ' | Drupal'); 114 $assert_session->statusCodeEquals(404);
120 /** @var \Drupal\media\MediaInterface $media */ 115 /** @var \Drupal\media\MediaInterface $media */
121 $media = $this->container->get('entity_type.manager') 116 $media = $this->container->get('entity_type.manager')
122 ->getStorage('media') 117 ->getStorage('media')
123 ->loadUnchanged($media_id); 118 ->loadUnchanged($media_id);
124 $this->assertSame($media->getRevisionLogMessage(), $revision_log_message); 119 $this->assertSame($media->getRevisionLogMessage(), $revision_log_message);
142 $media_id = \Drupal::entityQuery('media')->execute(); 137 $media_id = \Drupal::entityQuery('media')->execute();
143 $this->assertFalse($media_id); 138 $this->assertFalse($media_id);
144 } 139 }
145 140
146 /** 141 /**
147 * Tests the "media/add" and "media/mid" pages. 142 * Tests the "media/add" page.
148 * 143 *
149 * Tests if the "media/add" page gives you a selecting option if there are 144 * Tests if the "media/add" page gives you a selecting option if there are
150 * multiple media types available. 145 * multiple media types available.
151 */ 146 */
152 public function testMediaWithMultipleMediaTypes() { 147 public function testMediaWithMultipleMediaTypes() {
165 $assert_session->pageTextContains($first_media_type->label()); 160 $assert_session->pageTextContains($first_media_type->label());
166 $assert_session->pageTextContains($first_media_type->getDescription()); 161 $assert_session->pageTextContains($first_media_type->getDescription());
167 // Checks for the second media type. 162 // Checks for the second media type.
168 $assert_session->pageTextContains($second_media_type->label()); 163 $assert_session->pageTextContains($second_media_type->label());
169 $assert_session->pageTextContains($second_media_type->getDescription()); 164 $assert_session->pageTextContains($second_media_type->getDescription());
170
171 // Continue testing media type filter.
172 $first_media_item = Media::create(['bundle' => $first_media_type->id()]);
173 $first_media_item->save();
174 $second_media_item = Media::create(['bundle' => $second_media_type->id()]);
175 $second_media_item->save();
176
177 // Go to first media item.
178 $this->drupalGet('media/' . $first_media_item->id());
179 $assert_session->statusCodeEquals(200);
180 $assert_session->pageTextContains($first_media_item->getName());
181 $assert_session->elementsCount('css', '.media--view-mode-full', 1);
182
183 // Go to second media item.
184 $this->drupalGet('media/' . $second_media_item->id());
185 $assert_session->statusCodeEquals(200);
186 $assert_session->pageTextContains($second_media_item->getName());
187 } 165 }
188 166
189 /** 167 /**
190 * Test that media in ER fields use the Rendered Entity formatter by default. 168 * Test that media in ER fields use the Rendered Entity formatter by default.
191 */ 169 */
461 $media_id = $this->container->get('entity_type.manager') 439 $media_id = $this->container->get('entity_type.manager')
462 ->getStorage('media') 440 ->getStorage('media')
463 ->getQuery() 441 ->getQuery()
464 ->execute(); 442 ->execute();
465 $media_id = reset($media_id); 443 $media_id = reset($media_id);
466 $assert_session->addressEquals('media/' . $media_id); 444 $assert_session->addressEquals("media/$media_id/edit");
467 445
468 // Test a redirect to the media overview for a user with the 'access media 446 // Test a redirect to the media overview for a user with the 'access media
469 // overview' permission. 447 // overview' permission.
470 $this->drupalLogin($this->drupalCreateUser([ 448 $this->drupalLogin($this->drupalCreateUser([
471 'view media', 449 'view media',