public function testMergeJoin() { $this->queryBuilder->join('author', 'a', 'a.id = b.author_id', SelectQueryBuilder::INNER_JOIN); $qb = new SelectQueryBuilder(); $qb->join('editor', 'e', 'e.id = b.editor_id', SelectQueryBuilder::LEFT_JOIN); $this->queryBuilder->mergeJoin($qb); $expected = array(array('table' => 'author', 'criteria' => array('a.id = b.author_id'), 'type' => SelectQueryBuilder::INNER_JOIN, 'alias' => 'a'), array('table' => 'editor', 'criteria' => array('e.id = b.editor_id'), 'type' => SelectQueryBuilder::LEFT_JOIN, 'alias' => 'e')); $this->assertEquals($expected, $this->queryBuilder->getJoinParts()); }