acquia_dam-1.0.0-rc1/tests/src/Kernel/AssetRepositoryTest.php
tests/src/Kernel/AssetRepositoryTest.php
<?php declare(strict_types=1); namespace Drupal\Tests\acquia_dam\Kernel; use Drupal\acquia_dam\AssetRepository; use Drupal\acquia_dam\Entity\MediaSourceField; use Drupal\media\Entity\Media; use Drupal\Tests\media\Traits\MediaTypeCreationTrait; /** * Tests AssetRepository. * * @group acquia_dam */ final class AssetRepositoryTest extends AcquiaDamKernelTestBase { use MediaTypeCreationTrait { createMediaType as drupalCreateMediaType; } /** * Tests importing ids. * * @dataProvider providerImportIds */ public function testImport(array $selected_ids, array $expected_ids): void { $this->drupalSetUpCurrentUser(); $this->setDamSiteToken(); $this->createPdfMediaType(); /** @var \Drupal\acquia_dam\AssetRepository $instance */ $instance = $this->container->get('acquia_dam.asset_repository'); self::assertInstanceOf(AssetRepository::class, $instance); $imported_ids = $instance->import($selected_ids); self::assertEquals($expected_ids, $imported_ids); } /** * Import IDs provider. */ public function providerImportIds() { yield 'empty no fail' => [ [], [], ]; yield 'import' => [ [ '0324b0b2-5293-4aa0-b0aa-c85b003395e2', ], ['1'], ]; yield 'import multiple' => [ [ '0324b0b2-5293-4aa0-b0aa-c85b003395e2', '4f656c07-6a08-47b3-9403-16082d2fcda2', ], ['1', '2'], ]; } /** * Tests finding existing media assets ids. * * @dataProvider providerFindIds */ public function testFind(array $selected_ids, array $expected_ids): void { $this->drupalSetUpCurrentUser(); $this->setDamSiteToken(); $media_type = $this->createPdfMediaType(); Media::create([ 'bundle' => $media_type->id(), MediaSourceField::SOURCE_FIELD_NAME => [ 'asset_id' => 'a56fb261-8ad5-4e0d-8323-0e8a3659ed39', ], ])->save(); Media::create([ 'bundle' => $media_type->id(), MediaSourceField::SOURCE_FIELD_NAME => [ 'asset_id' => 'abab96ac-c2ed-40b1-aaf7-56a52f898230', ], ])->save(); /** @var \Drupal\acquia_dam\AssetRepository $instance */ $instance = $this->container->get('acquia_dam.asset_repository'); self::assertInstanceOf(AssetRepository::class, $instance); $existing_ids = $instance->find($selected_ids); self::assertEquals($expected_ids, $existing_ids); } /** * Find IDs provider. */ public function providerFindIds() { yield 'empty no fail' => [ [], [], ]; yield 'not existing' => [ [ '0324b0b2-5293-4aa0-b0aa-c85b003395e2', ], [], ]; yield 'find existing' => [ [ 'a56fb261-8ad5-4e0d-8323-0e8a3659ed39', ], ['1'], ]; yield 'find existing multiple' => [ [ 'a56fb261-8ad5-4e0d-8323-0e8a3659ed39', 'abab96ac-c2ed-40b1-aaf7-56a52f898230', ], ['1', '2'], ]; } }