public function testResetTemplateByCode() { $service = new \Box\Mod\Email\Service(); $templateModel = new \Model_EmailTemplate(); $templateModel->loadBean(new \RedBeanPHP\OODBBean()); $templateModel->id = rand(1, 100); $templateModel->action_code = 'mod_email_test'; $db = $this->getMockBuilder('Box_Database')->getMock(); $db->expects($this->atLeastOnce())->method('findOne')->will($this->returnValue($templateModel)); $cryptMock = $this->getMockBuilder('\\Box_Crypt')->getMock(); $cryptMock->expects($this->atLeastOnce())->method('decrypt'); $toolsMock = $this->getMockBuilder('\\Box_Tools')->getMock(); $toolsMock->expects($this->atLeastOnce())->method('decodeJ')->will($this->returnValue(array())); $twigMock = $this->getMockBuilder('\\Twig_Environment')->disableOriginalConstructor()->getMock(); $twigMock->expects($this->atLeastOnce())->method('render'); $di = new \Box_Di(); $di['db'] = $db; $di['logger'] = $this->getMockBuilder('Box_Log')->getMock(); $di['tools'] = $toolsMock; $di['crypt'] = $cryptMock; $di['twig'] = $twigMock; $di['array_get'] = $di->protect(function (array $array, $key, $default = null) use($di) { return isset($array[$key]) ? $array[$key] : $default; }); $service->setDi($di); $result = $service->resetTemplateByCode('mod_email_test'); $this->assertTrue($result); }
public function testTemplate_update() { $adminApi = new \Box\Mod\Email\Api\Admin(); $id = rand(1, 100); $data = array('id' => $id, 'enabled' => '1', 'category' => 'Category', 'action_code' => 'Action_code', 'category' => '', 'subject' => 'Subject', 'content' => 'Content'); $emailTemplateModel = new \Model_EmailTemplate(); $emailTemplateModel->loadBean(new \RedBeanPHP\OODBBean()); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('getExistingModelById')->will($this->returnValue($emailTemplateModel)); $validatorMock = $this->getMockBuilder('\\Box_Validate')->getMock(); $validatorMock->expects($this->atLeastOnce())->method('checkRequiredParamsForArray'); $di = new \Box_Di(); $di['db'] = $dbMock; $di['validator'] = $validatorMock; $di['array_get'] = $di->protect(function (array $array, $key, $default = null) use($di) { return isset($array[$key]) ? $array[$key] : $default; }); $emailService = $this->getMockBuilder('Box\\Mod\\Email\\Service')->setMethods(array('updateTemplate'))->getMock(); $emailService->expects($this->atLeastOnce())->method('updateTemplate')->with($emailTemplateModel, $data['enabled'], $data['category'], $data['subject'], $data['content'])->will($this->returnValue(true)); $adminApi->setService($emailService); $adminApi->setDi($di); $result = $adminApi->template_update($data); $this->assertEquals($result, true); }