public function ConfigEntityTest::testContextDefinitionExport in Rules 8.3
Make sure that expressions using context definitions can be exported.
File
- tests/
src/ Kernel/ ConfigEntityTest.php, line 99
Class
- ConfigEntityTest
- Tests storage and loading of Rules config entities.
Namespace
Drupal\Tests\rules\KernelCode
public function testContextDefinitionExport() {
$component = RulesComponent::create($this->expressionManager
->createRule())
->addContextDefinition('test', ContextDefinition::create('string')
->setLabel('Test string'));
$config_entity = $this->storage
->create([
'id' => 'test_rule',
])
->updateFromComponent($component);
$config_entity
->save();
$loaded_entity = $this->storage
->load('test_rule');
// Create the Rules expression object from the configuration.
$expression = $loaded_entity
->getExpression();
$this
->assertInstanceOf(RuleExpression::class, $expression);
$context_definitions = $loaded_entity
->getContextDefinitions();
$this
->assertEquals($context_definitions['test']
->getDataType(), 'string', 'Data type of context definition is correct.');
$this
->assertEquals($context_definitions['test']
->getLabel(), 'Test string', 'Label of context definition is correct.');
}