function UiPageTest::testAddEventWithRestrictByType
Tests that an event with type restriction can be added.
File
-
tests/
src/ Functional/ UiPageTest.php, line 156
Class
- UiPageTest
- Tests that the Reaction Rules list builder pages work.
Namespace
Drupal\Tests\rules\FunctionalCode
public function testAddEventWithRestrictByType() {
// Add a content type called 'article'.
$node_type = NodeType::create([
'type' => 'article',
'name' => 'Article',
]);
$node_type->save();
// Setup an active rule.
$this->testCreateReactionRule();
// Go to "Add event" page.
$this->clickLink('Add event');
/** @var \Drupal\Tests\WebAssert $assert */
$assert = $this->assertSession();
$assert->pageTextContains('Add event to Test rule');
$assert->pageTextContains('Event selection');
$assert->pageTextContains('React on event');
// Select an event.
$this->findField('events[0][event_name]')
->selectOption('rules_entity_update:node');
$this->pressButton('Add');
// Select bundle 'article'.
$this->findField('bundle')
->selectOption('article');
$this->pressButton('Add');
$assert->pageTextContains('Added event After updating a content item entity of type Article to Test rule.');
// Assert that the second event on the test rule has the bundle selection.
$expected = [
'rules_entity_insert:node',
'rules_entity_update:node--article',
];
/** @var \Drupal\rules\Entity\ReactionRuleConfig $rule */
$rule = $this->storage
->load('test_rule');
$this->assertSame($expected, $rule->getEventNames());
}