function ViewsBasicTest::testSimpleArgument

Tests simple argument.

File

tests/views_basic.test, line 104

Class

ViewsBasicTest

Code

public function testSimpleArgument() {
    $view = $this->getBasicView();
    // Add a argument.
    $view->display['default']->handler
        ->override_option('arguments', array(
        'age' => array(
            'default_action' => 'ignore',
            'style_plugin' => 'default_summary',
            'style_options' => array(),
            'wildcard' => 'all',
            'wildcard_substitution' => 'All',
            'title' => '',
            'breadcrumb' => '',
            'default_argument_type' => 'fixed',
            'default_argument' => '',
            'validate_type' => 'none',
            'validate_fail' => 'not found',
            'break_phrase' => 0,
            'not' => 0,
            'id' => 'age',
            'table' => 'views_test',
            'field' => 'age',
            'validate_user_argument_type' => 'uid',
            'validate_user_roles' => array(
                '2' => 0,
            ),
            'relationship' => 'none',
            'default_options_div_prefix' => '',
            'default_argument_user' => 0,
            'default_argument_fixed' => '',
            'default_argument_php' => '',
            'validate_argument_node_type' => array(
                'page' => 0,
                'story' => 0,
            ),
            'validate_argument_node_access' => 0,
            'validate_argument_nid_type' => 'nid',
            'validate_argument_vocabulary' => array(),
            'validate_argument_type' => 'tid',
            'validate_argument_transform' => 0,
            'validate_user_restrict_roles' => 0,
            'validate_argument_php' => '',
        ),
    ));
    $saved_view = clone $view;
    // Execute with a view.
    $view->set_arguments(array(
        27,
    ));
    $this->executeView($view);
    // Build the expected result.
    $dataset = array(
        array(
            'id' => 2,
            'name' => 'George',
            'age' => 27,
        ),
    );
    // Verify the result.
    $this->assertEqual(1, count($view->result), t('The number of returned rows match.'));
    $this->assertIdenticalResultSet($view, $dataset, array(
        'views_test_name' => 'name',
        'views_test_age' => 'age',
    ));
    // Test "show all" if no argument is present.
    $view = $saved_view;
    $this->executeView($view);
    // Build the expected result.
    $dataset = $this->dataSet();
    $this->assertEqual(5, count($view->result), t('The number of returned rows match.'));
    $this->assertIdenticalResultSet($view, $dataset, array(
        'views_test_name' => 'name',
        'views_test_age' => 'age',
    ));
}