protected function processAutoresponderItemInQueue(AutoresponderItem $autoresponderItem)
 {
     AutoresponderItemsUtil::processDueAutoresponderItem($autoresponderItem);
 }
 /**
  * @depends testProcessDueAutoresponderItemWithCustomFromAddressAndFromName
  */
 public function testProcessDueAutoresponderItemWithValidMergeTags()
 {
     $email = new Email();
     $email->emailAddress = '*****@*****.**';
     $contact = ContactTestHelper::createContactByNameForOwner('contact 05', $this->user);
     $contact->primaryEmail = $email;
     $this->assertTrue($contact->save());
     $marketingList = MarketingListTestHelper::createMarketingListByName('marketingList 05', 'description', 'CustomFromName', '*****@*****.**');
     $autoresponder = AutoresponderTestHelper::createAutoresponder('autoresponder 05', 'subject 05', 'Dr. [[FIRST^NAME]] [[LAST^NAME]]', '<b>[[LAST^NAME]]</b>, [[FIRST^NAME]]', 1, Autoresponder::OPERATION_SUBSCRIBE, $marketingList);
     $processed = AutoresponderItem::NOT_PROCESSED;
     $processDateTime = DateTimeUtil::convertTimestampToDbFormatDateTime(time());
     $autoresponderItem = AutoresponderItemTestHelper::createAutoresponderItem($processed, $processDateTime, $autoresponder, $contact);
     AutoresponderItemsUtil::processDueAutoresponderItem($autoresponderItem);
     $this->assertEquals(AutoresponderItem::PROCESSED, $autoresponderItem->processed);
     $emailMessage = $autoresponderItem->emailMessage;
     $this->assertEquals($marketingList->owner, $emailMessage->owner);
     $this->assertEquals($autoresponder->subject, $emailMessage->subject);
     $this->assertNotEquals($autoresponder->textContent, $emailMessage->content->textContent);
     $this->assertNotEquals($autoresponder->htmlContent, $emailMessage->content->htmlContent);
     $this->assertEquals('Dr. contact 05 contact 05son', $emailMessage->content->textContent);
     $this->assertEquals('<b>contact 05son</b>, contact 05', $emailMessage->content->htmlContent);
     $this->assertEquals($marketingList->fromAddress, $emailMessage->sender->fromAddress);
     $this->assertEquals($marketingList->fromName, $emailMessage->sender->fromName);
     $this->assertEquals(1, $emailMessage->recipients->count());
     $recipients = $emailMessage->recipients;
     $this->assertEquals(strval($contact), $recipients[0]->toName);
     $this->assertEquals($email->emailAddress, $recipients[0]->toAddress);
     $this->assertEquals(EmailMessageRecipient::TYPE_TO, $recipients[0]->type);
     $this->assertEquals($contact, $recipients[0]->personOrAccount);
 }