annotate core/modules/rdf/tests/src/Unit/RdfMappingConfigEntityUnitTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 1fec387a4317
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\rdf\Unit;
Chris@0 4
Chris@0 5 use Drupal\Core\DependencyInjection\ContainerBuilder;
Chris@0 6 use Drupal\Tests\UnitTestCase;
Chris@0 7 use Drupal\rdf\Entity\RdfMapping;
Chris@0 8
Chris@0 9 /**
Chris@0 10 * @coversDefaultClass \Drupal\rdf\Entity\RdfMapping
Chris@0 11 * @group rdf
Chris@0 12 */
Chris@0 13 class RdfMappingConfigEntityUnitTest extends UnitTestCase {
Chris@0 14
Chris@0 15 /**
Chris@0 16 * The entity type used for testing.
Chris@0 17 *
Chris@0 18 * @var \Drupal\Core\Entity\EntityTypeInterface|\PHPUnit_Framework_MockObject_MockObject
Chris@0 19 */
Chris@0 20 protected $entityType;
Chris@0 21
Chris@0 22 /**
Chris@0 23 * The entity manager used for testing.
Chris@0 24 *
Chris@0 25 * @var \Drupal\Core\Entity\EntityManagerInterface|\PHPUnit_Framework_MockObject_MockObject
Chris@0 26 */
Chris@0 27 protected $entityManager;
Chris@0 28
Chris@0 29 /**
Chris@0 30 * The ID of the type of the entity under test.
Chris@0 31 *
Chris@0 32 * @var string
Chris@0 33 */
Chris@0 34 protected $entityTypeId;
Chris@0 35
Chris@0 36 /**
Chris@0 37 * The UUID generator used for testing.
Chris@0 38 *
Chris@0 39 * @var \Drupal\Component\Uuid\UuidInterface|\PHPUnit_Framework_MockObject_MockObject
Chris@0 40 */
Chris@0 41 protected $uuid;
Chris@0 42
Chris@0 43 /**
Chris@0 44 * {@inheritdoc}
Chris@0 45 */
Chris@0 46 protected function setUp() {
Chris@0 47 $this->entityTypeId = $this->randomMachineName();
Chris@0 48
Chris@0 49 $this->entityType = $this->getMock('\Drupal\Core\Entity\EntityTypeInterface');
Chris@0 50 $this->entityType->expects($this->any())
Chris@0 51 ->method('getProvider')
Chris@0 52 ->will($this->returnValue('entity'));
Chris@0 53
Chris@0 54 $this->entityManager = $this->getMock('\Drupal\Core\Entity\EntityManagerInterface');
Chris@0 55
Chris@0 56 $this->uuid = $this->getMock('\Drupal\Component\Uuid\UuidInterface');
Chris@0 57
Chris@0 58 $container = new ContainerBuilder();
Chris@0 59 $container->set('entity.manager', $this->entityManager);
Chris@0 60 $container->set('uuid', $this->uuid);
Chris@0 61 \Drupal::setContainer($container);
Chris@0 62
Chris@0 63 }
Chris@0 64
Chris@0 65 /**
Chris@0 66 * @covers ::calculateDependencies
Chris@0 67 */
Chris@0 68 public function testCalculateDependencies() {
Chris@0 69 $target_entity_type_id = $this->randomMachineName(16);
Chris@0 70
Chris@0 71 $target_entity_type = $this->getMock('\Drupal\Core\Entity\EntityTypeInterface');
Chris@0 72 $target_entity_type->expects($this->any())
Chris@0 73 ->method('getProvider')
Chris@0 74 ->will($this->returnValue('test_module'));
Chris@0 75 $values = ['targetEntityType' => $target_entity_type_id];
Chris@0 76 $target_entity_type->expects($this->any())
Chris@0 77 ->method('getBundleEntityType')
Chris@0 78 ->will($this->returnValue(NULL));
Chris@0 79
Chris@0 80 $this->entityManager->expects($this->at(0))
Chris@0 81 ->method('getDefinition')
Chris@0 82 ->with($target_entity_type_id)
Chris@0 83 ->will($this->returnValue($target_entity_type));
Chris@0 84 $this->entityManager->expects($this->at(1))
Chris@0 85 ->method('getDefinition')
Chris@0 86 ->with($this->entityTypeId)
Chris@0 87 ->will($this->returnValue($this->entityType));
Chris@0 88
Chris@0 89 $entity = new RdfMapping($values, $this->entityTypeId);
Chris@0 90 $dependencies = $entity->calculateDependencies()->getDependencies();
Chris@0 91 $this->assertArrayNotHasKey('config', $dependencies);
Chris@0 92 $this->assertContains('test_module', $dependencies['module']);
Chris@0 93 }
Chris@0 94
Chris@0 95 /**
Chris@0 96 * @covers ::calculateDependencies
Chris@0 97 */
Chris@0 98 public function testCalculateDependenciesWithEntityBundle() {
Chris@0 99 $target_entity_type_id = $this->randomMachineName(16);
Chris@0 100 $target_entity_type = $this->getMock('\Drupal\Core\Entity\EntityTypeInterface');
Chris@0 101 $target_entity_type->expects($this->any())
Chris@0 102 ->method('getProvider')
Chris@0 103 ->will($this->returnValue('test_module'));
Chris@0 104 $bundle_id = $this->randomMachineName(10);
Chris@0 105 $values = ['targetEntityType' => $target_entity_type_id , 'bundle' => $bundle_id];
Chris@0 106
Chris@0 107 $target_entity_type->expects($this->any())
Chris@0 108 ->method('getBundleConfigDependency')
Chris@0 109 ->will($this->returnValue(['type' => 'config', 'name' => 'test_module.type.' . $bundle_id]));
Chris@0 110
Chris@0 111 $this->entityManager->expects($this->at(0))
Chris@0 112 ->method('getDefinition')
Chris@0 113 ->with($target_entity_type_id)
Chris@0 114 ->will($this->returnValue($target_entity_type));
Chris@0 115 $this->entityManager->expects($this->at(1))
Chris@0 116 ->method('getDefinition')
Chris@0 117 ->with($this->entityTypeId)
Chris@0 118 ->will($this->returnValue($this->entityType));
Chris@0 119
Chris@0 120 $entity = new RdfMapping($values, $this->entityTypeId);
Chris@0 121 $dependencies = $entity->calculateDependencies()->getDependencies();
Chris@0 122 $this->assertContains('test_module.type.' . $bundle_id, $dependencies['config']);
Chris@0 123 $this->assertContains('test_module', $dependencies['module']);
Chris@0 124 }
Chris@0 125
Chris@0 126 }