public function testsendMail() { $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $queueEmail = new \Model_ModEmailQueue(); $queueEmail->loadBean(new \RedBeanPHP\OODBBean()); $dbMock->expects($this->atLeastOnce())->method('dispense')->with('ModEmailQueue')->willReturn($queueEmail); $dbMock->expects($this->atLeastOnce())->method('store'); $licenseMock = $this->getMockBuilder('\\Box_License')->getMock(); $licenseMock->expects($this->atLeastOnce())->method('isPro')->will($this->returnValue(false)); $modMock = $this->getMockBuilder('\\Box_Mod')->disableOriginalConstructor()->getMock(); $modMock->expects($this->atLeastOnce())->method('getConfig')->will($this->returnValue(array('cancel_after' => 1))); $mailMock = $this->getMockBuilder('\\Box_Mail')->disableOriginalConstructor()->getMock(); $di = new \Box_Di(); $di['db'] = $dbMock; $di['mail'] = $mailMock; $di['logger'] = $this->getMockBuilder('Box_Log')->getMock(); $di['mod'] = $di->protect(function () use($modMock) { return $modMock; }); $di['license'] = $licenseMock; $di['array_get'] = $di->protect(function (array $array, $key, $default = null) use($di) { return isset($array[$key]) ? $array[$key] : $default; }); $service = new \Box\Mod\Email\Service(); $service->setDi($di); $to = '*****@*****.**'; $from = '*****@*****.**'; $subject = 'Important message'; $content = 'content'; $result = $service->sendMail($to, $from, $subject, $content); $this->assertTrue($result); }