17 import(
'lib.pkp.tests.PKPTestCase');
18 import(
'lib.pkp.classes.scheduledTask.ScheduledTask');
33 $expectedSubject = __(SCHEDULED_TASK_MESSAGE_TYPE_ERROR);
34 $this->_setReportErrorOnly(
'On');
35 $expectedTestResult =
null;
37 $helper = $this->_getHelper($expectedSubject, $message);
40 $actualResult = $helper->notifyExecutionResult($taskId, $taskName, $taskResult, $message);
41 $this->assertEquals($expectedTestResult, $actualResult);
44 $this->_setReportErrorOnly(
'Off');
45 $actualResult = $helper->notifyExecutionResult($taskId, $taskName, $taskResult, $message);
46 $this->assertEquals($expectedTestResult, $actualResult);
60 $expectedSubject = __(SCHEDULED_TASK_MESSAGE_TYPE_COMPLETED);
61 $this->_setReportErrorOnly(
'On');
62 $expectedTestResult =
false;
64 $helper = $this->_getHelper($expectedSubject, $message);
67 $actualResult = $helper->notifyExecutionResult($taskId, $taskName, $taskResult, $message);
68 $this->assertEquals($expectedTestResult, $actualResult);
71 $this->_setReportErrorOnly(
'Off');
72 $expectedTestResult =
null;
73 $actualResult = $helper->notifyExecutionResult($taskId, $taskName, $taskResult, $message);
74 $this->assertEquals($expectedTestResult, $actualResult);
82 return array(array(
'someTaskId',
'TaskName',
'Any message'));
95 private function _getHelper($expectedSubject, $message) {
96 $helperMock = $this->getMockBuilder(ScheduledTaskHelper::class)
97 ->setMethods(array(
'getMail',
'getMessage'))
98 ->setConstructorArgs(array(
'some@email.com',
'Contact name'))
100 $helperMock->expects($this->any())
101 ->method(
'getMessage')
102 ->will($this->returnValue($message));
105 import(
'lib.pkp.classes.mail.Mail');
106 $mailMock = $this->getMockBuilder(Mail::class)
107 ->setMethods(array(
'send',
'setBody',
'setSubject'))
110 $mailMock->expects($this->any())
113 $mailMock->expects($this->any())
115 ->with($this->equalTo($message));
117 $mailMock->expects($this->any())
118 ->method(
'setSubject')
119 ->with($this->stringContains($expectedSubject));
122 $helperMock->expects($this->any())
124 ->will($this->returnValue($mailMock));
133 private function _setReportErrorOnly($state) {
135 $configData[
'general'][
'scheduled_tasks_report_error_only'] = $state;