示例#1
0
 /**
  * @depends testCreateAndGetAutoresponderItemById
  */
 public function testGetByProcessed()
 {
     for ($i = 0; $i < 5; $i++) {
         $time = DateTimeUtil::convertTimestampToDbFormatDateTime(strtotime('+1 day'));
         $processed = AutoresponderItem::NOT_PROCESSED;
         if ($i % 2) {
             $processed = AutoresponderItem::PROCESSED;
         }
         $autoresponderItem = new AutoresponderItem();
         $autoresponderItem->processed = $processed;
         $autoresponderItem->processDateTime = $time;
         $this->assertTrue($autoresponderItem->unrestrictedSave());
     }
     $autoresponderItems = AutoresponderItem::getAll();
     $this->assertCount(7, $autoresponderItems);
     $processedItems = AutoresponderItem::getByProcessed(AutoresponderItem::PROCESSED);
     $this->assertCount(3, $processedItems);
     $notProcessedItems = AutoresponderItem::getByProcessed(AutoresponderItem::NOT_PROCESSED);
     $this->assertCount(4, $notProcessedItems);
 }
 /**
  * @depends testRunWithCustomBatchSize
  */
 public function testRunWithContactContainingPrimaryEmailOptedOut()
 {
     $unprocessedItems = AutoresponderItem::getByProcessed(0);
     $this->assertEmpty($unprocessedItems);
     $job = new AutoresponderQueueMessagesInOutboxJob();
     $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', '*****@*****.**');
     MarketingListMemberTestHelper::createMarketingListMember(0, $marketingList, $contact);
     $autoresponder = AutoresponderTestHelper::createAutoresponder('subject 08', '[[FIRST^NAME]]', '[[LAST^NAME]]', 1, Autoresponder::OPERATION_SUBSCRIBE, true, $marketingList);
     $processed = 0;
     $processDateTime = DateTimeUtil::convertTimestampToDbFormatDateTime(time() - rand(10, 500));
     $autoresponderItem = AutoresponderItemTestHelper::createAutoresponderItem($processed, $processDateTime, $autoresponder, $contact);
     $unprocessedItems = AutoresponderItem::getByProcessedAndAutoresponderId(0, $autoresponder->id);
     $this->assertCount(1, $unprocessedItems);
     $this->assertTrue($job->run());
     $unprocessedItems = AutoresponderItem::getByProcessedAndAutoresponderId(0, $autoresponder->id);
     $this->assertCount(0, $unprocessedItems);
     $personId = $contact->getClassId('Person');
     $activities = AutoresponderItemActivity::getByTypeAndModelIdAndPersonIdAndUrl(AutoresponderItemActivity::TYPE_SKIP, $autoresponderItem->id, $personId);
     $this->assertNotEmpty($activities);
     $this->assertCount(1, $activities);
 }