public static function setUpBeforeClass() { parent::setUpBeforeClass(); SecurityTestHelper::createSuperAdmin(); $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; // Setup test data owned by the super user. EmailTemplateTestHelper::createEmailTemplateByName(EmailTemplate::TYPE_WORKFLOW, 'Test Subject', 'Contact', 'Test Name', 'Test HtmlContent', 'Test TextContent'); EmailTemplateTestHelper::createEmailTemplateByName(EmailTemplate::TYPE_CONTACT, 'Test Subject1', 'Contact', 'Test Name1', 'Test HtmlContent1', 'Test TextContent1'); ReadPermissionsOptimizationUtil::rebuild(); }
public static function setUpBeforeClass() { parent::setUpBeforeClass(); SecurityTestHelper::createSuperAdmin(); $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; EmailTemplateTestHelper::create('EmailTemplate 01', 'Subject 01', 'Contact', 'html', 'text'); EmailTemplateTestHelper::create('EmailTemplate 02', 'Subject 02', 'Contact', 'html', 'text'); EmailTemplateTestHelper::create('EmailTemplate 03', 'Subject 03', 'Contact', 'html', 'text'); MarketingListTestHelper::createMarketingListByName('MarketingListName', 'MarketingList Description', 'first', '*****@*****.**'); }
public static function setUpBeforeClass() { parent::setUpBeforeClass(); SecurityTestHelper::createSuperAdmin(); $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; EmailTemplateTestHelper::createEmailTemplateByName(EmailTemplate::TYPE_CONTACT, 'Subject 01', 'Contact', 'EmailTemplate 01', 'html', 'text'); EmailTemplateTestHelper::createEmailTemplateByName(EmailTemplate::TYPE_CONTACT, 'Subject 02', 'Contact', 'EmailTemplate 02', 'html', 'text'); EmailTemplateTestHelper::createEmailTemplateByName(EmailTemplate::TYPE_CONTACT, 'Subject 03', 'Contact', 'EmailTemplate 03', 'html', 'text'); MarketingListTestHelper::createMarketingListByName('MarketingListName', 'MarketingList Description', 'first', '*****@*****.**'); CampaignTestHelper::createCampaign('campaign01', 'campaign subject 01', 'text content for campaign 01', 'html content for campaign 01', 'fromCampaign', '*****@*****.**'); CampaignTestHelper::createCampaign('campaign02', 'campaign subject 02', 'text content for campaign 02', 'html content for campaign 02', 'fromCampaign2', '*****@*****.**'); }
public static function setUpBeforeClass() { parent::setUpBeforeClass(); SecurityTestHelper::createSuperAdmin(); $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; EmailTemplateTestHelper::create('EmailTemplate 01', 'Subject 01', 'Contact', 'Html Content 01', 'Text Content 01'); EmailTemplateTestHelper::create('EmailTemplate 02', 'Subject 02', 'Contact', 'Html Content 02', 'Text Content 02'); EmailTemplateTestHelper::create('EmailTemplate 03', 'Subject 03', 'Contact', 'Html Content 03', 'Text Content 03'); EmailTemplateTestHelper::create('EmailTemplate 04', 'Subject 04', 'Contact', 'Html Content 04', 'Text Content 04'); EmailTemplateTestHelper::create('EmailTemplate 05', 'Subject 05', 'Contact', 'Html Content 05', 'Text Content 05'); $marketingList = MarketingListTestHelper::createMarketingListByName('MarketingListName', 'MarketingList Description'); static::$marketingListId = $marketingList->id; AutoresponderTestHelper::createAutoresponder('Subject 01', 'This is text Content 01', 'This is html Content 01', 10, Autoresponder::OPERATION_SUBSCRIBE, true, $marketingList); AutoresponderTestHelper::createAutoresponder('Subject 02', 'This is text Content 02', 'This is html Content 02', 5, Autoresponder::OPERATION_UNSUBSCRIBE, false, $marketingList); AllPermissionsOptimizationUtil::rebuild(); }
public function testSuperUserAllDefaultControllerActions() { // Test all default controller actions that do not require any POST/GET variables to be passed. // This does not include portlet controller actions. $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default'); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/index'); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/listForWorkflow'); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/listForMarketing'); // Setup test data owned by the super user. EmailTemplateTestHelper::createEmailTemplateByName(EmailTemplate::TYPE_WORKFLOW, 'Test Subject', 'Contact', 'Test Name', 'Test HtmlContent', 'Test TextContent'); EmailTemplateTestHelper::createEmailTemplateByName(EmailTemplate::TYPE_CONTACT, 'Test Subject1', 'Contact', 'Test Name1', 'Test HtmlContent1', 'Test TextContent1'); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default'); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/index'); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/listForWorkflow'); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/listForMarketing'); $this->setGetArray(array('type' => EmailTemplate::TYPE_CONTACT)); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/create'); }
public function testRegularUserAllDefaultControllerActions() { $emailTemplate = EmailTemplateTestHelper::createEmailTemplateByName(EmailTemplate::TYPE_CONTACT, 'Test Subject Regular 01', 'Contact', 'Test Name Regular 01', 'Test HtmlContent Regular 01', 'Test TextContent Regular 01'); $this->runControllerShouldResultInAccessFailureAndGetContent('emailTemplates/default'); $this->runControllerShouldResultInAccessFailureAndGetContent('emailTemplates/default/index'); $this->runControllerShouldResultInAccessFailureAndGetContent('emailTemplates/default/listForMarketing'); $this->runControllerShouldResultInAccessFailureAndGetContent('emailTemplates/default/listForWorkflow'); $this->setGetArray(array('type' => EmailTemplate::TYPE_CONTACT)); $this->runControllerShouldResultInAccessFailureAndGetContent('emailTemplates/default/create'); $this->setGetArray(array('id' => $emailTemplate->id)); $this->runControllerShouldResultInAccessFailureAndGetContent('emailTemplates/default/edit'); $this->runControllerShouldResultInAccessFailureAndGetContent('emailTemplates/default/details'); $this->runControllerShouldResultInAccessFailureAndGetContent('emailTemplates/default/delete'); $this->resetGetArray(); $this->user->setRight('EmailTemplatesModule', EmailTemplatesModule::getAccessRight()); $this->assertTrue($this->user->save()); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default'); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/index'); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/listForMarketing'); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/listForWorkflow'); $this->setGetArray(array('id' => $emailTemplate->id)); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/details'); $this->resetGetArray(); $this->user->setRight('EmailTemplatesModule', EmailTemplatesModule::getCreateRight()); $this->assertTrue($this->user->save()); $this->setGetArray(array('type' => EmailTemplate::TYPE_CONTACT)); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/create'); $this->setGetArray(array('type' => EmailTemplate::TYPE_WORKFLOW)); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/create'); $this->setGetArray(array('id' => $emailTemplate->id)); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/edit'); $this->user->setRight('EmailTemplatesModule', EmailTemplatesModule::getDeleteRight()); $this->assertTrue($this->user->save()); $this->runControllerWithRedirectExceptionAndGetUrl('emailTemplates/default/delete'); $this->setGetArray(array('id' => static::$templateOwnedBySuper->id)); $this->runControllerShouldResultInAccessFailureAndGetContent('emailTemplates/default/edit'); $this->runControllerShouldResultInAccessFailureAndGetContent('emailTemplates/default/details'); $this->runControllerShouldResultInAccessFailureAndGetContent('emailTemplates/default/delete'); }
/** * @depends testDetailsJsonActionForPlainText */ public function testDetailsJsonActionForWorkflow() { $emailTemplate = EmailTemplateTestHelper::create('workflow 01', 'workflow 01', 'Note', 'html', 'text', EmailTemplate::TYPE_WORKFLOW); $emailTemplateDataUtil = new ModelToArrayAdapter($emailTemplate); $emailTemplateDetailsArray = $emailTemplateDataUtil->getData(); $this->assertNotEmpty($emailTemplateDetailsArray); $this->setGetArray(array('id' => $emailTemplate->id, 'renderJson' => true)); // @ to avoid headers already sent error. $content = @$this->runControllerWithExitExceptionAndGetContent('emailTemplates/default/detailsJson'); $emailTemplateDetailsResolvedArray = CJSON::decode($content); $this->assertNotEmpty($emailTemplateDetailsResolvedArray); $this->assertEquals($emailTemplateDetailsArray, $emailTemplateDetailsResolvedArray); }
public function testListForWorkflowAction() { EmailTemplateTestHelper::create('Test Name', 'Test Subject', 'Contact', 'Text HtmlContent', 'Test TextContent', EmailTemplate::TYPE_WORKFLOW); parent::testListForWorkflowAction(); }
public function testUserWithNotReadPermissionForEmailTemplatesModuleStillCanSeePredefinedTemplates() { $this->logoutCurrentUserLoginNewUserAndGetByUsername('super'); $everyone = Group::getByName(Group::EVERYONE_GROUP_NAME); $item = NamedSecurableItem::getByName('EmailTemplatesModule'); $item->addPermissions($everyone, Permission::READ, Permission::DENY); $this->assertTrue($item->save()); ReadPermissionsOptimizationUtil::rebuild(); $this->logoutCurrentUserLoginNewUserAndGetByUsername('nobody'); $emailTemplate2 = EmailTemplateTestHelper::create('Test Name Regular 02', 'Test Subject Regular 02', 'Contact', 'Test HtmlContent Regular 01', 'Test TextContent Regular 01', EmailTemplate::TYPE_CONTACT, 0, EmailTemplate::BUILT_TYPE_BUILDER_TEMPLATE); $this->setGetArray(array('id' => $emailTemplate2->id, 'filterBy' => SelectBaseTemplateElement::FILTER_BY_PREDEFINED_TEMPLATES, 'ajax' => 'BuilderEmailTemplateWizardForm_baseTemplateId_list_view')); $content = @$this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/edit'); $this->assertContains('<div class="summary">Displaying 1-6 of 6 results.</div><ul class="template-list clearfix">', $content); $emailTemplate2->delete(); }
/** * @depends testCreateAndGetEmailTemplateById */ public function testIsPredefinedBuilderTemplate() { $emailTemplate = EmailTemplateTestHelper::populate('task 05', 'subject 01', null, null, 'text', EmailTemplate::TYPE_WORKFLOW, 0, EmailTemplate::BUILT_TYPE_BUILDER_TEMPLATE); $this->assertTrue($emailTemplate->isWorkflowTemplate()); $this->assertTrue($emailTemplate->isBuilderTemplate()); $this->assertTrue($emailTemplate->isPredefinedBuilderTemplate()); $this->assertFalse($emailTemplate->isPlainTextTemplate()); $this->assertFalse($emailTemplate->isPastedHtmlTemplate()); $this->assertFalse($emailTemplate->isContactTemplate()); }