You are here

public function InsertDefaultsTest::testDefaultEmptyInsert in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/Core/Database/InsertDefaultsTest.php \Drupal\KernelTests\Core\Database\InsertDefaultsTest::testDefaultEmptyInsert()

Tests that no action will be preformed if no fields are specified.

File

core/tests/Drupal/KernelTests/Core/Database/InsertDefaultsTest.php, line 29

Class

InsertDefaultsTest
Tests the Insert query builder with default values.

Namespace

Drupal\KernelTests\Core\Database

Code

public function testDefaultEmptyInsert() {
  $num_records_before = (int) $this->connection
    ->query('SELECT COUNT(*) FROM {test}')
    ->fetchField();
  try {
    $this->connection
      ->insert('test')
      ->execute();

    // This is only executed if no exception has been thrown.
    $this
      ->fail('Expected exception NoFieldsException has not been thrown.');
  } catch (NoFieldsException $e) {

    // Expected exception; just continue testing.
  }
  $num_records_after = (int) $this->connection
    ->query('SELECT COUNT(*) FROM {test}')
    ->fetchField();
  $this
    ->assertSame($num_records_before, $num_records_after, 'Do nothing as no fields are specified.');
}