You are here

protected function WebformBreadcrumbBuilderTest::setUp in Webform 6.x

Same name and namespace in other branches
  1. 8.5 tests/src/Kernel/Breadcrumb/WebformBreadcrumbBuilderTest.php \Drupal\Tests\webform\Kernel\Breadcrumb\WebformBreadcrumbBuilderTest::setUp()

Overrides UnitTestCase::setUp

File

tests/src/Kernel/Breadcrumb/WebformBreadcrumbBuilderTest.php, line 110

Class

WebformBreadcrumbBuilderTest
Test webform breadcrumb builder.

Namespace

Drupal\Tests\webform\Kernel\Breadcrumb

Code

protected function setUp() {
  parent::setUp();
  $this
    ->setUpMockEntities();

  // Make some test doubles.
  $this->moduleHandler = $this
    ->createMock('Drupal\\Core\\Extension\\ModuleHandlerInterface');
  $this->configFactory = $this
    ->getConfigFactoryStub([
    'webform.settings' => [
      'ui' => [
        'toolbar_item' => FALSE,
      ],
    ],
  ]);
  $this->requestHandler = $this
    ->createMock('Drupal\\webform\\WebformRequestInterface');
  $this->translationManager = $this
    ->createMock('Drupal\\Core\\StringTranslation\\TranslationInterface');

  // Make an object to test.
  $this->breadcrumbBuilder = $this
    ->getMockBuilder('Drupal\\webform\\Breadcrumb\\WebformBreadcrumbBuilder')
    ->setConstructorArgs([
    $this->moduleHandler,
    $this->requestHandler,
    $this->translationManager,
    $this->configFactory,
  ])
    ->setMethods(NULL)
    ->getMock();

  // Enable the webform_templates.module, so that we can testing breadcrumb
  // typing for templates.
  $this->moduleHandler
    ->expects($this
    ->any())
    ->method('moduleExists')
    ->with('webform_templates')
    ->will($this
    ->returnValue(TRUE));

  // Add a translation manager for t().
  $translation_manager = $this
    ->getStringTranslationStub();
  $property = new \ReflectionProperty('Drupal\\webform\\Breadcrumb\\WebformBreadcrumbBuilder', 'stringTranslation');
  $property
    ->setAccessible(TRUE);
  $property
    ->setValue($this->breadcrumbBuilder, $translation_manager);

  // Setup mock cache context container.
  // @see \Drupal\Core\Breadcrumb\Breadcrumb
  // @see \Drupal\Core\Cache\RefinableCacheableDependencyTrait
  $cache_contexts_manager = $this
    ->getMockBuilder('Drupal\\Core\\Cache\\Context\\CacheContextsManager')
    ->disableOriginalConstructor()
    ->getMock();
  $cache_contexts_manager
    ->method('assertValidTokens')
    ->willReturn(TRUE);
  $container = new Container();
  $container
    ->set('cache_contexts_manager', $cache_contexts_manager);
  \Drupal::setContainer($container);
}