public function ProcessingTest::testBatchFormMultipleBatches in Drupal 9
Same name and namespace in other branches
- 8 core/modules/system/tests/src/Functional/Batch/ProcessingTest.php \Drupal\Tests\system\Functional\Batch\ProcessingTest::testBatchFormMultipleBatches()
Tests batches defined in different submit handlers on the same form.
File
- core/
modules/ system/ tests/ src/ Functional/ Batch/ ProcessingTest.php, line 163
Class
- ProcessingTest
- Tests batch processing in form and non-form workflow.
Namespace
Drupal\Tests\system\Functional\BatchCode
public function testBatchFormMultipleBatches() {
// Batches 1, 2 and 3 are triggered in sequence by different submit
// handlers. Each submit handler modify the submitted 'value'.
$value = rand(0, 255);
$edit = [
'value' => $value,
];
$this
->drupalGet('batch-test/chained');
$this
->submitForm($edit, 'Submit');
// Check that result messages are present and in the correct order.
$this
->assertBatchMessages($this
->_resultMessages('chained'), 'Batches defined in separate submit handlers performed successfully.');
// The stack contains execution order of batch callbacks and submit
// handlers and logging of corresponding $form_state->getValues().
$this
->assertEquals($this
->_resultStack('chained', $value), batch_test_stack(), 'Execution order was correct, and $form_state is correctly persisted.');
$this
->assertSession()
->pageTextContains('Redirection successful.');
}