protected function processAutoresponderItemInQueue(AutoresponderItem $autoresponderItem)
 {
     AutoresponderItemsUtil::processDueItem($autoresponderItem);
 }
 protected function processAutoresponderItemInQueue(AutoresponderItem $autoresponderItem)
 {
     $util = new AutoresponderItemsUtil();
     $util->processDueItem($autoresponderItem);
 }
 /**
  * @depends testProcessDueAutoresponderItemWithUnsubscribeAndManageSubscriptionsUrlMergeTags
  */
 public function testProcessDueAutoresponderItemWithoutUnsubscribeAndManageSubscriptionsUrlMergeTags()
 {
     $email = new Email();
     $email->emailAddress = '*****@*****.**';
     $contact = ContactTestHelper::createContactByNameForOwner('contact 13', $this->user);
     $contact->primaryEmail = $email;
     $this->assertTrue($contact->save());
     $marketingList = MarketingListTestHelper::createMarketingListByName('marketingList 13', 'description', 'CustomFromName', '*****@*****.**');
     $autoresponder = AutoresponderTestHelper::createAutoresponder('subject 13', 'Plain Text', 'HTML', 1, Autoresponder::OPERATION_SUBSCRIBE, true, $marketingList);
     $processed = 0;
     $processDateTime = DateTimeUtil::convertTimestampToDbFormatDateTime(time());
     $autoresponderItem = AutoresponderItemTestHelper::createAutoresponderItem($processed, $processDateTime, $autoresponder, $contact);
     AutoresponderItemsUtil::processDueItem($autoresponderItem);
     $this->assertEquals(1, $autoresponderItem->processed);
     $textContent = $autoresponderItem->emailMessage->content->textContent;
     $htmlContent = $autoresponderItem->emailMessage->content->htmlContent;
     $this->assertNotEquals($autoresponder->textContent, $textContent);
     $this->assertNotEquals($autoresponder->htmlContent, $htmlContent);
     $this->assertTrue(strpos($textContent, 'Plain Text') !== false);
     $this->assertTrue(strpos($textContent, '/marketingLists/external/unsubscribe?hash=') !== false);
     $this->assertEquals(1, substr_count($textContent, '/marketingLists/external/unsubscribe?hash='));
     $this->assertTrue(strpos($textContent, '/marketingLists/external/manageSubscriptions?hash=') !== false);
     $this->assertEquals(1, substr_count($textContent, '/marketingLists/external/manageSubscriptions?hash='));
     $this->assertTrue(strpos($htmlContent, 'HTML<br /><img width="1" height="1" src="localhost') !== false);
     $this->assertTrue(strpos($htmlContent, '/tracking/default/track?id=') !== false);
     $this->assertEquals(1, substr_count($htmlContent, '/tracking/default/track?id='));
     $this->assertTrue(strpos($htmlContent, '/marketingLists/external/unsubscribe?hash=') !== false);
     $this->assertEquals(1, substr_count($htmlContent, '/marketingLists/external/unsubscribe?hash='));
     $this->assertTrue(strpos($htmlContent, '">Unsubscribe</a><br /><a href="localhost') !== false);
     $this->assertEquals(1, substr_count($htmlContent, '">Unsubscribe</a><br /><a href="localhost'));
     $this->assertTrue(strpos($htmlContent, '/marketingLists/external/manageSubscriptions?hash=') !== false);
     $this->assertEquals(1, substr_count($htmlContent, '/marketingLists/external/manageSubscriptions?hash='));
     $this->assertTrue(strpos($htmlContent, '">Manage Subscriptions</a>') !== false);
     $this->assertEquals(1, substr_count($htmlContent, '">Manage Subscriptions</a>'));
 }