/**
  * @depends testProcessDueAutoresponderItemThrowsExceptionWhenNoContactIsAvailable
  * @expectedException NotSupportedException
  * @expectedExceptionMessage Provided content contains few invalid merge tags
  */
 public function testProcessDueAutoresponderItemThrowsExceptionWhenContentHasInvalidMergeTags()
 {
     $contact = ContactTestHelper::createContactByNameForOwner('contact 01', $this->user);
     $marketingList = MarketingListTestHelper::populateMarketingListByName('marketingList 01');
     $autoresponder = AutoresponderTestHelper::createAutoresponder('subject 01', '[[TEXT^CONTENT]]', '[[HTML^CONTENT]]', 1, Autoresponder::OPERATION_SUBSCRIBE, true, $marketingList, false);
     $processed = 0;
     $processDateTime = DateTimeUtil::convertTimestampToDbFormatDateTime(time());
     $autoresponderItem = AutoresponderItemTestHelper::createAutoresponderItem($processed, $processDateTime, $autoresponder, $contact);
     $this->processDueItem($autoresponderItem);
 }
Пример #2
0
 /**
  * @depends testMarkProcessedCampaignsAsCompleted
  */
 public function testMarkProcessedCampaignsAsCompletedWithCustomPageSize()
 {
     Campaign::deleteAll();
     $contact = ContactTestHelper::createContactByNameForOwner('contact 02', $this->user);
     $marketingList = MarketingListTestHelper::populateMarketingListByName('marketingList 02');
     $campaign01 = CampaignTestHelper::createCampaign('campaign 01', 'subject', 'text Content', 'Html Content', null, null, null, Campaign::STATUS_PROCESSING, null, null, $marketingList);
     $this->assertNotNull($campaign01);
     $campaign01Id = $campaign01->id;
     CampaignItemTestHelper::createCampaignItem(1, $campaign01, $contact);
     $campaign02 = CampaignTestHelper::createCampaign('campaign 02', 'subject', 'text Content', 'Html Content', null, null, null, Campaign::STATUS_PROCESSING, null, null, $marketingList);
     $this->assertNotNull($campaign02);
     $campaign02Id = $campaign02->id;
     CampaignItemTestHelper::createCampaignItem(1, $campaign02, $contact);
     $campaign03 = CampaignTestHelper::createCampaign('campaign 03', 'subject', 'text Content', 'Html Content', null, null, null, Campaign::STATUS_PROCESSING, null, null, $marketingList);
     $this->assertNotNull($campaign03);
     $campaign03Id = $campaign03->id;
     $campaign01->forgetAll();
     $campaign02->forgetAll();
     $campaign03->forgetAll();
     Yii::app()->jobQueue->deleteAll();
     $jobs = Yii::app()->jobQueue->getAll();
     $this->assertCount(0, $jobs);
     $this->assertTrue(CampaignsUtil::markProcessedCampaignsAsCompleted(1));
     $jobs = Yii::app()->jobQueue->getAll();
     $this->assertCount(1, $jobs);
     $this->assertEquals('CampaignMarkCompleted', $jobs[5][0]['jobType']);
     $campaign01 = Campaign::getById($campaign01Id);
     $this->assertNotNull($campaign01);
     $this->assertEquals(Campaign::STATUS_COMPLETED, $campaign01->status);
     $campaign02 = Campaign::getById($campaign02Id);
     $this->assertNotNull($campaign02);
     $this->assertEquals(Campaign::STATUS_PROCESSING, $campaign02->status);
     $campaign03 = Campaign::getById($campaign03Id);
     $this->assertNotNull($campaign03);
     $this->assertEquals(Campaign::STATUS_PROCESSING, $campaign03->status);
     $campaign01->forgetAll();
     $campaign02->forgetAll();
     $campaign03->forgetAll();
     Yii::app()->jobQueue->deleteAll();
     $jobs = Yii::app()->jobQueue->getAll();
     $this->assertCount(0, $jobs);
     $this->assertTrue(CampaignsUtil::markProcessedCampaignsAsCompleted());
     $jobs = Yii::app()->jobQueue->getAll();
     $this->assertCount(0, $jobs);
     $campaign01 = Campaign::getById($campaign01Id);
     $this->assertNotNull($campaign01);
     $this->assertEquals(Campaign::STATUS_COMPLETED, $campaign01->status);
     $campaign02 = Campaign::getById($campaign02Id);
     $this->assertNotNull($campaign02);
     $this->assertEquals(Campaign::STATUS_COMPLETED, $campaign02->status);
     $campaign03 = Campaign::getById($campaign03Id);
     $this->assertNotNull($campaign03);
     $this->assertEquals(Campaign::STATUS_COMPLETED, $campaign03->status);
 }
 /**
  * @depends testRunWithCampaignWithProcessingStatusAndProcessedItems
  */
 public function testRunWithCustomBatchSize()
 {
     Campaign::deleteAll();
     $contact = ContactTestHelper::createContactByNameForOwner('contact 03', $this->user);
     $marketingList = MarketingListTestHelper::populateMarketingListByName('marketingList 04');
     $campaign01 = CampaignTestHelper::createCampaign('campaign 01', 'subject', 'text Content', 'Html Content', null, null, null, Campaign::STATUS_PROCESSING, null, null, $marketingList);
     $this->assertNotNull($campaign01);
     $campaign01Id = $campaign01->id;
     CampaignItemTestHelper::createCampaignItem(1, $campaign01, $contact);
     $campaign02 = CampaignTestHelper::createCampaign('campaign 02', 'subject', 'text Content', 'Html Content', null, null, null, Campaign::STATUS_PROCESSING, null, null, $marketingList);
     $this->assertNotNull($campaign02);
     $campaign02Id = $campaign02->id;
     CampaignItemTestHelper::createCampaignItem(1, $campaign02, $contact);
     $campaign03 = CampaignTestHelper::createCampaign('campaign 03', 'subject', 'text Content', 'Html Content', null, null, null, Campaign::STATUS_PROCESSING, null, null, $marketingList);
     $this->assertNotNull($campaign03);
     $campaign03Id = $campaign03->id;
     $campaign01->forgetAll();
     $campaign02->forgetAll();
     $campaign03->forgetAll();
     $job = new CampaignMarkCompletedJob();
     AutoresponderOrCampaignBatchSizeConfigUtil::setBatchSize(1);
     $this->assertTrue($job->run());
     $campaign01 = Campaign::getById($campaign01Id);
     $this->assertNotNull($campaign01);
     $this->assertEquals(Campaign::STATUS_COMPLETED, $campaign01->status);
     $campaign02 = Campaign::getById($campaign02Id);
     $this->assertNotNull($campaign02);
     $this->assertEquals(Campaign::STATUS_PROCESSING, $campaign02->status);
     $campaign03 = Campaign::getById($campaign03Id);
     $this->assertNotNull($campaign03);
     $this->assertEquals(Campaign::STATUS_PROCESSING, $campaign03->status);
     $campaign01->forgetAll();
     $campaign02->forgetAll();
     $campaign03->forgetAll();
     AutoresponderOrCampaignBatchSizeConfigUtil::setBatchSize(null);
     $this->assertTrue($job->run());
     $campaign01 = Campaign::getById($campaign01Id);
     $this->assertNotNull($campaign01);
     $this->assertEquals(Campaign::STATUS_COMPLETED, $campaign01->status);
     $campaign02 = Campaign::getById($campaign02Id);
     $this->assertNotNull($campaign02);
     $this->assertEquals(Campaign::STATUS_COMPLETED, $campaign02->status);
     $campaign03 = Campaign::getById($campaign03Id);
     $this->assertNotNull($campaign03);
     $this->assertEquals(Campaign::STATUS_COMPLETED, $campaign03->status);
 }
Пример #4
0
 /**
  * @depends testProcessDueCampaignItemThrowsExceptionWhenNoContactIsAvailable
  * @expectedException NotSupportedException
  * @expectedExceptionMessage Provided content contains few invalid merge tags
  */
 public function testProcessDueCampaignItemThrowsExceptionWhenContentHasInvalidMergeTags()
 {
     $contact = ContactTestHelper::createContactByNameForOwner('contact 01', $this->user);
     $marketingList = MarketingListTestHelper::populateMarketingListByName('marketingList 01');
     $campaign = CampaignTestHelper::createCampaign('campaign 01', 'subject 01', '[[TEXT^CONTENT]]', '[[HTML^CONTENT]]', null, null, null, null, null, null, $marketingList, false);
     $processed = 0;
     $campaignItem = CampaignItemTestHelper::createCampaignItem($processed, $campaign, $contact);
     CampaignItemsUtil::processDueItem($campaignItem);
 }
 /**
  * @depends testRunWithNonDueActiveCampaigns
  */
 public function testRunWithDueActiveCampaignsWithNonMembers()
 {
     $marketingList = MarketingListTestHelper::populateMarketingListByName('marketingList 03');
     CampaignTestHelper::createCampaign('Active, Due But No Members', 'subject', 'text Content', 'Html Content', null, null, null, Campaign::STATUS_ACTIVE, null, null, $marketingList);
     $this->assertEmpty(CampaignItem::getAll());
     $job = new CampaignGenerateDueCampaignItemsJob();
     $this->assertTrue($job->run());
     $this->assertEmpty(CampaignItem::getAll());
 }