function UpdateTest::testToString

Tests the Update::__toString() method.

File

core/tests/Drupal/KernelTests/Core/Database/UpdateTest.php, line 178

Class

UpdateTest
Tests the update query builder.

Namespace

Drupal\KernelTests\Core\Database

Code

public function testToString() : void {
  // Prepare query for testing.
  $query = $this->connection
    ->update('test')
    ->fields([
    'a' => 27,
    'b' => 42,
  ])
    ->condition('c', [
    1,
    2,
  ], 'IN');
  // Confirm placeholders are present.
  $query_string = (string) $query;
  $this->assertStringContainsString(':db_update_placeholder_0', $query_string);
  $this->assertStringContainsString(':db_update_placeholder_1', $query_string);
  $this->assertStringContainsString(':db_condition_placeholder_0', $query_string);
  $this->assertStringContainsString(':db_condition_placeholder_1', $query_string);
  // Test arguments.
  $expected = [
    ':db_update_placeholder_0' => 27,
    ':db_update_placeholder_1' => 42,
    ':db_condition_placeholder_0' => 1,
    ':db_condition_placeholder_1' => 2,
  ];
  $this->assertEquals($expected, $query->arguments());
}

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