X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fresponsive_image%2Ftests%2Fsrc%2FFunctional%2FRest%2FResponsiveImageStyleResourceTestBase.php;fp=web%2Fcore%2Fmodules%2Fresponsive_image%2Ftests%2Fsrc%2FFunctional%2FRest%2FResponsiveImageStyleResourceTestBase.php;h=dbef272db253834984b9ff62bb52d0338c6a1044;hp=0000000000000000000000000000000000000000;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hpb=74df008bdbb3a11eeea356744f39b802369bda3c diff --git a/web/core/modules/responsive_image/tests/src/Functional/Rest/ResponsiveImageStyleResourceTestBase.php b/web/core/modules/responsive_image/tests/src/Functional/Rest/ResponsiveImageStyleResourceTestBase.php new file mode 100644 index 000000000..dbef272db --- /dev/null +++ b/web/core/modules/responsive_image/tests/src/Functional/Rest/ResponsiveImageStyleResourceTestBase.php @@ -0,0 +1,133 @@ +grantPermissionsToTestedRole(['administer responsive images']); + } + + /** + * {@inheritdoc} + */ + protected function createEntity() { + // Create a "Camelids" responsive image style. + $camelids = ResponsiveImageStyle::create([ + 'id' => 'camelids', + 'label' => 'Camelids', + ]); + $camelids->setBreakpointGroup('test_group'); + $camelids->setFallbackImageStyle('fallback'); + $camelids->addImageStyleMapping('test_breakpoint', '1x', [ + 'image_mapping_type' => 'image_style', + 'image_mapping' => 'small', + ]); + $camelids->addImageStyleMapping('test_breakpoint', '2x', [ + 'image_mapping_type' => 'sizes', + 'image_mapping' => [ + 'sizes' => '(min-width:700px) 700px, 100vw', + 'sizes_image_styles' => [ + 'medium' => 'medium', + 'large' => 'large', + ], + ], + ]); + $camelids->save(); + + return $camelids; + } + + /** + * {@inheritdoc} + */ + protected function getExpectedNormalizedEntity() { + return [ + 'breakpoint_group' => 'test_group', + 'dependencies' => [ + 'config' => [ + 'image.style.large', + 'image.style.medium', + ], + ], + 'fallback_image_style' => 'fallback', + 'id' => 'camelids', + 'image_style_mappings' => [ + 0 => [ + 'breakpoint_id' => 'test_breakpoint', + 'image_mapping' => 'small', + 'image_mapping_type' => 'image_style', + 'multiplier' => '1x', + ], + 1 => [ + 'breakpoint_id' => 'test_breakpoint', + 'image_mapping' => [ + 'sizes' => '(min-width:700px) 700px, 100vw', + 'sizes_image_styles' => [ + 'large' => 'large', + 'medium' => 'medium', + ], + ], + 'image_mapping_type' => 'sizes', + 'multiplier' => '2x', + ], + ], + 'label' => 'Camelids', + 'langcode' => 'en', + 'status' => TRUE, + 'uuid' => $this->entity->uuid(), + ]; + } + + /** + * {@inheritdoc} + */ + protected function getNormalizedPostEntity() { + // @todo Update in https://www.drupal.org/node/2300677. + } + + /** + * {@inheritdoc} + */ + protected function getExpectedUnauthorizedAccessMessage($method) { + if ($this->config('rest.settings')->get('bc_entity_resource_permissions')) { + return parent::getExpectedUnauthorizedAccessMessage($method); + } + + return "The 'administer responsive images' permission is required."; + } + +}