3 namespace Drupal\Tests\rest\Functional\EntityResource\ResponsiveImageStyle;
5 use Drupal\responsive_image\Entity\ResponsiveImageStyle;
6 use Drupal\Tests\rest\Functional\EntityResource\EntityResourceTestBase;
9 * ResourceTestBase for ResponsiveImageStyle entity.
11 abstract class ResponsiveImageStyleResourceTestBase extends EntityResourceTestBase {
16 public static $modules = ['responsive_image'];
21 protected static $entityTypeId = 'responsive_image_style';
24 * The ResponsiveImageStyle entity.
26 * @var \Drupal\responsive_image\ResponsiveImageStyleInterface
35 protected $effectUuid;
40 protected function setUpAuthorization($method) {
41 $this->grantPermissionsToTestedRole(['administer responsive images']);
47 protected function createEntity() {
48 // Create a "Camelids" responsive image style.
49 $camelids = ResponsiveImageStyle::create([
51 'label' => 'Camelids',
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',
59 $camelids->addImageStyleMapping('test_breakpoint', '2x', [
60 'image_mapping_type' => 'sizes',
62 'sizes' => '(min-width:700px) 700px, 100vw',
63 'sizes_image_styles' => [
77 protected function getExpectedNormalizedEntity() {
79 'breakpoint_group' => 'test_group',
86 'fallback_image_style' => 'fallback',
88 'image_style_mappings' => [
90 'breakpoint_id' => 'test_breakpoint',
91 'image_mapping' => 'small',
92 'image_mapping_type' => 'image_style',
96 'breakpoint_id' => 'test_breakpoint',
98 'sizes' => '(min-width:700px) 700px, 100vw',
99 'sizes_image_styles' => [
101 'medium' => 'medium',
104 'image_mapping_type' => 'sizes',
105 'multiplier' => '2x',
108 'label' => 'Camelids',
111 'uuid' => $this->entity->uuid(),
118 protected function getNormalizedPostEntity() {
119 // @todo Update in https://www.drupal.org/node/2300677.
125 protected function getExpectedUnauthorizedAccessMessage($method) {
126 if ($this->config('rest.settings')->get('bc_entity_resource_permissions')) {
127 return parent::getExpectedUnauthorizedAccessMessage($method);
130 return "The 'administer responsive images' permission is required.";