acquia_dam-1.0.0-rc1/tests/src/Kernel/AltTextMappingTest.php
tests/src/Kernel/AltTextMappingTest.php
<?php declare(strict_types=1); namespace Drupal\Tests\acquia_dam\Kernel; use Drupal\acquia_dam\Entity\MediaSourceField; use Drupal\Core\Url; use Drupal\media\Entity\Media; use Drupal\media\MediaInterface; use Symfony\Component\HttpFoundation\Request; /** * Tests mapping for alt text on images. * * @group acquia_dam */ final class AltTextMappingTest extends AcquiaDamKernelTestBase { /** * Tests alt text mapping. * * @param string $metadata_field * Metadata field name. * @param string $expected_value * Expected value. * * @dataProvider altTextTestProvider */ public function testAltTextMapping(string $metadata_field, string $expected_value): void { $media_type = $this->createImageMediaType(); $this->drupalSetUpCurrentUser([], [ 'access content', 'administer media types', ]); $this->config('acquia_dam.settings') ->set('allowed_metadata', [$metadata_field => $metadata_field]) ->save(); $url = Url::fromRoute('entity.media_type.edit_form', [ 'media_type' => $media_type->id(), ]); $this->processRequest(Request::create($url->toString())); $response = $this->doFormSubmit($url->toString(), [ 'label' => $media_type->label(), 'id' => $media_type->id(), 'field_map' => [ $metadata_field => 'acquia_dam_alt_text', ], ]); self::assertEquals(303, $response->getStatusCode()); $sut = Media::create([ 'bundle' => $media_type->id(), MediaSourceField::SOURCE_FIELD_NAME => [ 'asset_id' => '56ff14de-02cd-41b5-9a73-c917eab19abf', ], ]); $sut->save(); $sut = $this->reloadEntity($sut); self::assertInstanceOf(MediaInterface::class, $sut); self::assertFalse($sut->get('acquia_dam_alt_text')->isEmpty()); self::assertEquals($expected_value, $sut->get('acquia_dam_alt_text')->value); } /** * Data provider for testAltTextMapping. * * @return \Generator * Data for testAltTextMapping. */ public function altTextTestProvider(): \Generator { yield ['description', 'Illustration of a rim, Clorox']; yield [ 'longtext', 'laskdjflaskjdflaksjdflkasjdflaksdjflaksjdlaskdjflaskjdflaksjdflkasjdflaksdjflaksjdflaksdjflaksdjflaksjdflaskdjflaskjdflaksjdflkasjdflaksdjflaksjdflaksdjflaksdjflaksjdflaskdjflaskjdflaksjdflkasjdflaksdjflaksjdflaksdjflaksdjflaksjdflaskdjflaskjdflaksjdflkasjdflaksdjflaksjdflaksdjflaksdjflaksjdflaskdjflaskjdflaksjdflkasjdflaksdjflaksjdflaksdjflaksdjflaksjdflaskdjflaskjdflaksjdflkasjdflaksdjflaksjdflaksdjflaksdjflaksjdflaskdjflaskjdflaksjdflkasjdflaksdjflaksjdflaksdjflaksdjflaksjdfflaksdjflaksdjflaksjdfasdf…', ]; } }