function ProcessingTest::testBatchFormMultipleBatches
Tests batches defined in different submit handlers on the same form.
File
- 
              core/modules/ system/ tests/ src/ Functional/ Batch/ ProcessingTest.php, line 155 
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->drupalPostForm('batch-test/chained', $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->assertEqual(batch_test_stack(), $this->_resultStack('chained', $value), 'Execution order was correct, and $form_state is correctly persisted.');
  $this->assertText('Redirection successful.', 'Redirection after batch execution is correct.');
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
