media_acquiadam-8.x-1.46/tests/src/Unit/AssetDataTest.php
tests/src/Unit/AssetDataTest.php
<?php
namespace Drupal\Tests\media_acquiadam\Unit;
use Drupal\Core\Database\Connection;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\media_acquiadam\AssetData;
use Drupal\Tests\media_acquiadam\Traits\AcquiadamAssetDataTrait;
use Drupal\Tests\UnitTestCase;
/**
* Tests to validate that the asset data service works as expected.
*
* @group media_acquiadam
*/
class AssetDataTest extends UnitTestCase {
use AcquiadamAssetDataTrait;
/**
* Container builder helper.
*
* @var \Drupal\Core\DependencyInjection\ContainerBuilder
*/
protected $container;
/**
* Acquia DAM asset data service.
*
* Mocked to have a fixed set/get.
*
* @var \Drupal\media_acquiadam\AssetData|\PHPUnit\Framework\MockObject\MockObject
*/
protected $acquiaAssetData;
/**
* Validates that we can correctly determine if an asset has been updated.
*/
public function testIsUpdatedAsset() {
$asset = $this->getAssetData();
$this->assertFalse($this->acquiaAssetData->isUpdatedAsset($asset));
$asset->file_upload_date = "2021-09-27T12:21:21Z";
$this->assertTrue($this->acquiaAssetData->isUpdatedAsset($asset));
}
/**
* {@inheritdoc}
*/
protected function setUp() :void {
parent::setUp();
$connection = $this->createMock(Connection::class);
$asset_data = $this->getMockBuilder(AssetData::class)
->disableOriginalConstructor()
->onlyMethods(['get', 'set'])
->getMock();
$asset_data->method('get')->willReturnMap([
["34asd3q2-e294-4908-bbd9-f43f433d2e23", 'file_upload_date', 1632508262],
["34asd3q2-e294-4908-bbd9-f43f433d2e23", 'file_upload_date', 1632508262],
]);
$this->acquiaAssetData = $asset_data;
$this->container = new ContainerBuilder();
$this->container->set('database', $connection);
\Drupal::setContainer($this->container);
}
}
