* @copyright Meritoo.pl */ class JsonRpcClientManagerTest extends BaseTestCase { /** * Configuration used while connecting to LimeSurvey's API * * @var ConnectionConfiguration */ private $configuration; public function testConstructorVisibilityAndArguments() { $this->verifyConstructorVisibilityAndArguments(JsonRpcClientManager::class, OopVisibilityType::IS_PUBLIC, 1, 1); } public function testRunMethod() { $rpcClient = $this->createMock(RpcClient::class); $manager = $this ->getMockBuilder(JsonRpcClientManager::class) ->setConstructorArgs([ $this->configuration, ]) ->setMethods([ 'getRpcClient', ]) ->getMock(); $rpcClient ->expects(static::any()) ->method('execute') ->willReturn([]); $manager ->expects(static::any()) ->method('getRpcClient') ->willReturn($rpcClient); /* @var JsonRpcClientManager $manager */ static::assertEquals([], $manager->runMethod(MethodType::LIST_SURVEYS)); } public function testRunMethodWithMockedRpcClient() { $rpcClient = $this->createMock(RpcClient::class); $manager = $this->createPartialMock(JsonRpcClientManager::class, ['getRpcClient']); $rpcClient ->expects(static::any()) ->method('execute') ->willReturn(SurveyTest::getSurveysRawData()); $manager ->expects(static::any()) ->method('getRpcClient') ->willReturn($rpcClient); /* @var JsonRpcClientManager $manager */ static::assertEquals(SurveyTest::getSurveysRawData(), $manager->runMethod(MethodType::LIST_SURVEYS)); } public function testGetRpcClientVisibilityAndArguments() { $this->verifyMethodVisibilityAndArguments(JsonRpcClientManager::class, 'getRpcClient', OopVisibilityType::IS_PROTECTED); } /** * {@inheritdoc} */ protected function setUp() { parent::setUp(); $this->configuration = new ConnectionConfiguration('http://test.com', 'test', 'test'); } }