views_handler_argument_comment_user_uid.test

Definition of viewsHandlerArgumentCommentUserUidTest.

File

tests/comment/views_handler_argument_comment_user_uid.test

View source
<?php


/**
 * @file
 * Definition of viewsHandlerArgumentCommentUserUidTest.
 */

/**
 * Tests the argument_comment_user_uid handler.
 */
class viewsHandlerArgumentCommentUserUidTest extends ViewsSqlTest {
    
    /**
     *
     */
    public static function getInfo() {
        return array(
            'name' => 'Tests handler argument_comment_user_uid',
            'description' => 'Tests the user posted or commented argument handler',
            'group' => 'Views Modules',
        );
    }
    
    /**
     * Post comment.
     *
     * @param object $node
     *   Node to post comment on.
     * @param array $comment
     *   Comment to save.
     */
    public function postComment($node, $comment = array()) {
        $comment += array(
            'uid' => $this->loggedInUser->uid,
            'nid' => $node->nid,
            'cid' => NULL,
            // To indicate that a comment does not have a parent comment use the value
            // zero instead of an empty string.
'pid' => 0,
        );
        return comment_save((object) $comment);
    }
    
    /**
     * {@inheritdoc}
     */
    public function setUp(array $modules = array()) {
        parent::setUp($modules);
        // Add two users, create a node with the user1 as author and another node
        // with user2 as author. For the second node add a comment from user1.
        $this->account = $this->drupalCreateUser();
        $this->account2 = $this->drupalCreateUser();
        $this->drupalLogin($this->account);
        $this->node_user_posted = $this->drupalCreateNode();
        $this->node_user_commented = $this->drupalCreateNode(array(
            'uid' => $this->account2->uid,
        ));
        $this->postComment($this->node_user_commented);
    }
    
    /**
     *
     */
    public function testCommentUserUidTest() {
        $view = $this->view_comment_user_uid();
        $this->executeView($view, array(
            $this->account->uid,
        ));
        $resultset = array(
            array(
                'nid' => $this->node_user_posted->nid,
            ),
            array(
                'nid' => $this->node_user_commented->nid,
            ),
        );
        $this->column_map = array(
            'nid' => 'nid',
        );
        debug($view->result);
        $this->assertIdenticalResultset($view, $resultset, $this->column_map);
    }
    
    /**
     *
     */
    public function view_comment_user_uid() {
        $view = new view();
        $view->name = 'test_comment_user_uid';
        $view->description = '';
        $view->tag = 'default';
        $view->base_table = 'node';
        $view->human_name = 'test_comment_user_uid';
        $view->core = 7;
        $view->api_version = '3.0';
        $view->disabled = FALSE;
        
        /* Edit this to true to make a default view disabled initially */
        
        /* Display: Master */
        $handler = $view->new_display('default', 'Master', 'default');
        $handler->display->display_options['access']['type'] = 'perm';
        $handler->display->display_options['cache']['type'] = 'none';
        $handler->display->display_options['query']['type'] = 'views_query';
        $handler->display->display_options['query']['options']['query_comment'] = FALSE;
        $handler->display->display_options['exposed_form']['type'] = 'basic';
        $handler->display->display_options['pager']['type'] = 'full';
        $handler->display->display_options['style_plugin'] = 'default';
        $handler->display->display_options['row_plugin'] = 'node';
        
        /* Field: Content: nid */
        $handler->display->display_options['fields']['nid']['id'] = 'nid';
        $handler->display->display_options['fields']['nid']['table'] = 'node';
        $handler->display->display_options['fields']['nid']['field'] = 'nid';
        
        /* Contextual filter: Content: User posted or commented */
        $handler->display->display_options['arguments']['uid_touch']['id'] = 'uid_touch';
        $handler->display->display_options['arguments']['uid_touch']['table'] = 'node';
        $handler->display->display_options['arguments']['uid_touch']['field'] = 'uid_touch';
        $handler->display->display_options['arguments']['uid_touch']['default_argument_type'] = 'fixed';
        $handler->display->display_options['arguments']['uid_touch']['default_argument_skip_url'] = 0;
        $handler->display->display_options['arguments']['uid_touch']['summary']['number_of_records'] = '0';
        $handler->display->display_options['arguments']['uid_touch']['summary']['format'] = 'default_summary';
        $handler->display->display_options['arguments']['uid_touch']['summary_options']['items_per_page'] = '25';
        return $view;
    }

}

Classes

Title Deprecated Summary
viewsHandlerArgumentCommentUserUidTest Tests the argument_comment_user_uid handler.