1: <?php
2: namespace tests\integration\barebones\models\encounters;
3:
4: use tests\integration\barebones\BarebonesTestCase;
5: use tests\integration\barebones\BarebonesConstants;
6:
7: use barebones\lib\QueryBuilder;
8: use barebones\models\examples\ExampleModel;
9: use Session;
10:
11: class ModelQueryBuilderTest extends BarebonesTestCase
12: {
13: public function testrQueryBuilderWhereNull()
14: {
15: Session::set('usr_cur_customer_id', 8);
16: $example = new ExampleModel();
17: $example->exa_datetime = null;
18: $example->save();
19:
20:
21: $result = ExampleModel::where('exa_id', '=', $example->exa_id)
22: ->where('exa_datetime', '=', null)
23: ->fetch()
24: ->next();
25: $this->assertNotNull($result);
26: $this->assertEquals($result['exa_id'], $example->exa_id);
27: }
28:
29: public function testQueryBuilderChainFunctions()
30: {
31: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::where('exa_id', '=', 2));
32: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::select(array('exa_id')));
33: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::database('_9'));
34: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::filter('exa_disabled', '0'));
35: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::query());
36: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::join("TEST JOIN"));
37: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::requestTotalRows(false));
38: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::limit(20));
39: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::offset(20));
40: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::orderBy('exa_id', 'DESC'));
41: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::groupBy('exa_id'));
42: $this->assertInstanceOf('barebones\lib\QueryBuilder', ExampleModel::having('COUNT(`exa_id`) > 2'));
43: }
44: }
45: