function ForumListingBreadcrumbBuilderTest::testApplies

Same name in other branches
  1. 9 core/modules/forum/tests/src/Unit/Breadcrumb/ForumListingBreadcrumbBuilderTest.php \Drupal\Tests\forum\Unit\Breadcrumb\ForumListingBreadcrumbBuilderTest::testApplies()
  2. 8.9.x core/modules/forum/tests/src/Unit/Breadcrumb/ForumListingBreadcrumbBuilderTest.php \Drupal\Tests\forum\Unit\Breadcrumb\ForumListingBreadcrumbBuilderTest::testApplies()
  3. 11.x core/modules/forum/tests/src/Unit/Breadcrumb/ForumListingBreadcrumbBuilderTest.php \Drupal\Tests\forum\Unit\Breadcrumb\ForumListingBreadcrumbBuilderTest::testApplies()

Tests ForumListingBreadcrumbBuilder::applies().

@dataProvider providerTestApplies @covers ::applies

Parameters

bool $expected: ForumListingBreadcrumbBuilder::applies() expected result.

string|null $route_name: (optional) A route name.

array $parameter_map: (optional) An array of parameter names and values.

File

core/modules/forum/tests/src/Unit/Breadcrumb/ForumListingBreadcrumbBuilderTest.php, line 51

Class

ForumListingBreadcrumbBuilderTest
@coversDefaultClass \Drupal\forum\Breadcrumb\ForumListingBreadcrumbBuilder @group forum @group legacy

Namespace

Drupal\Tests\forum\Unit\Breadcrumb

Code

public function testApplies(bool $expected, ?string $route_name = NULL, array $parameter_map = []) : void {
    // Make some test doubles.
    $entity_type_manager = $this->createMock(EntityTypeManagerInterface::class);
    $config_factory = $this->getConfigFactoryStub([]);
    $forum_manager = $this->createMock('Drupal\\forum\\ForumManagerInterface');
    $translation_manager = $this->createMock('Drupal\\Core\\StringTranslation\\TranslationInterface');
    $map = [];
    if ($parameter_map) {
        foreach ($parameter_map as $parameter) {
            $map[] = [
                $parameter[0],
                $parameter[1] === TRUE ? $this->getMockBuilder(Term::class)
                    ->disableOriginalConstructor()
                    ->getMock() : $parameter[1],
            ];
        }
    }
    // Make an object to test.
    $builder = new ForumListingBreadcrumbBuilder($entity_type_manager, $config_factory, $forum_manager, $translation_manager);
    $route_match = $this->createMock('Drupal\\Core\\Routing\\RouteMatchInterface');
    $route_match->expects($this->once())
        ->method('getRouteName')
        ->willReturn($route_name);
    $route_match->expects($this->any())
        ->method('getParameter')
        ->willReturnMap($map);
    $this->assertEquals($expected, $builder->applies($route_match));
}

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