/** * @depends testCreateAndGetCampaignItemById */ public function testGetByProcessed() { CampaignItem::deleteAll(); for ($i = 0; $i < 5; $i++) { $processed = 0; if ($i % 2) { $processed = 1; } $campaignItem = new CampaignItem(); $campaignItem->processed = $processed; $this->assertTrue($campaignItem->unrestrictedSave()); } $campaignItems = CampaignItem::getAll(); $this->assertCount(5, $campaignItems); $processedItems = CampaignItem::getByProcessed(1); $this->assertCount(2, $processedItems); $notProcessedItems = CampaignItem::getByProcessed(0); $this->assertCount(3, $notProcessedItems); }
/** * @depends testRunWithCustomBatchSize */ public function testRunWithContactContainingPrimaryEmailOptedOut() { $unprocessedItems = CampaignItem::getByProcessed(0); $this->assertCount(1, $unprocessedItems); $job = new CampaignQueueMessagesInOutboxJob(); $email = new Email(); $email->emailAddress = '*****@*****.**'; $email->optOut = true; $contact = ContactTestHelper::createContactByNameForOwner('contact 07', $this->user); $contact->primaryEmail = $email; $this->assertTrue($contact->save()); $marketingList = MarketingListTestHelper::createMarketingListByName('marketingList 08', 'description goes here', 'fromName', '*****@*****.**'); $campaign = CampaignTestHelper::createCampaign('campaign 08', 'subject', '[[FIRST^NAME]]', '[[LAST^NAME]]', null, null, null, Campaign::STATUS_PROCESSING, null, null, $marketingList); $processed = 0; $campaignItem = CampaignItemTestHelper::createCampaignItem($processed, $campaign, $contact); $unprocessedItems = CampaignItem::getByProcessedAndCampaignId($processed, $campaign->id); $this->assertCount(1, $unprocessedItems); $this->assertTrue($job->run()); $unprocessedItems = CampaignItem::getByProcessedAndCampaignId($processed, $campaign->id); $this->assertCount(0, $unprocessedItems); $personId = $contact->getClassId('Person'); $activities = CampaignItemActivity::getByTypeAndModelIdAndPersonIdAndUrl(CampaignItemActivity::TYPE_SKIP, $campaignItem->id, $personId); $this->assertNotEmpty($activities); $this->assertCount(1, $activities); }