public function testadminCreateClient() { $clientModel = new \Model_Client(); $clientModel->loadBean(new \RedBeanPHP\OODBBean()); $clientModel->id = 1; $data = array('password' => uniqid(), 'email' => '*****@*****.**', 'first_name' => 'test'); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('dispense')->will($this->returnValue($clientModel)); $dbMock->expects($this->atLeastOnce())->method('store'); $eventManagerMock = $this->getMockBuilder('\\Box_EventManager')->getMock(); $eventManagerMock->expects($this->exactly(2))->method('fire'); $passwordMock = $this->getMockBuilder('\\Box_Password')->getMock(); $passwordMock->expects($this->atLeastOnce())->method('hashIt')->with($data['password']); $di = new \Box_Di(); $di['db'] = $dbMock; $di['events_manager'] = $eventManagerMock; $di['logger'] = new \Box_Log(); $di['password'] = $passwordMock; $di['array_get'] = $di->protect(function (array $array, $key, $default = null) use($di) { return isset($array[$key]) ? $array[$key] : $default; }); $service = new \Box\Mod\Client\Service(); $service->setDi($di); $result = $service->adminCreateClient($data); $this->assertInternalType('int', $result); }