public function ScheduledTransitionTest::testFutureSequence in Lightning Workflow 8.2
Same name and namespace in other branches
- 8.3 modules/lightning_scheduler/tests/src/Functional/ScheduledTransitionTest.php \Drupal\Tests\lightning_scheduler\Functional\ScheduledTransitionTest::testFutureSequence()
Tests scheduling a series of valid transitions in the future.
File
- modules/
lightning_scheduler/ tests/ src/ Functional/ ScheduledTransitionTest.php, line 148
Class
- ScheduledTransitionTest
- @group lightning @group lightning_workflow @group lightning_scheduler
Namespace
Drupal\Tests\lightning_scheduler\FunctionalCode
public function testFutureSequence() {
$assert = $this
->assertSession();
$this
->drupalGet('/node/add/page');
$assert
->statusCodeEquals(200);
$transitions = Json::encode([
[
'when' => date('c', time() + 10),
'state' => 'published',
],
[
'when' => date('c', time() + 20),
'state' => 'archived',
],
]);
$assert
->fieldExists('Title')
->setValue('Schedule This');
$field = $assert
->elementExists('css', 'input[name="moderation_state[0][scheduled_transitions][data]"]');
$field
->setValue($transitions);
$assert
->buttonExists('Save')
->press();
$assert
->addressMatches('/^\\/node\\/[0-9]+$/');
$edit_url = $this
->getUrl() . '/edit';
sleep(12);
$this
->cronRun();
sleep(12);
$this
->cronRun();
$this
->drupalGet($edit_url);
$assert
->statusCodeEquals(200);
$assert
->pageTextContains("Current state Archived");
}