4e2eedf05892758d86a7c733b3d14438e414b48d
[yaffs-website] / web / modules / contrib / media_entity / tests / src / Functional / MediaEntityFunctionalTestTrait.php
1 <?php
2
3 namespace Drupal\Tests\media_entity\Functional;
4
5 use Drupal\media_entity\Entity\MediaBundle;
6
7 /**
8  * Trait with helpers for Media Entity functional tests.
9  *
10  * @package Drupal\Tests\media_entity\Functional
11  */
12 trait MediaEntityFunctionalTestTrait {
13
14   /**
15    * Creates a media bundle.
16    *
17    * @param array $values
18    *   The media bundle values.
19    * @param string $type_name
20    *   (optional) The media type provider plugin that is responsible for
21    *   additional logic related to this media).
22    *
23    * @return \Drupal\Core\Entity\EntityInterface
24    *   Returns newly created media bundle.
25    */
26   protected function drupalCreateMediaBundle(array $values = [], $type_name = 'generic') {
27     if (!isset($values['bundle'])) {
28       $id = strtolower($this->randomMachineName());
29     }
30     else {
31       $id = $values['bundle'];
32     }
33     $values += [
34       'id' => $id,
35       'label' => $id,
36       'type' => $type_name,
37       'type_configuration' => [],
38       'field_map' => [],
39       'new_revision' => FALSE,
40     ];
41
42     $bundle = MediaBundle::create($values);
43     $status = $bundle->save();
44
45     $this->assertEquals($status, SAVED_NEW, 'Could not create a media bundle of type ' . $type_name . '.');
46
47     return $bundle;
48   }
49
50 }