/**
  * @covers ZurmoSendGridMailer::sendTestEmail
  * @covers ZurmoSendGridMailer::sendEmail
  */
 public function testSendEmail()
 {
     $sendGridEmailAccount = new SendGridEmailAccount();
     $sendGridEmailAccount->apiUsername = static::$apiUsername;
     $sendGridEmailAccount->apiPassword = ZurmoPasswordSecurityUtil::encrypt(static::$apiPassword);
     $from = array('name' => 'Test User', 'address' => '*****@*****.**');
     $emailMessage = EmailMessageHelper::processAndCreateTestEmailMessage($from, static::$testEmailAddress);
     $mailer = new ZurmoSendGridMailer($emailMessage, $sendGridEmailAccount);
     $emailMessage = $mailer->sendTestEmail(true);
     $this->assertEquals('EmailMessage', get_class($emailMessage));
     $this->assertEquals(EmailFolder::TYPE_SENT, $emailMessage->folder->type);
 }
 /**
  * Send Test Message
  * @param SendGridWebApiConfigurationForm $configurationForm
  * @param string $fromNameToSendMessagesFrom
  * @param string $fromAddressToSendMessagesFrom
  */
 public static function sendTestMessage($configurationForm, $fromNameToSendMessagesFrom = null, $fromAddressToSendMessagesFrom = null)
 {
     if ($configurationForm->aTestToAddress != null) {
         $sendGridEmailAccount = new SendGridEmailAccount();
         $sendGridEmailAccount->apiUsername = $configurationForm->username;
         $sendGridEmailAccount->apiPassword = ZurmoPasswordSecurityUtil::encrypt($configurationForm->password);
         $isUser = false;
         if ($fromNameToSendMessagesFrom != null && $fromAddressToSendMessagesFrom != null) {
             $isUser = true;
             $from = array('name' => $fromNameToSendMessagesFrom, 'address' => $fromAddressToSendMessagesFrom);
         } else {
             $user = BaseControlUserConfigUtil::getUserToRunAs();
             $userToSendMessagesFrom = User::getById((int) $user->id);
             $from = array('name' => Yii::app()->emailHelper->resolveFromNameForSystemUser($userToSendMessagesFrom), 'address' => Yii::app()->emailHelper->resolveFromAddressByUser($userToSendMessagesFrom));
         }
         $emailMessage = EmailMessageHelper::processAndCreateTestEmailMessage($from, $configurationForm->aTestToAddress);
         $mailer = new ZurmoSendGridMailer($emailMessage, $sendGridEmailAccount);
         $emailMessage = $mailer->sendTestEmail($isUser);
         $messageContent = EmailHelper::prepareMessageContent($emailMessage);
     } else {
         $messageContent = Zurmo::t('EmailMessagesModule', 'A test email address must be entered before you can send a test email.') . "\n";
     }
     return $messageContent;
 }