public function testProcessDueCampaignItemContactUnsubscribed() { $email = new Email(); $email->emailAddress = '*****@*****.**'; $email->optOut = false; $contact = ContactTestHelper::createContactByNameForOwner('contact 17', $this->user); $contact->primaryEmail = $email; $this->assertTrue($contact->save()); $marketingList = MarketingListTestHelper::createMarketingListByName('marketingList 17', 'description', 'CustomFromName', '*****@*****.**'); MarketingListMemberTestHelper::createMarketingListMember(true, $marketingList, $contact); $campaign = CampaignTestHelper::createCampaign('campaign 17', 'subject 17', 'Dear. Sir', 'Dear. Sir', null, null, null, null, null, null, $marketingList); $processed = 0; $campaignItem = CampaignItemTestHelper::createCampaignItem($processed, $campaign, $contact); CampaignItemsUtil::processDueItem($campaignItem); $this->assertEquals(1, $campaignItem->processed); $personId = $contact->getClassId('Person'); $activities = CampaignItemActivity::getByTypeAndModelIdAndPersonIdAndUrl(CampaignItemActivity::TYPE_SKIP, $campaignItem->id, $personId); $this->assertNotEmpty($activities); $this->assertCount(1, $activities); }
/** * @depends testIsSent */ public function testHasFailedToSend() { $marketingList = MarketingListTestHelper::createMarketingListByName('marketingList 09'); $campaign = CampaignTestHelper::createCampaign('campaign 08', 'subject 08', 'text 08', 'html 08', null, null, null, null, null, null, $marketingList); $this->assertNotNull($campaign); $contact = ContactTestHelper::createContactByNameForOwner('campaignContact 09', Yii::app()->user->userModel); $email = new Email(); $email->emailAddress = '*****@*****.**'; $contact->primaryEmail = $email; $this->assertTrue($contact->save()); $campaignItem = CampaignItemTestHelper::createCampaignItem(0, $campaign, $contact); $this->assertNotNull($campaignItem); $this->assertFalse($campaignItem->hasFailedToSend()); CampaignItemsUtil::processDueItem($campaignItem); $this->assertFalse($campaignItem->hasFailedToSend()); // Folder is outbox at the end of processDueItem and hence it fails $box = EmailBox::resolveAndGetByName(EmailBox::CAMPAIGNS_NAME); $campaignItem->emailMessage->folder = EmailFolder::getByBoxAndType($box, EmailFolder::TYPE_OUTBOX_FAILURE); $this->assertTrue($campaignItem->unrestrictedSave()); $this->assertTrue($campaignItem->hasFailedToSend()); }
protected function processCampaignItemInQueue(CampaignItem $campaignItem) { CampaignItemsUtil::processDueItem($campaignItem); }
protected function processCampaignItemInQueue(CampaignItem $campaignItem) { $util = new CampaignItemsUtil(); $util->processDueItem($campaignItem); }