function SimpletestTestRunResultsStorageTest::testBuildEnvironmentKeepingExistingResults

Same name and namespace in other branches
  1. 10 core/tests/Drupal/KernelTests/Core/Test/SimpletestTestRunResultsStorageTest.php \Drupal\KernelTests\Core\Test\SimpletestTestRunResultsStorageTest::testBuildEnvironmentKeepingExistingResults()

Tests build environment keeping existing results.

@legacy-covers ::buildTestingResultsEnvironment @legacy-covers ::validateTestingResultsEnvironment @legacy-covers ::createNew @legacy-covers ::insertLogEntry @legacy-covers ::cleanUp

File

core/tests/Drupal/KernelTests/Core/Test/SimpletestTestRunResultsStorageTest.php, line 76

Class

SimpletestTestRunResultsStorageTest
Tests Drupal\Core\Test\SimpletestTestRunResultsStorage.

Namespace

Drupal\KernelTests\Core\Test

Code

public function testBuildEnvironmentKeepingExistingResults() : void {
  $schema = $this->connection
    ->schema();
  // Initial build of the environment.
  $this->testRunResultsStorage
    ->buildTestingResultsEnvironment(FALSE);
  $this->assertEquals(1, $this->testRunResultsStorage
    ->createNew());
  $test_run = TestRun::get($this->testRunResultsStorage, 1);
  $this->assertEquals(1, $this->testRunResultsStorage
    ->insertLogEntry($test_run, $this->getTestLogEntry('Test\\GroundControl')));
  $this->assertEquals(1, $this->connection
    ->select('simpletest')
    ->countQuery()
    ->execute()
    ->fetchField());
  $this->assertEquals(1, $this->connection
    ->select('simpletest_test_id')
    ->countQuery()
    ->execute()
    ->fetchField());
  // Build the environment again, keeping results. Results should be kept.
  $this->testRunResultsStorage
    ->buildTestingResultsEnvironment(TRUE);
  $this->assertTrue($schema->tableExists('simpletest'));
  $this->assertTrue($schema->tableExists('simpletest_test_id'));
  $this->assertTrue($this->testRunResultsStorage
    ->validateTestingResultsEnvironment());
  $this->assertEquals(1, $this->connection
    ->select('simpletest')
    ->countQuery()
    ->execute()
    ->fetchField());
  $this->assertEquals(1, $this->connection
    ->select('simpletest_test_id')
    ->countQuery()
    ->execute()
    ->fetchField());
  $this->assertEquals(2, $this->testRunResultsStorage
    ->createNew());
  $test_run = TestRun::get($this->testRunResultsStorage, 2);
  $this->assertEquals(2, $this->testRunResultsStorage
    ->insertLogEntry($test_run, $this->getTestLogEntry('Test\\GroundControl')));
  $this->assertEquals(2, $this->connection
    ->select('simpletest')
    ->countQuery()
    ->execute()
    ->fetchField());
  $this->assertEquals(2, $this->connection
    ->select('simpletest_test_id')
    ->countQuery()
    ->execute()
    ->fetchField());
  // Cleanup the environment.
  $this->assertEquals(2, $this->testRunResultsStorage
    ->cleanUp());
  $this->assertEquals(0, $this->connection
    ->select('simpletest')
    ->countQuery()
    ->execute()
    ->fetchField());
  $this->assertEquals(0, $this->connection
    ->select('simpletest_test_id')
    ->countQuery()
    ->execute()
    ->fetchField());
}

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