00001 <?php 00002 /********************************************************************************* 00003 * Zurmo is a customer relationship management program developed by 00004 * Zurmo, Inc. Copyright (C) 2017 Zurmo Inc. 00005 * 00006 * Zurmo is free software; you can redistribute it and/or modify it under 00007 * the terms of the GNU Affero General Public License version 3 as published by the 00008 * Free Software Foundation with the addition of the following permission added 00009 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK 00010 * IN WHICH THE COPYRIGHT IS OWNED BY ZURMO, ZURMO DISCLAIMS THE WARRANTY 00011 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. 00012 * 00013 * Zurmo is distributed in the hope that it will be useful, but WITHOUT 00014 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00015 * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more 00016 * details. 00017 * 00018 * You should have received a copy of the GNU Affero General Public License along with 00019 * this program; if not, see http://www.gnu.org/licenses or write to the Free 00020 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00021 * 02110-1301 USA. 00022 * 00023 * You can contact Zurmo, Inc. with a mailing address at 27 North Wacker Drive 00024 * Suite 370 Chicago, IL 60606. or at email address contact@zurmo.com. 00025 * 00026 * The interactive user interfaces in original and modified versions 00027 * of this program must display Appropriate Legal Notices, as required under 00028 * Section 5 of the GNU Affero General Public License version 3. 00029 * 00030 * In accordance with Section 7(b) of the GNU Affero General Public License version 3, 00031 * these Appropriate Legal Notices must retain the display of the Zurmo 00032 * logo and Zurmo copyright notice. If the display of the logo is not reasonably 00033 * feasible for technical reasons, the Appropriate Legal Notices must display the words 00034 * "Copyright Zurmo Inc. 2017. All rights reserved". 00035 ********************************************************************************/ 00036 00037 class TestOutboundEmailJobTest extends ImportBaseTest 00038 { 00039 public static function setUpBeforeClass() 00040 { 00041 parent::setUpBeforeClass(); 00042 SecurityTestHelper::createSuperAdmin(); 00043 UserTestHelper::createBasicUser('billy'); 00044 Yii::app()->emailHelper->outboundType = 'smtp'; 00045 Yii::app()->emailHelper->outboundHost = Yii::app()->params['emailTestAccounts']['userSmtpSettings']['outboundHost']; 00046 Yii::app()->emailHelper->outboundPort = Yii::app()->params['emailTestAccounts']['userSmtpSettings']['outboundPort']; 00047 Yii::app()->emailHelper->outboundUsername = Yii::app()->params['emailTestAccounts']['userSmtpSettings']['outboundUsername']; 00048 Yii::app()->emailHelper->outboundPassword = Yii::app()->params['emailTestAccounts']['userSmtpSettings']['outboundPassword']; 00049 Yii::app()->emailHelper->outboundSecurity = Yii::app()->params['emailTestAccounts']['userSmtpSettings']['outboundSecurity']; 00050 Yii::app()->emailHelper->setOutboundSettings(); 00051 } 00052 00053 public function setUp() 00054 { 00055 parent::setUp(); 00056 if (!EmailMessageTestHelper::isSetEmailAccountsTestConfiguration()) 00057 { 00058 $this->markTestSkipped('Please fix the test email settings'); 00059 } 00060 } 00061 00062 public function testRun() 00063 { 00064 $super = User::getByUsername('super'); 00065 Yii::app()->user->userModel = $super; 00066 00067 $this->assertEquals(0, EmailMessage::getCount()); 00068 $job = new TestOutboundEmailJob(); 00069 $this->assertTrue($job->run()); 00070 $emailMessages = EmailMessage::getAll(); 00071 $this->assertEquals(1, count($emailMessages)); 00072 $this->assertEquals(EmailFolder::TYPE_SENT, $emailMessages[0]->folder->type); 00073 } 00074 } 00075 ?>