public function testsync() { $data = array('password' => 'topsecret', 'password_confirm' => 'topsecret'); $orderModel = new \Model_ClientOrder(); $orderModel->loadBean(new \RedBeanPHP\OODBBean()); $model = new \Model_ServiceHosting(); $model->loadBean(new \RedBeanPHP\OODBBean()); $serviceMock = $this->getMockBuilder('\\Box\\Mod\\Servicehosting\\Service')->setMethods(array('_getAM'))->getMock(); $accountObj = new \Server_Account(); $accountObj->setUsername('testUser1'); $accountObj->setIp('1.1.1.1'); $accountObj2 = new \Server_Account(); $accountObj2->setUsername('testUser2'); $accountObj2->setIp('2.2.2.2'); $serverManagerMock = $this->getMockBuilder('\\Server_Manager_Custom')->disableOriginalConstructor()->getMock(); $serverManagerMock->expects($this->atLeastOnce())->method('synchronizeAccount')->will($this->returnValue($accountObj2)); $AMresultArray = array($serverManagerMock, $accountObj); $serviceMock->expects($this->atLeastOnce())->method('_getAM')->will($this->returnValue($AMresultArray)); $dbMock = $this->getMockBuilder('\\Box_Database')->getMock(); $dbMock->expects($this->atLeastOnce())->method('store'); $di = new \Box_Di(); $di['db'] = $dbMock; $di['logger'] = new \Box_Log(); $serviceMock->setDi($di); $result = $serviceMock->sync($orderModel, $model, $data); $this->assertTrue($result); }