public function testSubgroupHandoff() { $dq = new DataQuery('DataQueryTest_A'); $subDq = $dq->disjunctiveGroup(); $orgDq = clone $dq; $subDq->sort('"DataQueryTest_A"."Name"'); $orgDq->sort('"DataQueryTest_A"."Name"'); $this->assertEquals($dq->sql(), $orgDq->sql()); $subDq->limit(5, 7); $orgDq->limit(5, 7); $this->assertEquals($dq->sql(), $orgDq->sql()); }
/** * Test the leftJoin() and innerJoin method of the DataQuery object */ function testJoins() { $dq = new DataQuery('Member'); $dq->innerJoin("Group_Members", "\"Group_Members\".\"MemberID\" = \"Member\".\"ID\""); $this->assertContains("INNER JOIN \"Group_Members\" ON \"Group_Members\".\"MemberID\" = \"Member\".\"ID\"", $dq->sql()); $dq = new DataQuery('Member'); $dq->leftJoin("Group_Members", "\"Group_Members\".\"MemberID\" = \"Member\".\"ID\""); $this->assertContains("LEFT JOIN \"Group_Members\" ON \"Group_Members\".\"MemberID\" = \"Member\".\"ID\"", $dq->sql()); }
public function testDistinct() { $query = new DataQuery('DataQueryTest_E'); $this->assertContains('SELECT DISTINCT', $query->sql($params), 'Query is set as distinct by default'); $query = $query->distinct(false); $this->assertNotContains('SELECT DISTINCT', $query->sql($params), 'Query does not contain distinct'); $query = $query->distinct(true); $this->assertContains('SELECT DISTINCT', $query->sql($params), 'Query contains distinct'); }