View source
<?php
namespace Drupal\Tests\acquia_contenthub\Unit\QueueItem;
use Drupal\acquia_contenthub\ImportEntityManager;
use Drupal\acquia_contenthub\QueueItem\ImportQueueItem;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Tests\UnitTestCase;
class ImportQueueItemTest extends UnitTestCase {
public function testGetUuid(ImportQueueItem $item, $expected) {
$this
->assertEquals($item
->get('uuid'), $expected);
}
public function testDependencies(ImportQueueItem $item, $expected) {
$this
->assertEquals($item
->get('dependencies'), $expected);
}
public function testGetAuthor(ImportQueueItem $item, $expected) {
$this
->assertEquals($item
->get('author'), $expected);
}
public function testGetStatus(ImportQueueItem $item, $expected) {
$this
->assertEquals($item
->get('status'), $expected);
}
public function testImportWithQueue() {
$importEntityManager = $this
->getMockBuilder(ImportEntityManager::class)
->disableOriginalConstructor()
->setMethods([
'addEntityToImportQueue',
])
->getMock();
$container = new ContainerBuilder();
$config = $this
->getConfigFactoryStub([
'acquia_contenthub.entity_config' => [
'import_with_queue' => TRUE,
],
]);
$container
->set('config.factory', $config);
$container
->set('config.factory', $config);
\Drupal::unsetContainer();
\Drupal::setContainer($container);
$import_with_queue = \Drupal::config('acquia_contenthub.entity_config')
->get('import_with_queue');
$this
->assertTrue($import_with_queue);
}
public function provideUuidItems() {
$data = [];
$data[] = [
new ImportQueueItem('00000000-0000-0000-0000-000000000000'),
'00000000-0000-0000-0000-000000000000',
];
$data[] = [
new ImportQueueItem('00000000-0001-0000-0000-000000000000'),
'00000000-0001-0000-0000-000000000000',
];
$data[] = [
new ImportQueueItem('00000000-0002-0000-0000-000000000000'),
'00000000-0002-0000-0000-000000000000',
];
$data[] = [
new ImportQueueItem('00000000-0003-0000-0000-000000000000'),
'00000000-0003-0000-0000-000000000000',
];
return $data;
}
public function provideDependencyItems() {
$data = [];
$data[] = [
new ImportQueueItem('00000000-0000-0000-0000-000000000000', TRUE),
TRUE,
];
$data[] = [
new ImportQueueItem('00000000-0000-0000-0000-000000000000', FALSE),
FALSE,
];
$data[] = [
new ImportQueueItem('00000000-0000-0000-0000-000000000000'),
TRUE,
];
return $data;
}
public function provideAuthorItems() {
$this
->createContainer();
$data = [];
$data[] = [
new ImportQueueItem('00000000-0000-0000-0000-000000000000', TRUE, TRUE),
TRUE,
];
$data[] = [
new ImportQueueItem('00000000-0000-0000-0000-000000000000', FALSE, \Drupal::currentUser()),
\Drupal::currentUser(),
];
return $data;
}
public function provideStatusItems() {
$data = [];
$data[] = [
new ImportQueueItem('00000000-0000-0000-0000-000000000000', TRUE, TRUE, 0),
0,
];
$data[] = [
new ImportQueueItem('00000000-0000-0000-0000-000000000000', TRUE, TRUE, 1),
1,
];
return $data;
}
public function createContainer() {
parent::setup();
\Drupal::unsetContainer();
$container = new ContainerBuilder();
$account = $this
->getMockBuilder('Drupal\\Core\\Session\\AccountProxyInterface')
->disableOriginalConstructor()
->getMock();
$container
->set('current_user', $account);
\Drupal::setContainer($container);
}
}