From 7f965d0b4bfc1e5dfdbd73b44fe77d91d3be8c2a Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sat, 2 Aug 2008 05:16:47 +0000 Subject: - Patch #276581 by andreiashu and cwgordon7: added tests for contact form categories. --- modules/contact/contact.test | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/contact/contact.test b/modules/contact/contact.test index 64594b913..2d756156d 100644 --- a/modules/contact/contact.test +++ b/modules/contact/contact.test @@ -60,7 +60,17 @@ class ContactSitewideTestCase extends DrupalWebTestCase { $recipients = array('simpletest@example.com', 'simpletest2@example.com', 'simpletest3@example.com'); $this->addCategory($category = $this->randomName(16), implode(',', array($recipients[0])), '', TRUE); $this->assertRaw(t('Category %category has been added.', array('%category' => $category)), t('Category successfully added.')); - + + // Test update contact form category + $categories = $this->getCategories(); + $category_id = $this->updateCategory($categories, $category = $this->randomName(16), $recipients_str = implode(',', array($recipients[0], $recipients[1])), $reply = $this->randomName(30), FALSE); + $category_array = db_fetch_array(db_query('SELECT category, recipients, reply, selected FROM {contact} WHERE cid = %d', array($category_id))); + $this->assertEqual($category_array['category'], $category); + $this->assertEqual($category_array['recipients'], $recipients_str); + $this->assertEqual($category_array['reply'], $reply); + $this->assertFalse($category_array['selected']); + $this->assertRaw(t('Category %category has been updated.', array('%category' => $category)), t('Category successfully updated.')); + $this->addCategory($category = $this->randomName(16), implode(',', array($recipients[0], $recipients[1])), '', FALSE); $this->assertRaw(t('Category %category has been added.', array('%category' => $category)), t('Category successfully added.')); @@ -89,7 +99,6 @@ class ContactSitewideTestCase extends DrupalWebTestCase { $this->assertText($edit['contact_form_information'], t('Contact information displayed.')); // Submit contact form with invalid values. - $categories = $this->getCategories(); $this->submitContact('', $recipients[0], $this->randomName(16), $categories[0], $this->randomName(64)); $this->assertText(t('Your name field is required.'), t('Name required.')); @@ -136,6 +145,25 @@ class ContactSitewideTestCase extends DrupalWebTestCase { $this->drupalPost('admin/build/contact/add', $edit, t('Save')); } + /** + * Update a category. + * + * @param string $category Name of category. + * @param string $recipients List of recipient e-mail addresses. + * @param string $reply Auto-reply text. + * @param boolean $selected Defautly selected. + */ + function updateCategory($categories, $category, $recipients, $reply, $selected) { + $category_id = $categories[array_rand($categories)]; + $edit = array(); + $edit['category'] = $category; + $edit['recipients'] = $recipients; + $edit['reply'] = $reply; + $edit['selected'] = ($selected ? '1' : '0'); + $this->drupalPost('admin/build/contact/edit/' . $category_id, $edit, t('Save')); + return($category_id); + } + /** * Submit contact form. * -- cgit v1.2.3