Merged in bugfix/PMC-909 (pull request #6945)
PMC-909 Approved-by: Julio Cesar Laura Avendaño <contact@julio-laura.com> Approved-by: Mauricio Veliz <mauricio@processmaker.com>
This commit is contained in:
68
tests/unit/workflow/engine/classes/SpoolRunTest.php
Normal file
68
tests/unit/workflow/engine/classes/SpoolRunTest.php
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Faker\Factory;
|
||||||
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
class SpoolRunTest extends TestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Constructor of the class.
|
||||||
|
*/
|
||||||
|
function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if "envelope_cc" and "envelope_bcc" was set correctly in consecutive calls
|
||||||
|
*
|
||||||
|
* @covers SpoolRun::setData()
|
||||||
|
*
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_should_check_if_cc_and_bcc_set_correctly_in_consecutive_calls()
|
||||||
|
{
|
||||||
|
// Initializing Faker instance
|
||||||
|
$faker = Factory::create();
|
||||||
|
|
||||||
|
// Instancing SpoolRun class
|
||||||
|
$spoolRun = new SpoolRun();
|
||||||
|
|
||||||
|
// Set a first set of data
|
||||||
|
$spoolRun->setData(
|
||||||
|
G::generateUniqueID(),
|
||||||
|
$faker->words(3, true),
|
||||||
|
$faker->companyEmail,
|
||||||
|
$faker->freeEmail,
|
||||||
|
$faker->text(),
|
||||||
|
$faker->dateTime()->format('Y-m-d H:i:s'),
|
||||||
|
$faker->companyEmail,
|
||||||
|
$faker->freeEmail
|
||||||
|
);
|
||||||
|
|
||||||
|
// Build the "to", "cc" an "bcc" values
|
||||||
|
$spoolRun->runHandleEnvelopeTo();
|
||||||
|
|
||||||
|
// Set a second set of data
|
||||||
|
$spoolRun->setData(
|
||||||
|
G::generateUniqueID(),
|
||||||
|
$faker->words(3, true),
|
||||||
|
$faker->companyEmail,
|
||||||
|
$faker->freeEmail,
|
||||||
|
$faker->text(),
|
||||||
|
$faker->dateTime()->format('Y-m-d H:i:s'),
|
||||||
|
$faker->companyEmail,
|
||||||
|
$faker->freeEmail
|
||||||
|
);
|
||||||
|
|
||||||
|
// Build the "to", "cc" an "bcc" values
|
||||||
|
$spoolRun->runHandleEnvelopeTo();
|
||||||
|
|
||||||
|
// Get data to check
|
||||||
|
$fileData = $spoolRun->getFileData();
|
||||||
|
|
||||||
|
// Asserts
|
||||||
|
$this->assertCount(1, $fileData['envelope_to']);
|
||||||
|
$this->assertCount(1, $fileData['envelope_cc']);
|
||||||
|
$this->assertCount(1, $fileData['envelope_bcc']);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -91,6 +91,16 @@ class SpoolRun
|
|||||||
$this->appMsgUid = $v;
|
$this->appMsgUid = $v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fileData property
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getFileData()
|
||||||
|
{
|
||||||
|
return $this->fileData;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get all files into spool in a list
|
* get all files into spool in a list
|
||||||
*
|
*
|
||||||
@@ -212,32 +222,52 @@ class SpoolRun
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set email parameters
|
* Set email parameters
|
||||||
*
|
*
|
||||||
* @param string $sAppMsgUid , $sSubject, $sFrom, $sTo, $sBody, $sDate, $sCC, $sBCC, $sTemplate
|
* @param string $appMsgUid
|
||||||
* @return none
|
* @param string $subject
|
||||||
|
* @param string $from
|
||||||
|
* @param string $to
|
||||||
|
* @param string $body
|
||||||
|
* @param string $date
|
||||||
|
* @param string $cc
|
||||||
|
* @param string $bcc
|
||||||
|
* @param string $template
|
||||||
|
* @param array $attachments
|
||||||
|
* @param bool $contentTypeIsHtml
|
||||||
|
* @param string $error
|
||||||
|
*
|
||||||
|
* @see SpoolRun->create()
|
||||||
|
* @see SpoolRun->resendEmails()
|
||||||
*/
|
*/
|
||||||
public function setData($sAppMsgUid, $sSubject, $sFrom, $sTo, $sBody, $sDate = "", $sCC = "", $sBCC = "", $sTemplate = "", $aAttachment = array(), $bContentTypeIsHtml = true, $sError = "")
|
public function setData($appMsgUid, $subject, $from, $to, $body, $date = '', $cc = '', $bcc = '', $template = '', $attachments = [],
|
||||||
|
$contentTypeIsHtml = true, $error = '')
|
||||||
{
|
{
|
||||||
$this->spoolId = $sAppMsgUid;
|
// Fill "fileData" property
|
||||||
$this->fileData['subject'] = $sSubject;
|
$this->spoolId = $appMsgUid;
|
||||||
$this->fileData['from'] = $sFrom;
|
$this->fileData['subject'] = $subject;
|
||||||
$this->fileData['to'] = $sTo;
|
$this->fileData['from'] = $from;
|
||||||
$this->fileData['body'] = $sBody;
|
$this->fileData['to'] = $to;
|
||||||
$this->fileData['date'] = ($sDate != '' ? $sDate : date('Y-m-d H:i:s'));
|
$this->fileData['body'] = $body;
|
||||||
$this->fileData['cc'] = $sCC;
|
$this->fileData['date'] = (!empty($date) ? $date : date('Y-m-d H:i:s'));
|
||||||
$this->fileData['bcc'] = $sBCC;
|
$this->fileData['cc'] = $cc;
|
||||||
$this->fileData['template'] = $sTemplate;
|
$this->fileData['bcc'] = $bcc;
|
||||||
$this->fileData['attachments'] = $aAttachment;
|
$this->fileData['template'] = $template;
|
||||||
$this->fileData['envelope_to'] = array();
|
$this->fileData['attachments'] = $attachments;
|
||||||
$this->fileData["contentTypeIsHtml"] = $bContentTypeIsHtml;
|
$this->fileData["contentTypeIsHtml"] = $contentTypeIsHtml;
|
||||||
$this->fileData["error"] = $sError;
|
$this->fileData["error"] = $error;
|
||||||
|
|
||||||
|
// Initialize some values used internally
|
||||||
|
$this->fileData['envelope_to'] = [];
|
||||||
|
$this->fileData['envelope_cc'] = [];
|
||||||
|
$this->fileData['envelope_bcc'] = [];
|
||||||
|
|
||||||
|
// Domain validation when the email engine is "OpenMail"
|
||||||
if (array_key_exists('MESS_ENGINE', $this->config)) {
|
if (array_key_exists('MESS_ENGINE', $this->config)) {
|
||||||
if ($this->config['MESS_ENGINE'] == 'OPENMAIL') {
|
if ($this->config['MESS_ENGINE'] === 'OPENMAIL') {
|
||||||
if ($this->config['MESS_SERVER'] != '') {
|
if (!empty($this->config['MESS_SERVER'])) {
|
||||||
if (($sAux = @gethostbyaddr($this->config['MESS_SERVER']))) {
|
if (($domain = @gethostbyaddr($this->config['MESS_SERVER']))) {
|
||||||
$this->fileData['domain'] = $sAux;
|
$this->fileData['domain'] = $domain;
|
||||||
} else {
|
} else {
|
||||||
$this->fileData['domain'] = $this->config['MESS_SERVER'];
|
$this->fileData['domain'] = $this->config['MESS_SERVER'];
|
||||||
}
|
}
|
||||||
@@ -818,4 +848,12 @@ class SpoolRun
|
|||||||
|
|
||||||
return $appMsgUid;
|
return $appMsgUid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Run the private method "handleEnvelopeTo", this method was created in order to use in the unit tests
|
||||||
|
*/
|
||||||
|
public function runHandleEnvelopeTo()
|
||||||
|
{
|
||||||
|
$this->handleEnvelopeTo();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user