/** * @depends testCreateAndGetAutoresponderItemActivityById */ public function testAutoresponderItemActivityStringValue() { $autoresponderItemActivities = AutoresponderItemActivity::getAll(); $this->assertCount(2, $autoresponderItemActivities); $types = AutoresponderItemActivity::getTypesArray(); $type = $types[$autoresponderItemActivities[0]->type]; $expectedStringValue = $autoresponderItemActivities[0]->latestDateTime . ': ' . strval($autoresponderItemActivities[0]->person) . '/' . $type; $this->assertEquals($expectedStringValue, strval($autoresponderItemActivities[0])); }
/** * @depends testCreateAndGetAutoresponderById */ public function testDeleteAutoresponder() { $autoresponders = Autoresponder::getAll(); $this->assertCount(7, $autoresponders); $autoresponderId = $autoresponders[0]->id; $processDateTime = DateTimeUtil::convertTimestampToDbFormatDateTime(time()); $contact = ContactTestHelper::createContactByNameForOwner('autoresponderContact', Yii::app()->user->userModel); $saved = AutoresponderItem::addNewItem(0, $processDateTime, $contact, $autoresponders[0]); $this->assertTrue($saved); $autoresponderItems = AutoresponderItem::getByProcessedAndAutoresponderId(0, $autoresponderId); //print_r($autoresponderItems[0]->id); $this->assertNotEmpty($autoresponderItems); $this->assertCount(1, $autoresponderItems); $autoresponderItemActivity = new AutoresponderItemActivity(); $autoresponderItemActivity->type = AutoresponderItemActivity::TYPE_OPEN; $autoresponderItemActivity->quantity = 10; $autoresponderItemActivity->latestSourceIP = '10.11.12.13'; $autoresponderItemActivity->autoresponderItem = $autoresponderItems[0]; $this->assertTrue($autoresponderItemActivity->save()); //print_r($autoresponderItemActivity->id); $autoresponderItemActivities = AutoresponderItemActivity::getAll(); $this->assertCount(1, $autoresponderItemActivities); $autoresponders[0]->delete(); $autoresponders = Autoresponder::getAll(); $this->assertEquals(6, count($autoresponders)); $autoresponderitems = AutoresponderItem::getByProcessedAndAutoresponderId(0, $autoresponderId); $this->assertEquals(0, count($autoresponderitems)); $autoresponderItemActivities = AutoresponderItemActivity::getAll(); $this->assertCount(0, $autoresponderItemActivities); }
/** * @depends testRunWithOneBounceMessageWithDesiredCustomHeaders */ public function testRunWithTwoBounceMessagesWithDesiredCustomHeaders() { $this->skipTestIfMissingSettings(); $contact = ContactTestHelper::createContactByNameForOwner('contact 02', $this->user); $personId = $contact->getClassId('Person'); $this->assertTrue($contact->save()); $marketingList = MarketingListTestHelper::createMarketingListByName('marketingList 02'); $autoresponder = AutoresponderTestHelper::createAutoresponder('subject 02', 'text content', 'html content', 1, Autoresponder::OPERATION_SUBSCRIBE, true, $marketingList); $processed = 0; $processDateTime = DateTimeUtil::convertTimestampToDbFormatDateTime(time() - 200); $autoresponderItem = AutoresponderItemTestHelper::createAutoresponderItem($processed, $processDateTime, $autoresponder, $contact); $bounce = BounceMessageTestHelper::resolveBounceObject(); $this->assertTrue($bounce->connect()); $headers = array('Return-Path' => $bounce->returnPath, 'zurmoItemId' => $autoresponderItem->id, 'zurmoItemClass' => get_class($autoresponderItem), 'zurmoPersonId' => $personId); $bounceTestEmailAddress = Yii::app()->params['emailTestAccounts']['bounceTestEmailAddress']; Yii::app()->emailHelper->sendRawEmail("1/2 Bounce - Desired Headers " . date(DATE_RFC822), Yii::app()->emailHelper->outboundUsername, $bounceTestEmailAddress, 'Test email body', '<strong>Test</strong> email html body', null, null, null, null, $headers); Yii::app()->emailHelper->sendRawEmail("2/2 Bounce - Desired Headers " . date(DATE_RFC822), Yii::app()->emailHelper->outboundUsername, $bounceTestEmailAddress, 'Test email body', '<strong>Test</strong> email html body', null, null, null, null, $headers); sleep(60); $messages = $bounce->getMessages(); $this->assertEquals(2, count($messages)); for ($i = 0; $i < 2; $i++) { $this->assertEquals("Mail delivery failed: returning message to sender", $messages[$i]->subject); $this->assertContains('Test email body', $messages[$i]->textBody); $this->assertContains('zurmoItemId: ' . $autoresponderItem->id, $messages[$i]->textBody); $this->assertContains('zurmoItemClass: ' . get_class($autoresponderItem), $messages[$i]->textBody); $this->assertContains('zurmoPersonId: ' . $personId, $messages[$i]->textBody); } $job = new EmailBounceJob(); $this->assertTrue($job->run()); $activities = AutoresponderItemActivity::getAll(); $this->assertNotEmpty($activities); $this->assertCount(2, $activities); $activities = AutoresponderItemActivity::getByTypeAndModelIdAndPersonIdAndUrl(AutoresponderItemActivity::TYPE_BOUNCE, $autoresponderItem->id, $personId); $this->assertNotEmpty($activities); $this->assertCount(1, $activities); $this->assertEquals(2, $activities[0]->quantity); $messages = $bounce->getMessages(); $this->assertEquals(0, count($messages)); }
/** * @depends testCreateAndGetAutoresponderItemById */ public function testDeleteAutoresponderItem() { $autoresponderItems = AutoresponderItem::getAll(); $this->assertCount(37, $autoresponderItems); $autoresponderItemActivity = new AutoresponderItemActivity(); $autoresponderItemActivity->type = AutoresponderItemActivity::TYPE_OPEN; $autoresponderItemActivity->quantity = 10; $autoresponderItemActivity->latestSourceIP = '10.11.12.13'; $autoresponderItemActivity->autoresponderItem = $autoresponderItems[0]; $this->assertTrue($autoresponderItemActivity->save()); $autoresponderItemActivities = AutoresponderItemActivity::getAll(); $this->assertCount(1, $autoresponderItemActivities); $autoresponderItems[0]->delete(); $autoresponderItems = AutoresponderItem::getAll(); $this->assertEquals(36, count($autoresponderItems)); $autoresponderItemActivities = AutoresponderItemActivity::getAll(); $this->assertCount(0, $autoresponderItemActivities); }