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()

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

File

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

Class

SimpletestTestRunResultsStorageTest
@coversDefaultClass \Drupal\Core\Test\SimpletestTestRunResultsStorage[[api-linebreak]] @group Test

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.