protected function EntityContextDefinitionDeprecationTest::setUp in Drupal 8
Overrides UnitTestCase::setUp
File
- core/
tests/ Drupal/ Tests/ Core/ Plugin/ Context/ EntityContextDefinitionDeprecationTest.php, line 44
Class
- EntityContextDefinitionDeprecationTest
- Test deprecated use of ContextDefinition as an EntityContextDefinition.
Namespace
Drupal\Tests\Core\Plugin\ContextCode
protected function setUp() {
parent::setUp();
// Mock container services needed for constraint validation.
$constraint_manager = $this
->prophesize(ConstraintManager::class);
$constraint_manager
->create(Argument::type('string'), Argument::any())
->willReturn(TRUE);
$typed_data_manager = $this
->prophesize(TypedDataManagerInterface::class);
$typed_data_manager
->getValidationConstraintManager()
->willReturn($constraint_manager
->reveal());
$validator = $this
->prophesize(ValidatorInterface::class)
->reveal();
$typed_data_manager
->getValidator()
->willReturn($validator);
$container = new ContainerBuilder();
$container
->set('typed_data_manager', $typed_data_manager
->reveal());
\Drupal::setContainer($container);
// Create a deprecated entity context definition and prepare the
// compatibility layer to be overridden.
$this->definition = new ContextDefinition('entity:node');
// The code paths we're testing are private and protected, so use reflection
// to manipulate protected properties.
$reflector = new \ReflectionObject($this->definition);
// Ensure that the BC object was created correctly.
$this
->assertTrue($reflector
->hasProperty('entityContextDefinition'));
$this->compatibilityLayer = $reflector
->getProperty('entityContextDefinition');
$this->compatibilityLayer
->setAccessible(TRUE);
$this
->assertInstanceOf(EntityContextDefinition::class, $this->compatibilityLayer
->getValue($this->definition));
}