diff --git a/tests/simplenews.test b/tests/simplenews.test
index 1e32f02..5ee80f8 100644
--- a/tests/simplenews.test
+++ b/tests/simplenews.test
@@ -18,7 +18,6 @@ class SimplenewsTestCase extends DrupalWebTestCase {
     if (isset($modules[0]) && is_array($modules[0])) {
       $modules = $modules[0];
     }
-    $modules = array_merge(array('taxonomy', 'simplenews'), $modules);
     parent::setUp($modules);
 
     //$this->simplenews_admin_user = $this->drupalCreateUser(array('administer newsletters', 'administer simplenews settings', 'administer simplenews subscriptions'));
@@ -176,9 +175,9 @@ class SimplenewsSubscribeTestCase extends SimplenewsTestCase {
    */
   static function getInfo() {
     return array(
-      'name' => t('Subscribe and unsubscribe users'),
-      'description' => t('(un)subscription of anonymous and authenticated users. Subscription via block, subscription page and account page'),
-      'group' => t('Simplenews'),
+      'name' => 'Subscribe and unsubscribe users',
+      'description' => '(un)subscription of anonymous and authenticated users. Subscription via block, subscription page and account page',
+      'group' => 'Simplenews',
     );
   }
 
@@ -186,7 +185,7 @@ class SimplenewsSubscribeTestCase extends SimplenewsTestCase {
    * Overrides SimplenewsTestCase::setUp().
    */
   public function setUp() {
-    parent::setUp(array('block'));
+    parent::setUp(array('taxonomy', 'simplenews', 'block'));
     // Include simplenews.subscription.inc for simplenews_mask_mail().
     module_load_include('inc', 'simplenews', 'includes/simplenews.subscription');
   }
@@ -990,9 +989,9 @@ class SimpleNewsAdministrationTestCase extends SimplenewsTestCase {
    */
   static function getInfo() {
     return array(
-      'name' => t('Simplenews administration'),
-      'description' => t('Managing of newsletter categories and content types.'),
-      'group' => t('Simplenews'),
+      'name' => 'Simplenews administration',
+      'description' => 'Managing of newsletter categories and content types.',
+      'group' => 'Simplenews',
     );
   }
 
@@ -1000,7 +999,7 @@ class SimpleNewsAdministrationTestCase extends SimplenewsTestCase {
    * Overrides SimplenewsTestCase::setUp().
    */
   public function setUp() {
-    parent::setUp(array('block'));
+    parent::setUp(array('taxonomy', 'simplenews', 'block'));
   }
 
   /**
@@ -1616,15 +1615,15 @@ class SimpleNewsI18nTestCase extends SimplenewsTestCase {
    */
   static function getInfo() {
     return array(
-      'name' => t('Simplenews I18n'),
-      'description' => t('Translation of newsletter categories'),
-      'group' => t('Simplenews'),
+      'name' => 'Simplenews I18n',
+      'description' => 'Translation of newsletter categories',
+      'group' => 'Simplenews',
       'dependencies' => array('i18n_taxonomy', 'variable'),
     );
   }
 
   function setUp() {
-    parent::setUp(array('locale', 'i18n', 'variable', 'i18n_string', 'i18n_taxonomy', 'translation', 'i18n_translation'));
+    parent::setUp(array('taxonomy', 'simplenews', 'locale', 'i18n', 'variable', 'i18n_string', 'i18n_taxonomy', 'translation', 'i18n_translation'));
     $this->admin_user = $this->drupalCreateUser(array('bypass node access', 'administer nodes', 'administer languages', 'administer content types', 'access administration pages', 'administer filters', 'administer taxonomy', 'translate interface', 'subscribe to newsletters', 'administer site configuration', 'translate content', 'administer simplenews subscriptions', 'send newsletter'));
     $this->drupalLogin($this->admin_user);
     $this->setUpLanguages();
@@ -2017,36 +2016,17 @@ class SimpleNewsUpgradePath62TestCase extends SimpleNewsUpgradePathTestCase {
 /**
  * Test cases for creating and sending newsletters.
  */
-class SimplenewsSendTestCase extends SimplenewsTestCase {
-
-  /**
-   * Implementation of getInfo().
-   */
-  static function getInfo() {
-    return array(
-      'name' => t('Sending newsletters'),
-      'description' => t('Creating and sending of newsletters, different send processes (with/without cron, send on publish)'),
-      'group' => t('Simplenews'),
-    );
-  }
-
-  function setUp() {
-    parent::setUp();
-
-    $this->user = $this->drupalCreateUser(array('administer newsletters', 'send newsletter', 'administer nodes', 'administer simplenews subscriptions', 'create simplenews content', 'edit any simplenews content', 'view own unpublished content', 'delete any simplenews content'));
-    $this->drupalLogin($this->user);
-
-    // Subscribe a few users.
-    $this->setUpSubscribers(5);
-  }
+abstract class SimplenewsAbstractSendTestCase extends SimplenewsTestCase {
 
   /**
    * Creates and sends a node using the API.
    */
   function testProgrammaticNewsletter() {
+    // Determine what node type to use.
+    $content_type = (!empty($this->node->type)) ? $this->node->type : 'simplenews';
     // Create a very basic node.
     $node = new stdClass();
-    $node->type = 'simplenews';
+    $node->type = $content_type;
     $node->title = $this->randomName();
     $node->uid = 0;
     $node->status = 1;
@@ -2075,7 +2055,7 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
 
     // Create another node.
     $node = new stdClass();
-    $node->type = 'simplenews';
+    $node->type = $content_type;
     $node->title = $this->randomName();
     $node->uid = 0;
     $node->status = 1;
@@ -2103,24 +2083,15 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
   }
 
   /**
-   * Send a newsletter using cron.
+   * Send a newsletter without using cron.
    */
   function testSendNowNoCron() {
     // Disable cron.
     variable_set('simplenews_use_cron', FALSE);
-
-    // Verify that the newsletter settings are shown.
-    $this->drupalGet('node/add/simplenews');
-    $this->assertText(t('Newsletter category'));
-
-    $edit = array(
-      'title' => $this->randomName(),
-    );
-    $this->drupalPost(NULL, $edit, ('Save'));
-    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
-    $node = node_load($matches[1]);
-
-    $this->clickLink(t('Newsletter'));
+    // Use node defined in child class.
+    $node = $this->node;
+    // Get simplenews page for node.
+    $this->drupalGet("node/$node->nid/simplenews");
     $this->assertText(t('Send one test newsletter to the test address'));
     $this->assertText(t('Send newsletter'));
     $this->assertNoText(t('Send newsletter when published'), t('Send on publish is not shown for published nodes.'));
@@ -2140,7 +2111,7 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
     $mails = $this->drupalGetMails();
     $this->assertEqual(5, count($mails), t('All mails were sent.'));
     foreach ($mails as $mail) {
-      $this->assertEqual($mail['subject'], '[Drupal newsletter] ' . $edit['title'], t('Mail has correct subject'));
+      $this->assertEqual($mail['subject'], '[Drupal newsletter] ' . $node->title, t('Mail has correct subject'));
       $this->assertTrue(isset($this->subscribers[$mail['to']]), t('Found valid recipient'));
       unset($this->subscribers[$mail['to']]);
     }
@@ -2151,29 +2122,16 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
   }
 
   /**
-   * Send a newsletter using cron.
+   * Send newsletters without using cron.
    */
   function testSendMultipleNoCron() {
     // Disable cron.
     variable_set('simplenews_use_cron', FALSE);
-
-    // Verify that the newsletter settings are shown.
-    $nodes = array();
-    for ($i = 0; $i < 3; $i++) {
-      $this->drupalGet('node/add/simplenews');
-      $this->assertText(t('Newsletter category'));
-
-      $edit = array(
-        'title' => $this->randomName(),
-        // The last newsletter shouldn't be published.
-        'status' => $i != 2,
-      );
-      $this->drupalPost(NULL, $edit, ('Save'));
-      $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
-      $nodes[] = node_load($matches[1]);
-
+    // Use nodes defined in child class. 
+    $nodes = $this->nodes;
+    foreach ($nodes as $node) {
       // Verify state.
-      $newsletter = simplenews_newsletter_load($matches[1]);
+      $newsletter = simplenews_newsletter_load($node->nid);
       $this->assertEqual(SIMPLENEWS_STATUS_SEND_NOT, $newsletter->status, t('Newsletter not sent yet.'));
     }
 
@@ -2216,18 +2174,10 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
 
     variable_set('simplenews_throttle', 3);
 
-    // Verify that the newsletter settings are shown.
-    $this->drupalGet('node/add/simplenews');
-    $this->assertText(t('Newsletter category'));
-
-    $edit = array(
-      'title' => $this->randomName(),
-    );
-    $this->drupalPost(NULL, $edit, ('Save'));
-    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
-    $node = node_load($matches[1]);
+    // Use node defined in child class.
+    $node = $this->node;
 
-    $this->clickLink(t('Newsletter'));
+    $this->drupalGet("node/$node->nid/simplenews");
     $this->assertText(t('Send one test newsletter to the test address'));
     $this->assertText(t('Send newsletter'));
     $this->assertNoText(t('Send newsletter when published'), t('Send on publish is not shown for published nodes.'));
@@ -2276,7 +2226,7 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
     $mails = $this->drupalGetMails();
     $this->assertEqual(5, count($mails), t('All mails were sent.'));
     foreach ($mails as $mail) {
-      $this->assertEqual($mail['subject'], '[Drupal newsletter] ' . $edit['title'], t('Mail has correct subject'));
+      $this->assertEqual($mail['subject'], '[Drupal newsletter] ' . $node->title, t('Mail has correct subject'));
       $this->assertTrue(isset($this->subscribers[$mail['to']]), t('Found valid recipient'));
       unset($this->subscribers[$mail['to']]);
     }
@@ -2286,27 +2236,12 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
   }
 
   /**
-   * Send a newsletter without using cron.
+   * Send a newsletter using cron.
    */
   function testSendNowCron() {
-
-    // Verify that the newsletter settings are shown.
-    $this->drupalGet('node/add/simplenews');
-    $this->assertText(t('Newsletter category'));
-
-    $edit = array(
-      'title' => $this->randomName(),
-    );
-    // Try preview first.
-    $this->drupalPost(NULL, $edit, t('Preview'));
-
-    // Then save.
-    $this->drupalPost(NULL, array(), t('Save'));
-
-    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
-    $node = node_load($matches[1]);
-
-    $this->clickLink(t('Newsletter'));
+    // Use node defined in child class.
+    $node = $this->node;
+    $this->drupalGet("node/$node->nid/simplenews");
     $this->assertText(t('Send one test newsletter to the test address'));
     $this->assertText(t('Send newsletter'));
     $this->assertNoText(t('Send newsletter when published'), t('Send on publish is not shown for published nodes.'));
@@ -2348,7 +2283,7 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
     $mails = $this->drupalGetMails();
     $this->assertEqual(5, count($mails), t('All mails were sent.'));
     foreach ($mails as $mail) {
-      $this->assertEqual($mail['subject'], '[Drupal newsletter] ' . $edit['title'], t('Mail has correct subject'));
+      $this->assertEqual($mail['subject'], '[Drupal newsletter] ' . $node->title, t('Mail has correct subject'));
       $this->assertTrue(isset($this->subscribers[$mail['to']]), t('Found valid recipient'));
       unset($this->subscribers[$mail['to']]);
     }
@@ -2361,20 +2296,9 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
   function testSendPublishNoCron() {
     // Disable cron.
     variable_set('simplenews_use_cron', FALSE);
-
-    // Verify that the newsletter settings are shown.
-    $this->drupalGet('node/add/simplenews');
-    $this->assertText(t('Newsletter category'));
-
-    $edit = array(
-      'title' => $this->randomName(),
-      'status' => FALSE,
-    );
-    $this->drupalPost(NULL, $edit, ('Save'));
-    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
-    $node = node_load($matches[1]);
-
-    $this->clickLink(t('Newsletter'));
+    // Use node defined in child class.
+    $node = $this->node;
+    $this->drupalGet("node/$node->nid/simplenews");
     $this->assertText(t('Send one test newsletter to the test address'));
     $this->assertText(t('Send newsletter when published'), t('Send on publish is shown'));
 
@@ -2406,7 +2330,7 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
     $mails = $this->drupalGetMails();
     $this->assertEqual(5, count($mails), t('All mails were sent.'));
     foreach ($mails as $mail) {
-      $this->assertEqual($mail['subject'], '[Drupal newsletter] ' . $edit['title'], t('Mail has correct subject'));
+      $this->assertEqual($mail['subject'], '[Drupal newsletter] ' . $node->title, t('Mail has correct subject'));
       $this->assertTrue(isset($this->subscribers[$mail['to']]), t('Found valid recipient'));
       unset($this->subscribers[$mail['to']]);
     }
@@ -2422,25 +2346,17 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
       'description' => $this->randomString(20),
     );
     $this->drupalPost(NULL, $edit, t('Save'));
-
-    $this->drupalGet('node/add/simplenews');
-    $this->assertText(t('Newsletter category'));
-
-    $edit = array(
-      'title' => $this->randomName(),
-      // @todo avoid hardcoding the term id.
-      'field_simplenews_term[und]' => 1,
-    );
-    $this->drupalPost(NULL, $edit, ('Save'));
-    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created.');
-    $node = node_load($matches[1]);
+    // Use node defined in child class.
+    $node = $this->node;
+    // @todo Avoid hardcoding the term id.
+    $node->field_simplenews_term['und'] = 1;
 
     // Verify newsletter.
     $newsletter = simplenews_newsletter_load($node->nid);
     $this->assertEqual(SIMPLENEWS_STATUS_SEND_NOT, $newsletter->status, t('Newsletter sending not started.'));
     $this->assertEqual(1, $newsletter->tid, t('Newsletter has tid 1'));
 
-    $this->clickLink(t('Edit'));
+    $this->drupalGet("node/$node->nid/edit");
     $update = array(
       'field_simplenews_term[und]' => 2,
     );
@@ -2456,21 +2372,11 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
    * Create a newsletter, send mails and then delete.
    */
   function testDelete() {
-    // Verify that the newsletter settings are shown.
-    $this->drupalGet('node/add/simplenews');
-    $this->assertText(t('Newsletter category'));
-
     // Prevent deleting the mail spool entries automatically.
     variable_set('simplenews_spool_expire', 1);
-
-    $edit = array(
-      'title' => $this->randomName(),
-    );
-    $this->drupalPost(NULL, $edit, ('Save'));
-    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
-    $node = node_load($matches[1]);
-
-    $this->clickLink(t('Newsletter'));
+    // Use node defined in child class.
+    $node = $this->node;
+    $this->drupalGet("node/$node->nid/simplenews");
     $this->assertText(t('Send one test newsletter to the test address'));
     $this->assertText(t('Send newsletter'));
     $this->assertNoText(t('Send newsletter when published'), t('Send on publish is not shown for published nodes.'));
@@ -2508,7 +2414,7 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
     $mails = $this->drupalGetMails();
     $this->assertEqual(5, count($mails), t('All mails were sent.'));
     foreach ($mails as $mail) {
-      $this->assertEqual($mail['subject'], '[Drupal newsletter] ' . $edit['title'], t('Mail has correct subject'));
+      $this->assertEqual($mail['subject'], '[Drupal newsletter] ' . $node->title, t('Mail has correct subject'));
       $this->assertTrue(isset($this->subscribers[$mail['to']]), t('Found valid recipient'));
       unset($this->subscribers[$mail['to']]);
     }
@@ -2544,6 +2450,233 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
 /**
  * Test cases for creating and sending newsletters.
  */
+class SimplenewsSendSimplenewsTestCase extends SimplenewsAbstractSendTestCase {
+
+  /**
+   * Implementation of getInfo().
+   */
+  static function getInfo() {
+    return array(
+      'name' => 'Sending newsletters',
+      'description' => 'Creating and sending of newsletters, different send processes (with/without cron, send on publish)',
+      'group' => 'Simplenews',
+    );
+  }
+
+  function setUp() {
+    parent::setUp(array('taxonomy', 'simplenews'));
+
+    $this->user = $this->drupalCreateUser(array('administer newsletters', 'send newsletter', 'administer nodes', 'administer simplenews subscriptions', 'create simplenews content', 'edit any simplenews content', 'view own unpublished content', 'delete any simplenews content'));
+    $this->drupalLogin($this->user);
+
+    // Subscribe a few users.
+    $this->setUpSubscribers(5);
+  }
+
+  /**
+   * Overrides SimplenewsAbstractSendTestCase::testSendNowNoCron().
+   */
+  function testSendNowNoCron() {
+    // Verify that the newsletter settings are shown.
+    $this->drupalGet('node/add/simplenews');
+    $this->assertText(t('Newsletter category'));
+    // Create simplenews node.
+    $edit = array(
+      'title' => $this->randomName(),
+    );
+    $this->drupalPost(NULL, $edit, ('Save'));
+    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
+    $this->node = node_load($matches[1]);
+    parent::testSendNowNoCron();
+  }
+
+  /**
+   * Overrides SimplenewsAbstractSendTestCase::testSendMultipleNoCron().
+   */
+  function testSendMultipleNoCron() {
+    // Verify that the newsletter settings are shown.
+    for ($i = 0; $i < 3; $i++) {
+      $this->drupalGet('node/add/simplenews');
+      $this->assertText(t('Newsletter category'));
+
+      $edit = array(
+        'title' => $this->randomName(),
+        // The last newsletter shouldn't be published.
+        'status' => $i != 2,
+      );
+      $this->drupalPost(NULL, $edit, ('Save'));
+      $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
+      $this->nodes[] = node_load($matches[1]);
+    }
+    parent::testSendMultipleNoCron();
+  }
+
+  /**
+   * Overrides SimplenewsAbstractSendTestCase::testSendNowCronThrottle().
+   */
+  function testSendNowCronThrottle() {
+    // Verify that the newsletter settings are shown.
+    $this->drupalGet('node/add/simplenews');
+    $this->assertText(t('Newsletter category'));
+    // Create simplenews node.
+    $edit = array(
+      'title' => $this->randomName(),
+    );
+    $this->drupalPost(NULL, $edit, ('Save'));
+    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
+    $this->node = node_load($matches[1]);
+    parent::testSendNowCronThrottle();
+  }
+
+  /**
+   * Overrides SimplenewsAbstractSendTestCase::testSendNowCron().
+   */
+  function testSendNowCron() {
+    // Verify that the newsletter settings are shown.
+    $this->drupalGet('node/add/simplenews');
+    $this->assertText(t('Newsletter category'));
+    // Create simplenews node.
+    $edit = array(
+      'title' => $this->randomName(),
+    );
+    // Try preview first.
+    $this->drupalPost(NULL, $edit, t('Preview'));
+    // Then save.
+    $this->drupalPost(NULL, array(), t('Save'));
+
+    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
+    $this->node = node_load($matches[1]);
+    parent::testSendNowCron();
+  }
+
+  /**
+   * Overrides SimplenewsAbstractSendTestCase::testSendPublishNoCron().
+   */
+  function testSendPublishNoCron() {
+    // Verify that the newsletter settings are shown.
+    $this->drupalGet('node/add/simplenews');
+    $this->assertText(t('Newsletter category'));
+    $edit = array(
+      'title' => $this->randomName(),
+      'status' => FALSE,
+    );
+    $this->drupalPost(NULL, $edit, ('Save'));
+    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
+    $this->node = node_load($matches[1]);
+    parent::testSendPublishNoCron();
+  }
+
+  /**
+   * Overrides SimplenewsAbstractSendTestCase::testUpdateNewsletter().
+   */
+  function testUpdateNewsletter() {
+    $this->drupalGet('node/add/simplenews');
+    $this->assertText(t('Newsletter category'));
+    $edit = array(
+      'title' => $this->randomName(),
+    );
+    $this->drupalPost(NULL, $edit, ('Save'));
+    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created.');
+    $this->node = node_load($matches[1]);
+    parent::testUpdateNewsletter();
+  }
+
+  /**
+   * Overrides SimplenewsAbstractSendTestCase::testDelete().
+   */
+  function testDelete() {
+    $this->drupalGet('node/add/simplenews');
+    // Verify that the newsletter settings are shown.
+    $this->assertText(t('Newsletter category'));
+    $edit = array(
+      'title' => $this->randomName(),
+    );
+    $this->drupalPost(NULL, $edit, ('Save'));
+    $this->assertTrue(preg_match('|node/(\d+)$|', $this->getUrl(), $matches), 'Node created');
+    $this->node = node_load($matches[1]);
+    parent::testDelete();
+  }
+}
+
+/**
+ * Tests for converting existing content to simplenews newsletters.
+ */
+class SimplenewsSendExistingNodesTestCase extends SimplenewsAbstractSendTestCase {
+
+  static function getInfo() {
+    return array(
+      'name' => 'Sending existing nodes as simplenews newsletters',
+      'description' => 'Creating and sending of newsletters, converted from existent nodes, different send processes (with/without cron, send on publish)',
+      'group' => 'Simplenews',
+    );
+  }
+  
+  function setUp() {
+    parent::setUp(array('node'));
+    // Create admin user.
+    $this->user = $this->drupalCreateUser(array(
+      'administer nodes',
+      'view own unpublished content'
+    ));
+    $this->drupalLogin($this->user);
+    // Create node type.
+    $content_type = $this->drupalCreateContentType();
+    // Create a node of this node type.
+    $settings = array('type' => $content_type->type);
+    $this->node = $this->drupalCreateNode($settings);
+    // Time to enable simplenews module.
+    module_enable(array('taxonomy', 'simplenews'));
+    // Create a user with simplenews privilegies.
+    $this->user = $this->drupalCreateUser(array(
+      'administer newsletters',
+      'send newsletter',
+      'administer nodes',
+      'administer simplenews subscriptions',
+      'create simplenews content',
+      'edit any simplenews content',
+      'view own unpublished content',
+      'delete any simplenews content'
+    ));
+    $this->drupalLogin($this->user);
+    // Subscribe a few users.
+    $this->setUpSubscribers(5);
+    // Set setting to allow sending of existent nodes as simplenews newsletters.
+    $this->drupalGet("admin/structure/types/manage/{$content_type->type}");
+    $edit = array(
+      'simplenews_content_type' => TRUE,
+    );
+    $this->drupalPost(NULL, $edit, t('Save'));
+  }
+
+  /**
+   * Overrides SimplenewsAbstractSendTestCase::testSendMultipleNoCron().
+   */
+  function testSendMultipleNoCron() {
+    for ($i = 0; $i < 3; $i++) {
+      $settings = array(
+        'type' => $this->node->type,
+        // The last newsletter shouldn't be published.
+        'status' => $i != 2,
+      );
+      // Create some nodes.
+      $this->nodes[] = $this->drupalCreateNode($settings);
+    }
+    parent::testSendMultipleNoCron();
+  }
+
+  /**
+   * Overrides SimplenewsAbstractSendTestCase::testSendPublishNoCron().
+   */
+  function testSendPublishNoCron() {
+    // Verify that node is unpublished.
+    $this->node->status = FALSE;
+    parent::testSendPublishNoCron();
+  }
+}
+
+/**
+ * Test cases for source interfaces.
+ */
 class SimplenewsSourceTestCase extends SimplenewsTestCase {
 
   /**
@@ -2551,14 +2684,14 @@ class SimplenewsSourceTestCase extends SimplenewsTestCase {
    */
   static function getInfo() {
     return array(
-      'name' => t('Source tests'),
-      'description' => t('Tests for the new source interfaces and concepts.'),
-      'group' => t('Simplenews'),
+      'name' => 'Source tests',
+      'description' => 'Tests for the new source interfaces and concepts.',
+      'group' => 'Simplenews',
     );
   }
 
   function setUp() {
-    parent::setUp();
+    parent::setUp(array('taxonomy', 'simplenews'));
 
     // Create the filtered_html text format.
     $filtered_html_format = array(
