public function testGroupByHavingConditions() { $query = new SelectQuery(); $query->select(array('id', 'name', 'phone', 'address'))->from('users', 'u')->groupBy('name')->limit(20)->offset(10); $query->where('u.name LIKE :name', [':name' => new Bind('name', '%John%')]); $query->having()->equal('name', 'John'); $this->assertQuery($query); $this->assertSqlStrings($query, [[new MySQLDriver(), "SELECT id, name, phone, address FROM users AS u WHERE u.name LIKE :name GROUP BY name HAVING name = 'John' LIMIT 20 OFFSET 10"], [new PgSQLDriver(), "SELECT id, name, phone, address FROM users AS u WHERE u.name LIKE :name GROUP BY name HAVING name = 'John' LIMIT 20 OFFSET 10"]]); }