Пример #1
0
 public function testonAfterGuestPublicTicketClose()
 {
     $eventMock = $this->getMockBuilder('\\Box_Event')->disableOriginalConstructor()->getMock();
     $supportServiceMock = $this->getMockBuilder('\\Box\\Mod\\Support\\Service')->getMock();
     $supportServiceMock->expects($this->atLeastOnce())->method('publicToApiArray')->will($this->returnValue(array()));
     $emailServiceMock = $this->getMockBuilder('\\Box\\Mod\\Email\\Service')->getMock();
     $emailServiceMock->expects($this->atLeastOnce())->method('sendTemplate')->willThrowException(new \Exception('PHPunit controlled Exception'));
     $eventMock->expects($this->atLeastOnce())->method('getparameters');
     $dbMock = $this->getMockBuilder('\\Box_Database')->getMock();
     $dbMock->expects($this->atLeastOnce())->method('load')->will($this->returnValue(new \Model_SupportPTicket()));
     $service = new \Box\Mod\Staff\Service();
     $di = new \Box_Di();
     $di['mod_service'] = $di->protect(function ($name) use($supportServiceMock, $emailServiceMock) {
         if ($name == 'Support') {
             return $supportServiceMock;
         }
         if ($name == 'Email') {
             return $emailServiceMock;
         }
     });
     $di['db'] = $dbMock;
     $eventMock->expects($this->atLeastOnce())->method('getDi')->will($this->returnValue($di));
     $service->setDi($di);
     $service->onAfterGuestPublicTicketClose($eventMock);
 }