function UpdateHookRegistryTest::testGetInstalledVersion

Same name and namespace in other branches
  1. 10 core/tests/Drupal/Tests/Core/Update/UpdateHookRegistryTest.php \Drupal\Tests\Core\Update\UpdateHookRegistryTest::testGetInstalledVersion()
  2. 11.x core/tests/Drupal/Tests/Core/Update/UpdateHookRegistryTest.php \Drupal\Tests\Core\Update\UpdateHookRegistryTest::testGetInstalledVersion()

@covers ::getInstalledVersion @covers ::getAllInstalledVersions @covers ::setInstalledVersion @covers ::deleteInstalledVersion

File

core/tests/Drupal/Tests/Core/Update/UpdateHookRegistryTest.php, line 109

Class

UpdateHookRegistryTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Update%21UpdateHookRegistry.php/class/UpdateHookRegistry/9" title="Provides module updates versions handling." class="local">\Drupal\Core\Update\UpdateHookRegistry</a> @group Update

Namespace

Drupal\Tests\Core\Update

Code

public function testGetInstalledVersion() {
    $versions = [
        'module1' => 1,
        'module2' => 20,
        'module3' => 3000,
    ];
    $this->keyValueStore
        ->method('getAll')
        ->willReturnCallback(static function () use (&$versions) {
        return $versions;
    });
    $this->keyValueStore
        ->method('get')
        ->willReturnCallback(static function ($key) use (&$versions) {
        return $versions[$key];
    });
    $this->keyValueStore
        ->method('delete')
        ->willReturnCallback(static function ($key) use (&$versions) {
        $versions[$key] = UpdateHookRegistry::SCHEMA_UNINSTALLED;
    });
    $this->keyValueStore
        ->method('set')
        ->willReturnCallback(static function ($key, $value) use (&$versions) {
        $versions[$key] = $value;
    });
    $update_registry = new UpdateHookRegistry([], $this->keyValueStore);
    $this->assertSame(3000, $update_registry->getInstalledVersion('module3'));
    $update_registry->setInstalledVersion('module3', 3001);
    $this->assertSame(3001, $update_registry->getInstalledVersion('module3'));
    $this->assertSame($versions, $update_registry->getAllInstalledVersions());
    $update_registry->deleteInstalledVersion('module3');
    $this->assertSame(UpdateHookRegistry::SCHEMA_UNINSTALLED, $update_registry->getInstalledVersion('module3'));
}

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