Chris@0: entityTypeId = $this->randomMachineName(); Chris@0: Chris@0: $this->entityType = $this->getMock('\Drupal\Core\Entity\EntityTypeInterface'); Chris@0: $this->entityType->expects($this->any()) Chris@0: ->method('getProvider') Chris@0: ->will($this->returnValue('entity')); Chris@0: Chris@14: $this->entityManager = new EntityManager(); Chris@14: $this->entityTypeManager = $this->getMock(EntityTypeManagerInterface::class); Chris@0: Chris@0: $this->uuid = $this->getMock('\Drupal\Component\Uuid\UuidInterface'); Chris@0: Chris@0: $container = new ContainerBuilder(); Chris@0: $container->set('entity.manager', $this->entityManager); Chris@14: $container->set('entity_type.manager', $this->entityTypeManager); Chris@0: $container->set('uuid', $this->uuid); Chris@14: $this->entityManager->setContainer($container); Chris@0: \Drupal::setContainer($container); Chris@0: Chris@0: } Chris@0: Chris@0: /** Chris@0: * @covers ::calculateDependencies Chris@0: */ Chris@0: public function testCalculateDependencies() { Chris@0: $target_entity_type_id = $this->randomMachineName(16); Chris@0: Chris@0: $target_entity_type = $this->getMock('\Drupal\Core\Entity\EntityTypeInterface'); Chris@0: $target_entity_type->expects($this->any()) Chris@0: ->method('getProvider') Chris@0: ->will($this->returnValue('test_module')); Chris@0: $values = ['targetEntityType' => $target_entity_type_id]; Chris@0: $target_entity_type->expects($this->any()) Chris@0: ->method('getBundleEntityType') Chris@0: ->will($this->returnValue(NULL)); Chris@0: Chris@14: $this->entityTypeManager->expects($this->at(0)) Chris@0: ->method('getDefinition') Chris@0: ->with($target_entity_type_id) Chris@0: ->will($this->returnValue($target_entity_type)); Chris@14: $this->entityTypeManager->expects($this->at(1)) Chris@0: ->method('getDefinition') Chris@0: ->with($this->entityTypeId) Chris@0: ->will($this->returnValue($this->entityType)); Chris@0: Chris@0: $entity = new RdfMapping($values, $this->entityTypeId); Chris@0: $dependencies = $entity->calculateDependencies()->getDependencies(); Chris@0: $this->assertArrayNotHasKey('config', $dependencies); Chris@0: $this->assertContains('test_module', $dependencies['module']); Chris@0: } Chris@0: Chris@0: /** Chris@0: * @covers ::calculateDependencies Chris@0: */ Chris@0: public function testCalculateDependenciesWithEntityBundle() { Chris@0: $target_entity_type_id = $this->randomMachineName(16); Chris@0: $target_entity_type = $this->getMock('\Drupal\Core\Entity\EntityTypeInterface'); Chris@0: $target_entity_type->expects($this->any()) Chris@0: ->method('getProvider') Chris@0: ->will($this->returnValue('test_module')); Chris@0: $bundle_id = $this->randomMachineName(10); Chris@0: $values = ['targetEntityType' => $target_entity_type_id , 'bundle' => $bundle_id]; Chris@0: Chris@0: $target_entity_type->expects($this->any()) Chris@0: ->method('getBundleConfigDependency') Chris@0: ->will($this->returnValue(['type' => 'config', 'name' => 'test_module.type.' . $bundle_id])); Chris@0: Chris@14: $this->entityTypeManager->expects($this->at(0)) Chris@0: ->method('getDefinition') Chris@0: ->with($target_entity_type_id) Chris@0: ->will($this->returnValue($target_entity_type)); Chris@14: $this->entityTypeManager->expects($this->at(1)) Chris@0: ->method('getDefinition') Chris@0: ->with($this->entityTypeId) Chris@0: ->will($this->returnValue($this->entityType)); Chris@0: Chris@0: $entity = new RdfMapping($values, $this->entityTypeId); Chris@0: $dependencies = $entity->calculateDependencies()->getDependencies(); Chris@0: $this->assertContains('test_module.type.' . $bundle_id, $dependencies['config']); Chris@0: $this->assertContains('test_module', $dependencies['module']); Chris@0: } Chris@0: Chris@0: }