lithium\tests\cases\data\source\DatabaseTest::testFields PHP Method

testFields() public method

public testFields ( )
    public function testFields()
    {
        $query = new Query(array('type' => 'read', 'model' => $this->_model, 'with' => array('MockDatabaseComment')));
        $fields = array('id', 'title');
        $result = $this->_db->fields($fields, $query);
        $expected = '{MockDatabasePost}.{id}, {MockDatabasePost}.{title}';
        $this->assertEqual($expected, $result);
        $fields = array('MockDatabasePost' => array('id', 'title', 'created'), 'MockDatabaseComment' => array('body'));
        $result = $this->_db->fields($fields, $query);
        $expected = '{MockDatabasePost}.{id}, {MockDatabasePost}.{title},';
        $expected .= ' {MockDatabasePost}.{created}, {MockDatabaseComment}.{body}';
        $this->assertEqual($expected, $result);
        $fields = array('MockDatabasePost', 'MockDatabaseComment');
        $result = $this->_db->fields($fields, $query);
        $expected = '{MockDatabasePost}.*, {MockDatabaseComment}.*';
        $this->assertEqual($expected, $result);
        $fields = array('MockDatabasePost.id as idPost', 'MockDatabaseComment.id AS idComment');
        $result = $this->_db->fields($fields, $query);
        $expected = '{MockDatabasePost}.{id} as idPost, {MockDatabaseComment}.{id} as idComment';
        $this->assertEqual($expected, $result);
        $expected = array('' => array('idPost'), 'MockDatabaseComment' => array('idComment'));
        $this->assertEqual($expected, $query->map());
        $fields = array(array('count(MockDatabasePost.id)'));
        $expected = 'count(MockDatabasePost.id)';
        $result = $this->_db->fields($fields, $query);
        $this->assertEqual($expected, $result);
        $fields = array(array((object) 'count(MockDatabasePost.id)'));
        $expected = 'count(MockDatabasePost.id)';
        $result = $this->_db->fields($fields, $query);
        $this->assertEqual($expected, $result);
    }
DatabaseTest