function it_should_callback(ClientInterface $mockedClient, RequestInterface $mockedRequest, ResponseInterface $tokenResponse, ResponseInterface $versionResponse, SessionInterface $mockedSession) { $mockedClient->post('https://login.salesforce.com/services/oauth2/token', Argument::type('array'))->shouldBeCalled(1)->willReturn($tokenResponse); $mockedClient->send(Argument::any())->shouldBeCalled(1)->willReturn($versionResponse); $mockedClient->createRequest(Argument::any(), Argument::any(), Argument::any())->willReturn($mockedRequest); $tokenResponse->json()->shouldBeCalled(1)->willReturn(array('access_token' => 'value1', 'refresh_token' => 'value2')); $versionResponse->json()->shouldBeCalled()->willReturn([['version' => '30.0'], ['version' => '31.0']]); $mockedSession->putToken(Argument::type('array'))->shouldBeCalled(); $mockedSession->putRefreshToken(Argument::exact('value2'))->shouldBeCalled(); $mockedSession->put(Argument::type('string'), Argument::type('array'))->shouldBeCalled(); $this->callback()->shouldReturn(null); }
function let(ClientInterface $mockedClient, ResponseInterface $mockedResponse, RequestInterface $mockedRequest, SessionInterface $mockedSession, RedirectInterface $mockedRedirect, InputInterface $mockedInput) { $settings = array('authenticationFlow' => 'UserPassword', 'creditials' => array('consumerKey' => 'testingClientId', 'consumerSecret' => 'testingClientSecret', 'callbackURI' => 'callbackURL', 'loginURL' => 'https://login.salesforce.com', 'username' => '', 'password' => ''), 'parameters' => array('display' => 'popup', 'immediate' => 'false', 'state' => '', 'scope' => ''), 'authRedirect' => 'redirectURL', 'version' => '30.0', 'defaults' => array('method' => 'get', 'format' => 'json', 'compression' => false, 'compressionType' => 'gzip'), 'language' => 'en_US'); $mockedSession->get('resources')->willReturn(['sobjects' => '/services/data/v30.0/sobjects', 'connect' => '/services/data/v30.0/connect', 'query' => '/services/data/v30.0/query', 'theme' => '/services/data/v30.0/theme', 'queryAll' => '/services/data/v30.0/queryAll', 'tooling' => '/services/data/v30.0/tooling', 'chatter' => '/services/data/v30.0/chatter', 'analytics' => '/services/data/v30.0/analytics', 'recent' => '/services/data/v30.0/recent', 'process' => '/services/data/v30.0/process', 'identity' => 'https://login.salesforce.com/id/00Di0000000XXXXXX/005i0000000xxxxXXX', 'flexiPage' => '/services/data/v30.0/flexiPage', 'search' => '/services/data/v30.0/search', 'quickActions' => '/services/data/v30.0/quickActions', 'appMenu' => '/services/data/v30.0/appMenu']); $mockedSession->get('version')->willReturn(['url' => 'resourceURLs']); $mockedSession->getToken()->willReturn(['access_token' => 'accessToken', 'id' => 'https://login.salesforce.com/id/00Di0000000XXXXXX/005i0000000xxxxXXX', 'instance_url' => 'https://na00.salesforce.com', 'token_type' => 'Oauth']); $mockedSession->putToken(Argument::any())->willReturn(null); $mockedSession->put(Argument::any(), Argument::any())->willReturn(null); $mockedClient->send(Argument::any())->willReturn($mockedResponse); $mockedClient->createRequest(Argument::any(), Argument::any(), Argument::any())->willReturn($mockedRequest); $mockedClient->post(Argument::any(), Argument::any(), Argument::any())->willReturn($mockedResponse); $this->beConstructedWith($mockedClient, $mockedSession, $mockedRedirect, $mockedInput, $settings); }