/** * @depends testDetailsActionForMarketing * @depends testDetailsActionForWorkflow */ public function testDeleteAction() { $initialCount = EmailTemplate::getCount(); $emailTemplateId = self::getModelIdByModelNameAndName('EmailTemplate', 'marketing 01'); // Delete an emailTemplate. $this->setGetArray(array('id' => $emailTemplateId)); $this->resetPostArray(); $redirectUrl = $this->runControllerWithRedirectExceptionAndGetUrl('emailTemplates/default/delete'); $compareRedirectUrl = Yii::app()->createUrl('emailTemplates/default/listForMarketing'); $this->assertEquals($compareRedirectUrl, $redirectUrl); $this->assertEquals($initialCount - 1, EmailTemplate::getCount()); $emailTemplateId = self::getModelIdByModelNameAndName('EmailTemplate', 'workflow 01'); $this->setGetArray(array('id' => $emailTemplateId)); $this->resetPostArray(); $redirectUrl = $this->runControllerWithRedirectExceptionAndGetUrl('emailTemplates/default/delete'); $compareRedirectUrl = Yii::app()->createUrl('emailTemplates/default/listForWorkflow'); $this->assertEquals($compareRedirectUrl, $redirectUrl); $this->assertEquals($initialCount - 2, EmailTemplate::getCount()); }
/** * @depends testCreateAndGetEmailTemplateById */ public function testDummyHtmlContentThrowsValidationErrorWhenTextContentIsEmpty() { $emailTemplate = new EmailTemplate(); $emailTemplate->type = EmailTemplate::TYPE_CONTACT; $emailTemplate->builtType = EmailTemplate::BUILT_TYPE_PASTED_HTML; $emailTemplate->subject = 'Another Test subject'; $emailTemplate->name = 'Another Test Email Template'; $emailTemplate->textContent = ''; $emailTemplate->htmlContent = "<html>\n<head>\n</head>\n<body>\n</body>\n</html>"; $emailTemplate->modelClassName = 'Contact'; $validated = $emailTemplate->validate(null, false, true); $this->assertFalse($validated); $errorMessages = $emailTemplate->getErrors(); $this->assertEquals(1, count($errorMessages)); $this->assertTrue(array_key_exists('textContent', $errorMessages)); $this->assertEquals(1, count($errorMessages['textContent'])); $this->assertEquals('Please provide at least one of the contents field.', $errorMessages['textContent'][0]); $emailTemplate->textContent = 'Text Content'; $validated = $emailTemplate->validate(null, false, true); $this->assertTrue($validated); $this->assertTrue($emailTemplate->save()); $this->assertEquals(6, EmailTemplate::getCount()); $id = $emailTemplate->id; unset($emailTemplate); $emailTemplate = EmailTemplate::getById($id); $this->assertEquals(EmailTemplate::TYPE_CONTACT, $emailTemplate->type); $this->assertEquals('Another Test subject', $emailTemplate->subject); $this->assertEquals('Another Test Email Template', $emailTemplate->name); $this->assertEquals(null, $emailTemplate->htmlContent); $this->assertEquals('Text Content', $emailTemplate->textContent); }