public function makeAll(&$demoDataHelper) { assert('$demoDataHelper instanceof DemoDataHelper'); assert('$demoDataHelper->isSetRange("Contact")'); assert('$demoDataHelper->isSetRange("Campaign")'); $items = array(); if ($this->loadMagnitude >= 100) { foreach (Campaign::getAll() as $campaign) { foreach ($campaign->marketingList->marketingListMembers as $marketingListMember) { $item = new CampaignItem(); $item->campaign = $campaign; $item->contact = $marketingListMember->contact; $this->populateModel($item); $saved = $item->unrestrictedSave(); assert('$saved'); $items[] = $item->id; } } } else { for ($i = 0; $i < $this->resolveQuantityToLoad(); $i++) { $item = new CampaignItem(); $item->campaign = $demoDataHelper->getRandomByModelName('Campaign'); $item->contact = $demoDataHelper->getRandomByModelName('Contact'); $this->populateModel($item); $saved = $item->unrestrictedSave(); assert('$saved'); $items[] = $item->id; } } $demoDataHelper->setRangeByModelName('CampaignItem', $items[0], $items[count($items) - 1]); }
public function testRunWithoutAnyCampaigns() { $campaigns = Campaign::getAll(); $this->assertEmpty($campaigns); $job = new CampaignMarkCompletedJob(); $this->assertTrue($job->run()); }
public function testRunWithoutAnyCampaigns() { $campaigns = Campaign::getAll(); $this->assertEmpty($campaigns); $job = new CampaignGenerateDueCampaignItemsJob(); $this->assertTrue($job->run()); }
public function teardown() { $marketingLists = MarketingList::getAll(); $this->assertCount(1, $marketingLists); $marketingLists[0]->delete(); $campaigns = Campaign::getAll(); $this->assertCount(1, $campaigns); $campaigns[0]->delete(); parent::teardown(); }
public function setUp() { parent::setUp(); $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; $campaigns = Campaign::getAll(); $contacts = Contact::getByName('test testson'); $this->contact = $contacts[0]; $this->campaignItem = $campaigns[0]->campaignItems[0]; }
public static function populateCampaignItem($processed, $campaign = null, $contact = null) { assert('is_bool($processed)'); assert('is_object($campaign) || $campaign === null'); assert('is_object($contact) || $contact === null'); if (empty($campaign)) { $campaigns = Campaign::getAll(); if (!empty($campaigns)) { $campaign = RandomDataUtil::getRandomValueFromArray($campaigns); } } if (empty($contact)) { $contacts = Contact::getAll(); if (!empty($contacts)) { $contact = RandomDataUtil::getRandomValueFromArray($contacts); } } $campaignItem = new CampaignItem(); $campaignItem->processed = $processed; $campaignItem->campaign = $campaign; $campaignItem->contact = $contact; return $campaignItem; }
protected function purgeAllCampaigns() { $campaigns = Campaign::getAll(); foreach ($campaigns as $campaign) { $campaign->delete(); } }
public function testResolveContactAndMetricsSummary() { //Test with super $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('test testson', $content); //Betty dont have access to contact $betty = User::getByUsername('betty'); Yii::app()->user->userModel = $betty; $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('You cannot see this contact due to limited access', $content); //Giving betty access to contact Yii::app()->user->userModel = User::getByUsername('super'); $this->contact->addPermissions($betty, Permission::READ_WRITE_CHANGE_PERMISSIONS_CHANGE_OWNER); $this->assertTrue($this->contact->save()); AllPermissionsOptimizationUtil::securableItemGivenPermissionsForUser($this->contact, $betty); //Forgetting campaignItem is needed because of commit - aeedffa06467 //Not entirely sure why this is the case though. It only affects tests when securityOptimization is false $this->campaignItem->forgetAll(); $campaigns = Campaign::getAll(); $this->campaignItem = $campaigns[0]->campaignItems[0]; //Betty has now access to contact but not the emailMessage Yii::app()->user->userModel = $betty; $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('You cannot see the performance metrics due to limited access', $content); //Giving betty access to emailMessage Yii::app()->user->userModel = User::getByUsername('super'); $emailMessage = $this->campaignItem->emailMessage; $emailMessage->addPermissions($betty, Permission::READ_WRITE_CHANGE_PERMISSIONS_CHANGE_OWNER); $this->assertTrue($emailMessage->save()); AllPermissionsOptimizationUtil::securableItemGivenPermissionsForUser($emailMessage, $betty); //Betty has now access to contact and emailMessage Yii::app()->user->userModel = $betty; $content = CampaignItemSummaryListViewColumnAdapter::resolveContactAndMetricsSummary($this->campaignItem); $this->assertContains('test testson', $content); }
/** * @depends testRequiredAttributes */ public function testDeleteCampaign() { $campaigns = Campaign::getAll(); $this->assertEquals(4, count($campaigns)); CampaignItemTestHelper::createCampaignItem(0, $campaigns[0]); $campaignItems = CampaignItem::getAll(); $this->assertCount(1, $campaignItems); $campaignItemActivity = new CampaignItemActivity(); $campaignItemActivity->type = CampaignItemActivity::TYPE_CLICK; $campaignItemActivity->quantity = 1; $campaignItemActivity->campaignItem = $campaignItems[0]; $campaignItemActivity->latestSourceIP = '121.212.122.112'; $this->assertTrue($campaignItemActivity->save()); $emailMessage = EmailMessageTestHelper::createOutboxEmail(Yii::app()->user->userModel, 'subject', 'html', 'text', 'from', '*****@*****.**', 'to', '*****@*****.**'); $campaignItems[0]->emailMessage = $emailMessage; $this->assertTrue($campaignItems[0]->unrestrictedSave()); $this->assertEquals(1, CampaignItemActivity::getCount()); $this->assertEquals(1, EmailMessage::getCount()); $campaigns[0]->delete(); $this->assertEquals(3, Campaign::getCount()); $this->assertEquals(0, CampaignItem::getCount()); $this->assertEquals(0, CampaignItemActivity::getCount()); $this->assertEquals(1, EmailMessage::getCount()); }
/** * Return the link to the campaign admin home page for the user * depending whether he has campaigns or not. * * @param WP_User $user * @return string url to list campaigns page or create new campaign page */ function campanha_redirect_to_campaign_home($user = null) { if (!$user) { $user = wp_get_current_user(); } $campaigns = Campaign::getAll($user->ID); if ($campaigns) { return admin_url(CAMPAIGN_LIST_URL); } else { return admin_url(CAMPAIGN_NEW_URL); } }
/** * @depends testSuperUserDeleteAction */ public function testSuperUserCreateFromRelationAction() { $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super'); $campaigns = Campaign::getAll(); $this->assertEquals(2, count($campaigns)); $marketingList = MarketingListTestHelper::createMarketingListByName('my list'); //Create a new campaign from a related marketing list. $this->setGetArray(array('relationAttributeName' => 'marketingList', 'relationModelId' => $marketingList->id, 'relationModuleId' => 'marketingLists', 'redirectUrl' => 'someRedirect')); $this->setPostArray(array('Campaign' => array('name' => 'New Campaign using Create', 'fromName' => 'Zurmo Sales', 'fromAddress' => '*****@*****.**', 'sendOnDateTime' => '6/13/2013 10:54 AM', 'subject' => 'New Campaign using Create Subject', 'enableTracking' => '1', 'supportsRichText' => '0', 'textContent' => 'Text', 'htmlContent' => 'Html'))); $this->runControllerWithRedirectExceptionAndGetContent('campaigns/default/createFromRelation'); $campaigns = Campaign::getByName('New Campaign using Create'); $this->assertEquals(1, count($campaigns)); $this->assertTrue($campaigns[0]->id > 0); $this->assertTrue($campaigns[0]->owner == $super); $this->assertTrue($campaigns[0]->marketingList->id == $marketingList->id); $campaigns = Campaign::getAll(); $this->assertEquals(3, count($campaigns)); }
/** * @depends testRequiredAttributes */ public function testDeleteCampaign() { $campaigns = Campaign::getAll(); $this->assertEquals(2, count($campaigns)); $campaigns[0]->delete(); $campaigns = Campaign::getAll(); $this->assertEquals(1, count($campaigns)); }
/** * @depends testSuperUserEditAction */ public function testSuperUserDeleteAction() { $campaigns = Campaign::getAll(); $this->assertEquals(3, count($campaigns)); $this->setGetArray(array('id' => $campaigns[0]->id)); $this->resetPostArray(); $redirectUrl = $this->runControllerWithRedirectExceptionAndGetUrl('campaigns/default/delete'); $compareRedirectUrl = Yii::app()->createUrl('campaigns/default/index'); $this->assertEquals($redirectUrl, $compareRedirectUrl); $campaigns = Campaign::getAll(); $this->assertEquals(2, count($campaigns)); }