// Check that the 'all_fields' statement is handled properly.
$tables =
$query->
getTables();
$this->
assertEquals(1,
$tables['test'
]['all_fields'
], 'Query correctly sets \'all_fields\' statement.'
);
$tables =
$count->
getTables();
$this->
assertFalse(isset($tables['test'
]['all_fields'
]), 'Count query correctly unsets \'all_fields\' statement.'
);
// Check that the ordering clause is handled properly.
$orderby =
$query->
getOrderBy();
// The orderby string is different for PostgreSQL.
// @see Drupal\pgsql\Driver\Database\pgsql\Select::orderBy()
$db_type = Database::
getConnection()->
databaseType();
$this->
assertEquals($db_type == 'pgsql' ? 'ASC NULLS FIRST' : 'ASC',
$orderby['name'
], 'Query correctly sets ordering clause.'
);
$orderby =
$count->
getOrderBy();
$this->
assertFalse(isset($orderby['name'
]), 'Count query correctly unsets ordering clause.'
);
// Make sure that the count query works.
$count =
$count->
execute()->
fetchField();
$this->
assertEquals(4,
$count, 'Counted the correct number of records.'
);
} /**
* Tests that countQuery properly removes fields and expressions.
*/