public function testJoin() {
$query = new Query(array(
'type' => 'read',
'model' => $this->_model,
'fields' => array('MockDatabasePost.title', 'MockDatabasePost.body'),
'conditions' => array('MockDatabaseTag.tag' => array('foo', 'bar', 'baz')),
'joins' => array(new Query(array(
'model' => 'lithium\tests\mocks\data\model\MockDatabaseTag',
'constraint' => 'MockDatabaseTagging.tag_id = MockDatabaseTag.id'
)))
));
$result = $this->db->renderCommand($query);
$expected = "SELECT MockDatabasePost.title, MockDatabasePost.body FROM";
$expected .= " {mock_database_posts} AS {MockDatabasePost} JOIN {mock_database_tags} AS";
$expected .= " {MockDatabaseTag} ON ";
$expected .= "MockDatabaseTagging.tag_id = MockDatabaseTag.id";
$expected .= " WHERE MockDatabaseTag.tag IN ('foo', 'bar', 'baz');";
$this->assertEqual($expected, $result);
}