Skip to content

Commit 2a267ea

Browse files
committed
Add test for different uses of RawSql
1 parent 4e5cf20 commit 2a267ea

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

tests/system/Database/Builder/WhereTest.php

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,51 @@ public function testWhereRawSql()
174174
$this->assertSame($expectedBinds, $builder->getBinds());
175175
}
176176

177+
public function testWhereValueRawSql()
178+
{
179+
$sql = $this->db->table('auth_bearer')
180+
->select('*')
181+
->where('expires', new RawSql('DATE_ADD(NOW(), INTERVAL 2 HOUR)'))
182+
->getCompiledSelect(true);
183+
184+
$expected = <<<'SQL'
185+
SELECT *
186+
FROM "auth_bearer"
187+
WHERE "expires" = DATE_ADD(NOW(), INTERVAL 2 HOUR)
188+
SQL;
189+
$this->assertSame($expected, $sql);
190+
}
191+
192+
public function testWhereKeyAndValueRawSql()
193+
{
194+
$sql = $this->db->table('auth_bearer')
195+
->select('*')
196+
->where(new RawSql('CURRENT_TIMESTAMP()'), new RawSql('DATE_ADD(column, INTERVAL 2 HOUR)'))
197+
->getCompiledSelect(true);
198+
199+
$expected = <<<'SQL'
200+
SELECT *
201+
FROM "auth_bearer"
202+
WHERE CURRENT_TIMESTAMP() = DATE_ADD(column, INTERVAL 2 HOUR)
203+
SQL;
204+
$this->assertSame($expected, $sql);
205+
}
206+
207+
public function testWhereKeyAndValueRawSqlWithOperator()
208+
{
209+
$sql = $this->db->table('auth_bearer')
210+
->select('*')
211+
->where(new RawSql('CURRENT_TIMESTAMP() >='), new RawSql('DATE_ADD(column, INTERVAL 2 HOUR)'))
212+
->getCompiledSelect(true);
213+
214+
$expected = <<<'SQL'
215+
SELECT *
216+
FROM "auth_bearer"
217+
WHERE CURRENT_TIMESTAMP() >= DATE_ADD(column, INTERVAL 2 HOUR)
218+
SQL;
219+
$this->assertSame($expected, $sql);
220+
}
221+
177222
public function testWhereValueSubQuery()
178223
{
179224
$expectedSQL = 'SELECT * FROM "neworder" WHERE "advance_amount" < (SELECT MAX(advance_amount) FROM "orders" WHERE "id" > 2)';

0 commit comments

Comments
 (0)