diff options
Diffstat (limited to 'kolab.org/www/drupal-7.15/sites/all/modules/views/tests/views_exposed_form.test')
-rw-r--r-- | kolab.org/www/drupal-7.15/sites/all/modules/views/tests/views_exposed_form.test | 83 |
1 files changed, 78 insertions, 5 deletions
diff --git a/kolab.org/www/drupal-7.15/sites/all/modules/views/tests/views_exposed_form.test b/kolab.org/www/drupal-7.15/sites/all/modules/views/tests/views_exposed_form.test index 4c660f6..72baf2c 100644 --- a/kolab.org/www/drupal-7.15/sites/all/modules/views/tests/views_exposed_form.test +++ b/kolab.org/www/drupal-7.15/sites/all/modules/views/tests/views_exposed_form.test @@ -2,9 +2,12 @@ /** * @file - * Test exposed forms. + * Definition of ViewsExposedFormTest. */ +/** + * Tests exposed forms. + */ class ViewsExposedFormTest extends ViewsSqlTest { public static function getInfo() { return array( @@ -54,7 +57,7 @@ class ViewsExposedFormTest extends ViewsSqlTest { } /** - * Test the admin interface of exposed filter and sort items. + * Tests the admin interface of exposed filter and sort items. */ function testExposedAdminUi() { $admin_user = $this->drupalCreateUser(array('administer views', 'administer site configuration')); @@ -63,13 +66,28 @@ class ViewsExposedFormTest extends ViewsSqlTest { $edit = array(); $this->drupalGet('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/filter/type'); - // Be sure that the button is called exposed + // Be sure that the button is called exposed. $this->helperButtonHasLabel('edit-options-expose-button-button', t('Expose filter')); + // The first time the filter UI is displayed, the operator and the + // value forms should be shown. + $this->assertFieldById('edit-options-operator-in', '', 'Operator In exists'); + $this->assertFieldById('edit-options-operator-not-in', '', 'Operator Not In exists'); + $this->assertFieldById('edit-options-value-page', '', 'Checkbox for Page exists'); + $this->assertFieldById('edit-options-value-article', '', 'Checkbox for Article exists'); + // Click the Expose filter button. $this->drupalPost('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/filter/type', $edit, t('Expose filter')); - // Check the label of the expose button + // Check the label of the expose button. $this->helperButtonHasLabel('edit-options-expose-button-button', t('Hide filter')); + // Check the label of the grouped exposed button + $this->helperButtonHasLabel('edit-options-group-button-button', t('Grouped filters')); + + // After Expose the filter, Operator and Value should be still here + $this->assertFieldById('edit-options-operator-in', '', 'Operator In exists'); + $this->assertFieldById('edit-options-operator-not-in', '', 'Operator Not In exists'); + $this->assertFieldById('edit-options-value-page', '', 'Checkbox for Page exists'); + $this->assertFieldById('edit-options-value-article', '', 'Checkbox for Article exists'); // Check the validations of the filter handler. $edit = array(); @@ -87,10 +105,65 @@ class ViewsExposedFormTest extends ViewsSqlTest { $this->helperButtonHasLabel('edit-options-expose-button-button', t('Expose sort')); $this->assertNoFieldById('edit-options-expose-label', '', t('Make sure no label field is shown')); + // Click the Grouped Filters button. + $this->drupalGet('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/filter/type'); + $this->drupalPost(NULL, array(), t('Grouped filters')); + + // After click on 'Grouped Filters' standard operator and value should not be displayed + $this->assertNoFieldById('edit-options-operator-in', '', 'Operator In not exists'); + $this->assertNoFieldById('edit-options-operator-not-in', '', 'Operator Not In not exists'); + $this->assertNoFieldById('edit-options-value-page', '', 'Checkbox for Page not exists'); + $this->assertNoFieldById('edit-options-value-article', '', 'Checkbox for Article not exists'); + + + // Check that after click on 'Grouped Filters', a new button is shown to + // add more items to the list. + $this->helperButtonHasLabel('edit-options-group-info-add-group', t('Add another item')); + + // Create a grouped filter + $this->drupalGet('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/filter/type'); + $edit = array(); + $edit["options[group_info][group_items][1][title]"] = 'Is Article'; + $edit["options[group_info][group_items][1][value][article]"] = 'article'; + + $edit["options[group_info][group_items][2][title]"] = 'Is Page'; + $edit["options[group_info][group_items][2][value][page]"] = TRUE; + + $edit["options[group_info][group_items][3][title]"] = 'Is Page and Article'; + $edit["options[group_info][group_items][3][value][article]"] = TRUE; + $edit["options[group_info][group_items][3][value][page]"] = TRUE; + $this->drupalPost(NULL, $edit, t('Apply')); + + // Validate that all the titles are defined for each group + $this->drupalGet('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/filter/type'); + $edit = array(); + $edit["options[group_info][group_items][1][title]"] = 'Is Article'; + $edit["options[group_info][group_items][1][value][article]"] = TRUE; + + // This should trigger an error + $edit["options[group_info][group_items][2][title]"] = ''; + $edit["options[group_info][group_items][2][value][page]"] = TRUE; + + $edit["options[group_info][group_items][3][title]"] = 'Is Page and Article'; + $edit["options[group_info][group_items][3][value][article]"] = TRUE; + $edit["options[group_info][group_items][3][value][page]"] = TRUE; + $this->drupalPost(NULL, $edit, t('Apply')); + $this->assertRaw(t('The title is required if value for this item is defined.'), t('Group items should have a title')); + + // Un-Expose the filter + $this->drupalGet('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/filter/type'); + $this->drupalPost(NULL, array(), t('Hide filter')); + + // After Un-Expose the filter, Operator and Value should be shown again + $this->assertFieldById('edit-options-operator-in', '', 'Operator In exists after hide filter'); + $this->assertFieldById('edit-options-operator-not-in', '', 'Operator Not In exists after hide filter'); + $this->assertFieldById('edit-options-value-page', '', 'Checkbox for Page exists after hide filter'); + $this->assertFieldById('edit-options-value-article', '', 'Checkbox for Article exists after hide filter'); + // Click the Expose sort button. $edit = array(); $this->drupalPost('admin/structure/views/nojs/config-item/test_exposed_admin_ui/default/sort/created', $edit, t('Expose sort')); - // Check the label of the expose button + // Check the label of the expose button. $this->helperButtonHasLabel('edit-options-expose-button-button', t('Hide sort')); $this->assertFieldById('edit-options-expose-label', '', t('Make sure a label field is shown')); } |