|
|
|
@ -42,6 +42,11 @@ class EmailSenderHelperTest extends TestCase {
|
|
|
|
|
$this->basicEmailSender = $this->createMock(BasicEmailSender::class);
|
|
|
|
|
$this->mailgunEmailSender = $this->createMock(MailgunEmailSender::class);
|
|
|
|
|
$this->heskSettings = array();
|
|
|
|
|
$this->modsForHeskSettings = array(
|
|
|
|
|
'attachments' => 0,
|
|
|
|
|
'use_mailgun' => 0,
|
|
|
|
|
'html_emails' => 0
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
$this->emailSenderHelper = new EmailSenderHelper($this->emailTemplateParser, $this->basicEmailSender,
|
|
|
|
|
$this->mailgunEmailSender);
|
|
|
|
@ -52,6 +57,7 @@ class EmailSenderHelperTest extends TestCase {
|
|
|
|
|
$templateId = EmailTemplateRetriever::NEW_NOTE;
|
|
|
|
|
$languageCode = 'en';
|
|
|
|
|
$ticket = new Ticket();
|
|
|
|
|
$this->emailTemplateParser->method('getFormattedEmailForLanguage')->willReturn(new ParsedEmailProperties('Subject', 'Message', 'HTML Message'));
|
|
|
|
|
|
|
|
|
|
//-- Assert
|
|
|
|
|
$this->emailTemplateParser->expects($this->once())
|
|
|
|
@ -59,6 +65,62 @@ class EmailSenderHelperTest extends TestCase {
|
|
|
|
|
->with($templateId, $languageCode, $ticket, $this->heskSettings, $this->modsForHeskSettings);
|
|
|
|
|
|
|
|
|
|
//-- Act
|
|
|
|
|
$this->emailSenderHelper->sendEmailForTicket($templateId, $languageCode, $ticket, $this->heskSettings, $this->modsForHeskSettings);
|
|
|
|
|
$this->emailSenderHelper->sendEmailForTicket($templateId, $languageCode, new Addressees(), $ticket, $this->heskSettings, $this->modsForHeskSettings);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testItSendsTheEmailThroughTheMailgunEmailSender() {
|
|
|
|
|
//-- Arrange
|
|
|
|
|
$addressees = new Addressees();
|
|
|
|
|
$addressees->to = ['to@email'];
|
|
|
|
|
$addressees->cc = ['cc1', 'cc2'];
|
|
|
|
|
$addressees->bcc = ['bcc1', 'bcc2'];
|
|
|
|
|
$this->modsForHeskSettings['use_mailgun'] = 1;
|
|
|
|
|
$this->modsForHeskSettings['html_emails'] = true;
|
|
|
|
|
|
|
|
|
|
$expectedEmailBuilder = new EmailBuilder();
|
|
|
|
|
$expectedEmailBuilder->to = $addressees->to;
|
|
|
|
|
$expectedEmailBuilder->cc = $addressees->cc;
|
|
|
|
|
$expectedEmailBuilder->bcc = $addressees->bcc;
|
|
|
|
|
$expectedEmailBuilder->subject = 'Subject';
|
|
|
|
|
$expectedEmailBuilder->message = 'Message';
|
|
|
|
|
$expectedEmailBuilder->htmlMessage = 'HTML Message';
|
|
|
|
|
|
|
|
|
|
$this->emailTemplateParser->method('getFormattedEmailForLanguage')->willReturn(new ParsedEmailProperties('Subject', 'Message', 'HTML Message'));
|
|
|
|
|
|
|
|
|
|
//-- Assert
|
|
|
|
|
$this->mailgunEmailSender->expects($this->once())
|
|
|
|
|
->method('sendEmail')
|
|
|
|
|
->with($expectedEmailBuilder, $this->heskSettings, $this->modsForHeskSettings, true);
|
|
|
|
|
|
|
|
|
|
//-- Act
|
|
|
|
|
$this->emailSenderHelper->sendEmailForTicket(EmailTemplateRetriever::NEW_NOTE, 'en', $addressees, new Ticket(), $this->heskSettings, $this->modsForHeskSettings);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testItSendsTheEmailThroughTheBasicEmailSender() {
|
|
|
|
|
//-- Arrange
|
|
|
|
|
$addressees = new Addressees();
|
|
|
|
|
$addressees->to = ['to@email'];
|
|
|
|
|
$addressees->cc = ['cc1', 'cc2'];
|
|
|
|
|
$addressees->bcc = ['bcc1', 'bcc2'];
|
|
|
|
|
$this->modsForHeskSettings['use_mailgun'] = 0;
|
|
|
|
|
$this->modsForHeskSettings['html_emails'] = true;
|
|
|
|
|
|
|
|
|
|
$expectedEmailBuilder = new EmailBuilder();
|
|
|
|
|
$expectedEmailBuilder->to = $addressees->to;
|
|
|
|
|
$expectedEmailBuilder->cc = $addressees->cc;
|
|
|
|
|
$expectedEmailBuilder->bcc = $addressees->bcc;
|
|
|
|
|
$expectedEmailBuilder->subject = 'Subject';
|
|
|
|
|
$expectedEmailBuilder->message = 'Message';
|
|
|
|
|
$expectedEmailBuilder->htmlMessage = 'HTML Message';
|
|
|
|
|
|
|
|
|
|
$this->emailTemplateParser->method('getFormattedEmailForLanguage')->willReturn(new ParsedEmailProperties('Subject', 'Message', 'HTML Message'));
|
|
|
|
|
|
|
|
|
|
//-- Assert
|
|
|
|
|
$this->basicEmailSender->expects($this->once())
|
|
|
|
|
->method('sendEmail')
|
|
|
|
|
->with($expectedEmailBuilder, $this->heskSettings, $this->modsForHeskSettings, true);
|
|
|
|
|
|
|
|
|
|
//-- Act
|
|
|
|
|
$this->emailSenderHelper->sendEmailForTicket(EmailTemplateRetriever::NEW_NOTE, 'en', $addressees, new Ticket(), $this->heskSettings, $this->modsForHeskSettings);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|