function ViewsQueryGroupByTest::viewsGroupByViewHelper

1 call to ViewsQueryGroupByTest::viewsGroupByViewHelper()
ViewsQueryGroupByTest::GroupByTestHelper in tests/views_groupby.test

File

tests/views_groupby.test, line 260

Class

ViewsQueryGroupByTest
Tests aggregate functionality of views, for example count.

Code

public function viewsGroupByViewHelper($group_by = NULL) {
    $view = new view();
    $view->name = 'group_by_count';
    $view->description = '';
    $view->tag = '';
    $view->view_php = '';
    $view->base_table = 'node';
    $view->is_cacheable = FALSE;
    $view->api_version = 2;
    $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['group_by'] = TRUE;
    $handler->display->display_options['access']['type'] = 'none';
    $handler->display->display_options['cache']['type'] = 'none';
    $handler->display->display_options['exposed_form']['type'] = 'basic';
    $handler->display->display_options['pager']['type'] = 'some';
    $handler->display->display_options['style_plugin'] = 'default';
    $handler->display->display_options['row_plugin'] = 'fields';
    // The test view has 2 fields ('nid' and 'type'). Don't add 'nid' when
    // having no aggregation function. We just want to aggregate on node type.
    if (!empty($group_by)) {
        
        /* 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';
        $handler->display->display_options['fields']['nid']['group_type'] = $group_by;
        $handler->display->display_options['fields']['nid']['alter']['alter_text'] = 0;
        $handler->display->display_options['fields']['nid']['alter']['make_link'] = 0;
        $handler->display->display_options['fields']['nid']['alter']['trim'] = 0;
        $handler->display->display_options['fields']['nid']['alter']['word_boundary'] = 1;
        $handler->display->display_options['fields']['nid']['alter']['ellipsis'] = 1;
        $handler->display->display_options['fields']['nid']['alter']['strip_tags'] = 0;
        $handler->display->display_options['fields']['nid']['alter']['html'] = 0;
        $handler->display->display_options['fields']['nid']['hide_empty'] = 0;
        $handler->display->display_options['fields']['nid']['empty_zero'] = 0;
        $handler->display->display_options['fields']['nid']['link_to_node'] = 0;
    }
    
    /* Field: Content: Type */
    $handler->display->display_options['fields']['type']['id'] = 'type';
    $handler->display->display_options['fields']['type']['table'] = 'node';
    $handler->display->display_options['fields']['type']['field'] = 'type';
    $handler->display->display_options['fields']['type']['alter']['alter_text'] = 0;
    $handler->display->display_options['fields']['type']['alter']['make_link'] = 0;
    $handler->display->display_options['fields']['type']['alter']['trim'] = 0;
    $handler->display->display_options['fields']['type']['alter']['word_boundary'] = 1;
    $handler->display->display_options['fields']['type']['alter']['ellipsis'] = 1;
    $handler->display->display_options['fields']['type']['alter']['strip_tags'] = 0;
    $handler->display->display_options['fields']['type']['alter']['html'] = 0;
    $handler->display->display_options['fields']['type']['hide_empty'] = 0;
    $handler->display->display_options['fields']['type']['empty_zero'] = 0;
    $handler->display->display_options['fields']['type']['link_to_node'] = 0;
    return $view;
}