123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <?php
- namespace Drupal\Tests\block\Unit;
- use Drupal\Core\DependencyInjection\ContainerBuilder;
- use Drupal\Core\Entity\EntityTypeManagerInterface;
- use Drupal\Tests\Core\Plugin\Fixtures\TestConfigurablePlugin;
- use Drupal\Tests\UnitTestCase;
- /**
- * @coversDefaultClass \Drupal\block\Entity\Block
- * @group block
- */
- class BlockConfigEntityUnitTest extends UnitTestCase {
- /**
- * The entity type used for testing.
- *
- * @var \Drupal\Core\Entity\EntityTypeInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $entityType;
- /**
- * The entity type manager used for testing.
- *
- * @var \Drupal\Core\Entity\EntityTypeManagerInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $entityTypeManager;
- /**
- * The ID of the type of the entity under test.
- *
- * @var string
- */
- protected $entityTypeId;
- /**
- * The UUID generator used for testing.
- *
- * @var \Drupal\Component\Uuid\UuidInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $uuid;
- /**
- * {@inheritdoc}
- */
- protected function setUp() {
- $this->entityTypeId = $this->randomMachineName();
- $this->entityType = $this->getMock('\Drupal\Core\Entity\EntityTypeInterface');
- $this->entityType->expects($this->any())
- ->method('getProvider')
- ->will($this->returnValue('block'));
- $this->entityTypeManager = $this->getMock(EntityTypeManagerInterface::class);
- $this->entityTypeManager->expects($this->any())
- ->method('getDefinition')
- ->with($this->entityTypeId)
- ->will($this->returnValue($this->entityType));
- $this->uuid = $this->getMock('\Drupal\Component\Uuid\UuidInterface');
- $container = new ContainerBuilder();
- $container->set('entity_type.manager', $this->entityTypeManager);
- $container->set('uuid', $this->uuid);
- \Drupal::setContainer($container);
- }
- /**
- * @covers ::calculateDependencies
- */
- public function testCalculateDependencies() {
- $values = ['theme' => 'stark'];
- // Mock the entity under test so that we can mock getPluginCollections().
- $entity = $this->getMockBuilder('\Drupal\block\Entity\Block')
- ->setConstructorArgs([$values, $this->entityTypeId])
- ->setMethods(['getPluginCollections'])
- ->getMock();
- // Create a configurable plugin that would add a dependency.
- $instance_id = $this->randomMachineName();
- $instance = new TestConfigurablePlugin([], $instance_id, ['provider' => 'test']);
- // Create a plugin collection to contain the instance.
- $plugin_collection = $this->getMockBuilder('\Drupal\Core\Plugin\DefaultLazyPluginCollection')
- ->disableOriginalConstructor()
- ->setMethods(['get'])
- ->getMock();
- $plugin_collection->expects($this->atLeastOnce())
- ->method('get')
- ->with($instance_id)
- ->will($this->returnValue($instance));
- $plugin_collection->addInstanceId($instance_id);
- // Return the mocked plugin collection.
- $entity->expects($this->once())
- ->method('getPluginCollections')
- ->will($this->returnValue([$plugin_collection]));
- $dependencies = $entity->calculateDependencies()->getDependencies();
- $this->assertContains('test', $dependencies['module']);
- $this->assertContains('stark', $dependencies['theme']);
- }
- }
|