function MigrateSourceTest::testCountCacheKey

Same name and namespace in other branches
  1. 9 core/modules/migrate/tests/src/Unit/MigrateSourceTest.php \Drupal\Tests\migrate\Unit\MigrateSourceTest::testCountCacheKey()
  2. 8.9.x core/modules/migrate/tests/src/Unit/MigrateSourceTest.php \Drupal\Tests\migrate\Unit\MigrateSourceTest::testCountCacheKey()
  3. 10 core/modules/migrate/tests/src/Unit/MigrateSourceTest.php \Drupal\Tests\migrate\Unit\MigrateSourceTest::testCountCacheKey()

Tests that the key can be set for the count cache.

@covers ::count

File

core/modules/migrate/tests/src/Unit/MigrateSourceTest.php, line 206

Class

MigrateSourceTest
@coversDefaultClass <a href="/api/drupal/core%21modules%21migrate%21src%21Plugin%21migrate%21source%21SourcePluginBase.php/class/SourcePluginBase/11.x" title="The base class for source plugins." class="local">\Drupal\migrate\Plugin\migrate\source\SourcePluginBase</a> @group migrate

Namespace

Drupal\Tests\migrate\Unit

Code

public function testCountCacheKey() : void {
    // Mock the cache to validate set() receives appropriate arguments.
    $container = new ContainerBuilder();
    $cache = $this->createMock(CacheBackendInterface::class);
    $cache->expects($this->any())
        ->method('set')
        ->with('test_key', $this->isType('int'), $this->isType('int'));
    $container->set('cache.migrate', $cache);
    \Drupal::setContainer($container);
    // Test caching the count with a configured key works.
    $source = $this->getSource([
        'cache_counts' => TRUE,
        'cache_key' => 'test_key',
    ]);
    $this->assertEquals(1, $source->count());
}

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