lithium\tests\cases\data\model\QueryTest::testJoins PHP Method

testJoins() public method

public testJoins ( )
    public function testJoins()
    {
        $query = new Query(array('joins' => array(array('foo' => 'bar'))));
        $query->joins(array('bar' => 'baz'));
        $expected = array(array('foo' => 'bar'), array('bar' => 'baz'));
        $joins = $query->joins();
        $this->assertEqual($expected, $joins);
        $this->assertEqual('bar', $joins[0]['foo']);
        $this->assertArrayNotHasKey('bar', $joins[0]);
        $this->assertEqual('baz', $joins[1]['bar']);
        $this->assertArrayNotHasKey('foo', $joins[1]);
        $query->joins('zim', array('dib' => 'gir'));
        $joins = $query->joins();
        $this->assertCount(3, $joins);
        $this->assertEqual('gir', $joins['zim']['dib']);
        $expected = array(array('foo' => 'bar'), array('bar' => 'baz'), 'zim' => array('dib' => 'gir'));
        $this->assertEqual($expected, $joins);
    }