Example #1
0
 public function testget_info()
 {
     $data = array('microsoft');
     $eventMock = $this->getMockBuilder('\\Box_EventManager')->getMock();
     $eventMock->expects($this->atLeastOnce())->method('fire');
     $modelClient = new \Model_Client();
     $modelClient->loadBean(new \RedBeanPHP\OODBBean());
     $clientService = $this->getMockBuilder('\\Box\\Mod\\Client\\Service')->getMock();
     $clientService->expects($this->atLeastOnce())->method('toApiArray')->with($modelClient)->willReturn(array());
     $systemService = $this->getMockBuilder('\\Box\\Mod\\System\\Service')->getMock();
     $systemService->expects($this->atLeastOnce())->method('getVersion')->willReturn(\Box_Version::VERSION);
     $systemService->expects($this->atLeastOnce())->method('getMessages')->willReturn(array());
     $di = new \Box_Di();
     $di['logger'] = new \Box_Log();
     $di['events_manager'] = $eventMock;
     $di['mod_service'] = $di->protect(function ($serviceName) use($clientService, $systemService) {
         if ($serviceName == 'Client') {
             return $clientService;
         }
         if ($serviceName == 'System') {
             return $systemService;
         }
         return -1;
     });
     $di['loggedin_client'] = $modelClient;
     $di['array_get'] = $di->protect(function (array $array, $key, $default = null) use($di) {
         return isset($array[$key]) ? $array[$key] : $default;
     });
     $this->api->setDi($di);
     $result = $this->api->get_info($data);
     $this->assertInternalType('array', $result);
     $this->assertArrayHasKey('version', $result);
     $this->assertArrayHasKey('profile', $result);
     $this->assertArrayHasKey('messages', $result);
 }