summaryrefslogtreecommitdiff
path: root/kolab.org/www/drupal-7.15/sites/all/modules/views/tests/views_exposed_form.test
diff options
context:
space:
mode:
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.test83
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'));
}