public function testupdate() { $data = array('email' => '*****@*****.**', 'admin_group_id' => '1', 'name' => 'testJohn', 'status' => 'active', 'signature' => '1345'); $adminModel = new \Model_Admin(); $adminModel->loadBean(new \RedBeanPHP\OODBBean()); $eventsMock = $this->getMockBuilder('\\Box_EventManager')->getMock(); $eventsMock->expects($this->atLeastOnce())->method('fire'); $logMock = $this->getMockBuilder('\\Box_Log')->getMock(); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('store'); $di = new \Box_Di(); $di['events_manager'] = $eventsMock; $di['logger'] = $logMock; $di['db'] = $dbMock; $di['array_get'] = $di->protect(function (array $array, $key, $default = null) use($di) { return isset($array[$key]) ? $array[$key] : $default; }); $service = new \Box\Mod\Staff\Service(); $service->setDi($di); $result = $service->update($adminModel, $data); $this->assertTrue($result); }