preview_site-1.1.2/tests/src/Kernel/PreviewSiteCacheContextTest.php

tests/src/Kernel/PreviewSiteCacheContextTest.php
<?php

namespace Drupal\Tests\preview_site\Kernel;

use Drupal\preview_site\PreviewSiteCacheContext;

/**
 * Defines a class for testing the cache context.
 *
 * @group preview_site
 * @covers \Drupal\preview_site\PreviewSiteCacheContext
 */
class PreviewSiteCacheContextTest extends PreviewSiteKernelTestBase {

  /**
   * Tests cache context.
   */
  public function testCacheContext(): void {
    $context = \Drupal::service('cache_context.preview_site');
    $this->assertEquals(PreviewSiteCacheContext::NO_ACTIVE_PREVIEW_SITE_GENERATION, $context->getContext());
    $this->assertEquals('Preview site', (string) PreviewSiteCacheContext::getLabel());
    $state = \Drupal::state();
    $build = $this->createPreviewSiteBuild();
    $build->startDeployment($state);
    $this->assertEquals($build->id(), $context->getContext());
    $build->deploymentFailed($state);
    $this->assertEquals(PreviewSiteCacheContext::NO_ACTIVE_PREVIEW_SITE_GENERATION, $context->getContext());
  }

  /**
   * Tests cache metadata.
   */
  public function testCacheMetadata(): void {
    $context = \Drupal::service('cache_context.preview_site');
    $this->assertEquals(['preview_site_build_list'], $context->getCacheableMetadata()->getCacheTags());
    $build = $this->createPreviewSiteBuild();
    $build->startDeployment(\Drupal::state());
    $expected = array_unique(array_merge($build->getCacheTags(), ['preview_site_build_list']));
    sort($expected);
    $actual = $context->getCacheableMetadata()->getCacheTags();
    sort($actual);
    $this->assertEquals($expected, $actual);
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc