newsletter.test in Newsletter 7.2
Same filename and directory in other branches
Tests for Newsletter module.
File
newsletter.testView source
<?php
/**
* @file
* Tests for Newsletter module.
*/
/**
* The NewsletterTemplateTestCase tests CUD actions through Web UI
* for newsletter templates.
*/
class NewsletterTemplateTestCase extends TaxonomyWebTestCase {
protected $privileged_user;
public static function getInfo() {
return array(
'name' => 'Newsletter Template',
'description' => 'Ensure that template CUD is operating properly.',
'group' => 'Newsletter',
);
}
public function setUp() {
parent::setUp(array(
'taxonomy',
'entityreference',
'token',
'newsletter',
));
$this->privileged_user = $this
->drupalCreateUser(array(
'access administration pages',
'administer newsletters',
'subscribe newsletters',
'access newsletter statistics',
));
$this
->drupalLogin($this->privileged_user);
}
public function testNewsletterTemplateCreate() {
// Create a vocabulary with a term in it first.
$vocabulary = $this
->createVocabulary();
$term = $this
->createTerm($vocabulary);
// Create a template.
$create = array();
$create['subject'] = $this
->randomName(8);
$create['field_newsletter_body[' . LANGUAGE_NONE . '][0][value]'] = $this
->randomString(1000);
$create['field_' . $vocabulary->machine_name . '[' . LANGUAGE_NONE . '][]'] = $term->tid;
$this
->drupalPost('admin/config/media/newsletter/templates/mail/add', $create, t('Save'));
$this
->assertText(t('Template updated successfully'));
}
public function testNewsletterTemplateEdit() {
// Create a vocabulary with a term in it.
$vocabulary = $this
->createVocabulary();
$term = $this
->createTerm($vocabulary);
// Edit the Default template.
$edit = array();
$edit['subject'] = $this
->randomName(8);
$edit['field_newsletter_body[' . LANGUAGE_NONE . '][0][value]'] = $this
->randomString(1000);
$edit['field_' . $vocabulary->machine_name . '[' . LANGUAGE_NONE . '][]'] = $term->tid;
$edit['exposed'] = 1;
$this
->drupalPost('admin/config/media/newsletter/templates/edit/4', $edit, t('Update'));
$this
->assertText(t('Template updated successfully'));
}
public function testNewsletterTemplateDelete() {
// Delete the Default template.
$this
->drupalPost('admin/config/media/newsletter/templates/delete/4', NULL, t('Confirm'));
$this
->assertText(t('Template deleted successfully'));
}
public function testNewsletterTemplateDeleteMass() {
// Create some templates.
for ($i = 5; $i < 10; $i++) {
$this
->testNewsletterTemplateCreate();
$delete["template[{$i}]"] = $i;
}
$delete['operation'] = 'delete';
$this
->drupalPost('admin/config/media/newsletter/templates', $delete, t('Update'));
$this
->drupalPost(NULL, NULL, t('Confirm'));
$this
->assertText(t('Templates deleted successfully'));
}
}
/**
* The NewsletterListTestCase tests CUD actions through Web UI
* for newsletter lists.
*/
class NewsletterListTestCase extends DrupalWebTestCase {
protected $privileged_user;
public static function getInfo() {
return array(
'name' => 'Newsletter List',
'description' => 'Ensure that list CUD is operating properly.',
'group' => 'Newsletter',
);
}
public function setUp() {
parent::setUp(array(
'taxonomy',
'entityreference',
'token',
'newsletter',
));
$this->privileged_user = $this
->drupalCreateUser(array(
'access administration pages',
'administer newsletters',
'subscribe newsletters',
'access newsletter statistics',
));
$this
->drupalLogin($this->privileged_user);
}
public function testNewsletterListCreate() {
$create = array();
$create['title'] = $this
->randomName(8);
$create['field_list_description[' . LANGUAGE_NONE . '][0][value]'] = $this
->randomName(15);
$create['field_newsletter_categories[' . LANGUAGE_NONE . ']'] = $this
->randomName(8);
$create['field_newsletter_template[' . LANGUAGE_NONE . ']'] = 4;
$create['send_rate'] = 'Daily';
$this
->drupalPost('admin/config/media/newsletter/lists/add', $create, t('Save'));
$this
->assertText(t('List updated successfully'));
}
public function testNewsletterListEdit() {
$edit = array();
$edit['title'] = $this
->randomName(8);
$edit['field_list_description[' . LANGUAGE_NONE . '][0][value]'] = $this
->randomName(15);
$edit['field_newsletter_categories[' . LANGUAGE_NONE . ']'] = $this
->randomName(8);
$edit['field_newsletter_template[' . LANGUAGE_NONE . ']'] = 4;
$edit['send_rate'] = 'Custom';
$edit['send_rate_custom'] = rand(0, 10);
$this
->drupalPost('admin/config/media/newsletter/lists/edit/1', $edit, t('Update'));
$this
->assertText(t('List updated successfully'));
}
public function testNewsletterListDelete() {
// Delete the Default list.
$this
->drupalPost('admin/config/media/newsletter/lists/delete/1', NULL, t('Confirm'));
$this
->assertText(t('List deleted successfully'));
}
public function testNewsletterListDeleteMass() {
// Create some lists.
for ($i = 2; $i < 7; $i++) {
$this
->testNewsletterListCreate();
$delete["list[{$i}]"] = $i;
}
$delete['operation'] = 'delete';
$this
->drupalPost('admin/config/media/newsletter/lists', $delete, t('Update'));
$this
->drupalPost(NULL, NULL, t('Confirm'));
$this
->assertText(t('Lists deleted successfully'));
}
}
Classes
Name | Description |
---|---|
NewsletterListTestCase | The NewsletterListTestCase tests CUD actions through Web UI for newsletter lists. |
NewsletterTemplateTestCase | The NewsletterTemplateTestCase tests CUD actions through Web UI for newsletter templates. |