BatchControllerTest.php

Same filename and directory in other branches
  1. 10 core/modules/system/tests/src/Unit/Batch/BatchControllerTest.php

Namespace

Drupal\Tests\system\Unit\Batch

File

core/modules/system/tests/src/Unit/Batch/BatchControllerTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\system\Unit\Batch;

use Drupal\Core\Batch\BatchStorageInterface;
use Drupal\system\Controller\BatchController;
use Drupal\Tests\UnitTestCase;
use Symfony\Component\HttpFoundation\Request;

/**
 * Tests for the batch controller class.
 *
 * @coversDefaultClass \Drupal\system\Controller\BatchController
 * @runTestsInSeparateProcesses
 * @group system
 */
class BatchControllerTest extends UnitTestCase {
    
    /**
     * Tests title callback.
     *
     * @covers ::batchPageTitle
     */
    public function testBatchPageTitle() : void {
        $batch_storage = $this->createMock(BatchStorageInterface::class);
        $controller = new BatchController($this->root, $batch_storage);
        require_once $this->root . '/core/includes/form.inc';
        $this->assertSame('', $controller->batchPageTitle(new Request()));
        // Test no batch loaded from storage and batch loaded from storage cases.
        $batch = [
            'sets' => [
                [
                    'title' => 'foobar',
                ],
            ],
            'current_set' => 0,
        ];
        $batch_storage->method('load')
            ->willReturn(FALSE, $batch);
        $this->assertSame('', $controller->batchPageTitle(new Request([
            'id' => 1234,
        ])));
        $this->assertSame('foobar', $controller->batchPageTitle(new Request([
            'id' => 1234,
        ])));
        // Test batch returned by &batch_get() call.
        $batch =& batch_get();
        $batch['sets']['0']['title'] = 'Updated title';
        $this->assertSame('Updated title', $controller->batchPageTitle(new Request([
            'id' => 1234,
        ])));
    }

}

Classes

Title Deprecated Summary
BatchControllerTest Tests for the batch controller class.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.