More updates to stop using dev or alpha or beta versions.
[yaffs-website] / web / core / modules / rest / tests / src / Functional / EntityResource / ResponsiveImageStyle / ResponsiveImageStyleResourceTestBase.php
1 <?php
2
3 namespace Drupal\Tests\rest\Functional\EntityResource\ResponsiveImageStyle;
4
5 use Drupal\responsive_image\Entity\ResponsiveImageStyle;
6 use Drupal\Tests\rest\Functional\EntityResource\EntityResourceTestBase;
7
8 /**
9  * ResourceTestBase for ResponsiveImageStyle entity.
10  */
11 abstract class ResponsiveImageStyleResourceTestBase extends EntityResourceTestBase {
12
13   /**
14    * {@inheritdoc}
15    */
16   public static $modules = ['responsive_image'];
17
18   /**
19    * {@inheritdoc}
20    */
21   protected static $entityTypeId = 'responsive_image_style';
22
23   /**
24    * The ResponsiveImageStyle entity.
25    *
26    * @var \Drupal\responsive_image\ResponsiveImageStyleInterface
27    */
28   protected $entity;
29
30   /**
31    * The effect UUID.
32    *
33    * @var string
34    */
35   protected $effectUuid;
36
37   /**
38    * {@inheritdoc}
39    */
40   protected function setUpAuthorization($method) {
41     $this->grantPermissionsToTestedRole(['administer responsive images']);
42   }
43
44   /**
45    * {@inheritdoc}
46    */
47   protected function createEntity() {
48     // Create a "Camelids" responsive image style.
49     $camelids = ResponsiveImageStyle::create([
50       'id' => 'camelids',
51       'label' => 'Camelids',
52     ]);
53     $camelids->setBreakpointGroup('test_group');
54     $camelids->setFallbackImageStyle('fallback');
55     $camelids->addImageStyleMapping('test_breakpoint', '1x', [
56       'image_mapping_type' => 'image_style',
57       'image_mapping' => 'small',
58     ]);
59     $camelids->addImageStyleMapping('test_breakpoint', '2x', [
60       'image_mapping_type' => 'sizes',
61       'image_mapping' => [
62         'sizes' => '(min-width:700px) 700px, 100vw',
63         'sizes_image_styles' => [
64           'medium' => 'medium',
65           'large' => 'large',
66         ],
67       ],
68     ]);
69     $camelids->save();
70
71     return $camelids;
72   }
73
74   /**
75    * {@inheritdoc}
76    */
77   protected function getExpectedNormalizedEntity() {
78     return [
79       'breakpoint_group' => 'test_group',
80       'dependencies' => [
81         'config' => [
82           'image.style.large',
83           'image.style.medium',
84         ],
85       ],
86       'fallback_image_style' => 'fallback',
87       'id' => 'camelids',
88       'image_style_mappings' => [
89         0 => [
90           'breakpoint_id' => 'test_breakpoint',
91           'image_mapping' => 'small',
92           'image_mapping_type' => 'image_style',
93           'multiplier' => '1x',
94         ],
95         1 => [
96           'breakpoint_id' => 'test_breakpoint',
97           'image_mapping' => [
98             'sizes' => '(min-width:700px) 700px, 100vw',
99             'sizes_image_styles' => [
100               'large' => 'large',
101               'medium' => 'medium',
102             ],
103           ],
104           'image_mapping_type' => 'sizes',
105           'multiplier' => '2x',
106         ],
107       ],
108       'label' => 'Camelids',
109       'langcode' => 'en',
110       'status' => TRUE,
111       'uuid' => $this->entity->uuid(),
112     ];
113   }
114
115   /**
116    * {@inheritdoc}
117    */
118   protected function getNormalizedPostEntity() {
119     // @todo Update in https://www.drupal.org/node/2300677.
120   }
121
122   /**
123    * {@inheritdoc}
124    */
125   protected function getExpectedUnauthorizedAccessMessage($method) {
126     if ($this->config('rest.settings')->get('bc_entity_resource_permissions')) {
127       return parent::getExpectedUnauthorizedAccessMessage($method);
128     }
129
130     return "The 'administer responsive images' permission is required.";
131   }
132
133 }