/** * @depends testGetByProcessed */ public function testGetByProcessedAndSendOnDateTime() { CampaignItem::deleteAll(); $marketingList = MarketingListTestHelper::createMarketingListByName('marketingList 01'); $this->assertNotNull($marketingList); $campaignToday = CampaignTestHelper::createCampaign('campaign Today', 'subject Today', 'text Today', 'html Today', null, null, null, null, null, null, $marketingList); $this->assertNotNull($campaignToday); $tenDaysFromNowTimestamp = time() + 60 * 60 * 24 * 10; $tenDaysFromNowDateTime = DateTimeUtil::convertTimestampToDbFormatDateTime($tenDaysFromNowTimestamp); $campaignTenDaysFromNow = CampaignTestHelper::createCampaign('campaign Ten Days', 'subject Ten Days', 'text Ten Days', 'html Ten Days', null, null, null, null, $tenDaysFromNowDateTime, null, $marketingList); $this->assertNotNull($campaignTenDaysFromNow); for ($i = 0; $i < 10; $i++) { $contact = ContactTestHelper::createContactByNameForOwner('contact ' . $i, Yii::app()->user->userModel); $this->assertNotNull($contact); if ($i % 3) { $processed = 1; } else { $processed = 0; } if ($i % 2) { $campaign = $campaignToday; } else { $campaign = $campaignTenDaysFromNow; } $campaignItem = CampaignItemTestHelper::createCampaignItem($processed, $campaign); $this->assertNotNull($campaignItem); } $tenDaysFromNowTimestamp += 100; // incrementing it a bit so the records we just created show up. $campaignItems = CampaignItem::getAll(); $this->assertNotEmpty($campaignItems); $this->assertCount(10, $campaignItems); $campaignTodayProcessed = CampaignItem::getByProcessedAndSendOnDateTime(1); $this->assertNotEmpty($campaignTodayProcessed); $this->assertCount(3, $campaignTodayProcessed); $campaignTodayNotProcessed = CampaignItem::getByProcessedAndSendOnDateTime(0); $this->assertNotEmpty($campaignTodayNotProcessed); $this->assertCount(2, $campaignTodayNotProcessed); $campaignTenDaysFromNowProcessed = CampaignItem::getByProcessedAndSendOnDateTime(1, $tenDaysFromNowTimestamp); $this->assertNotEmpty($campaignTenDaysFromNowProcessed); $this->assertCount(6, $campaignTenDaysFromNowProcessed); $campaignTenDaysFromNowNotProcessed = CampaignItem::getByProcessedAndSendOnDateTime(0, $tenDaysFromNowTimestamp); $this->assertNotEmpty($campaignTenDaysFromNowNotProcessed); $this->assertCount(4, $campaignTenDaysFromNowNotProcessed); }