/** * @depends testCreateAndGetAutoresponderById */ public function testGetByOperationTypeAndMarketingListId() { $marketingList = MarketingListTestHelper::createMarketingListByName('MarketingList Name 01'); AutoresponderTestHelper::createAutoresponder('subject 01', 'text 01', null, 10, Autoresponder::OPERATION_SUBSCRIBE, true, $marketingList); AutoresponderTestHelper::createAutoresponder('subject 02', 'text 02', null, 20, Autoresponder::OPERATION_SUBSCRIBE, false, $marketingList); AutoresponderTestHelper::createAutoresponder('subject 03', 'text 03', null, 30, Autoresponder::OPERATION_UNSUBSCRIBE, true, $marketingList); $autoresponders = Autoresponder::getByOperationTypeAndMarketingListId(Autoresponder::OPERATION_SUBSCRIBE, $marketingList->id); $this->assertCount(2, $autoresponders); $autoresponders = Autoresponder::getByOperationTypeAndMarketingListId(Autoresponder::OPERATION_UNSUBSCRIBE, $marketingList->id); $this->assertCount(1, $autoresponders); }
public static function registerAutoresponderItemsByAutoresponderOperation($operation, $marketingListId, $contact) { $autoresponders = Autoresponder::getByOperationTypeAndMarketingListId($operation, $marketingListId); $now = time(); foreach ($autoresponders as $autoresponder) { $processTimestamp = $now + $autoresponder->secondsFromOperation; $processDateTime = DateTimeUtil::convertTimestampToDbFormatDateTime($processTimestamp); $processed = false; static::addNewItem($processed, $processDateTime, $contact, $autoresponder); } }
/** * @depends testCreateAndGetMarketingListById */ public function testDeleteMarketingList() { $marketingLists = MarketingList::getAll(); $this->assertCount(2, $marketingLists); $marketingListId = $marketingLists[0]->id; MarketingListMemberTestHelper::createMarketingListMember(0, $marketingLists[0]); MarketingListMemberTestHelper::createMarketingListMember(0, $marketingLists[0]); MarketingListMemberTestHelper::createMarketingListMember(0, $marketingLists[1]); MarketingListMemberTestHelper::createMarketingListMember(0, $marketingLists[1]); AutoresponderTestHelper::createAutoresponder('subject 01', 'text content', 'html content', 1, Autoresponder::OPERATION_SUBSCRIBE, true, $marketingLists[0]); AutoresponderTestHelper::createAutoresponder('subject 02', 'text content', 'html content', 1, Autoresponder::OPERATION_SUBSCRIBE, true, $marketingLists[1]); $autoresponders = Autoresponder::getByOperationTypeAndMarketingListId(Autoresponder::OPERATION_SUBSCRIBE, $marketingListId); $this->assertCount(1, $autoresponders); $this->assertEquals(2, Autoresponder::getCount()); $marketingListMembersCount = MarketingListMember::getCountByMarketingListIdAndUnsubscribed($marketingListId, 0); $this->assertEquals(2, $marketingListMembersCount); $marketingLists[0]->forgetAll(); $marketingLists = MarketingList::getAll(); $marketingLists[0]->delete(); $marketingLists = MarketingList::getAll(); $this->assertCount(1, $marketingLists); $autoresponders = Autoresponder::getByOperationTypeAndMarketingListId(Autoresponder::OPERATION_SUBSCRIBE, $marketingListId); $this->assertCount(0, $autoresponders); $this->assertEquals(1, Autoresponder::getCount()); $marketingListMembersCount = MarketingListMember::getCountByMarketingListIdAndUnsubscribed($marketingListId, 0); $this->assertEquals(0, $marketingListMembersCount); $this->assertEquals(2, MarketingListMember::getCount()); }