From 469bef734275b2d5821f4d2dd46621a05bee6ba6 Mon Sep 17 00:00:00 2001 From: Tom Schlick Date: Tue, 21 Mar 2017 21:11:52 -0400 Subject: [PATCH] add testWhenCallbackWithReturn --- tests/Database/DatabaseQueryBuilderTest.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/Database/DatabaseQueryBuilderTest.php b/tests/Database/DatabaseQueryBuilderTest.php index c8d063d33677..898b1a9b0370 100755 --- a/tests/Database/DatabaseQueryBuilderTest.php +++ b/tests/Database/DatabaseQueryBuilderTest.php @@ -147,6 +147,23 @@ public function testWhenCallback() $this->assertEquals('select * from "users" where "email" = ?', $builder->toSql()); } + public function testWhenCallbackWithReturn() + { + $callback = function ($query, $condition) { + $this->assertTrue($condition); + + return $query->where('id', '=', 1); + }; + + $builder = $this->getBuilder(); + $builder->select('*')->from('users')->when(true, $callback)->where('email', 'foo'); + $this->assertEquals('select * from "users" where "id" = ? and "email" = ?', $builder->toSql()); + + $builder = $this->getBuilder(); + $builder->select('*')->from('users')->when(false, $callback)->where('email', 'foo'); + $this->assertEquals('select * from "users" where "email" = ?', $builder->toSql()); + } + public function testWhenCallbackWithDefault() { $callback = function ($query, $condition) {