@Test public void getBrowserIntent_returnsIntent() throws Exception { CheckoutRequest request = spy(new CheckoutRequest()); doNothing().when(request).trackFpti(any(Context.class), any(TrackingPoint.class), any(Protocol.class)); request.approvalURL("https://paypal.com/?token=test-token-key"); Intent intent = BrowserSwitchHelper.getBrowserSwitchIntent(mContextInspector, mConfigManager, request); verify(request).trackFpti(any(Context.class), eq(TrackingPoint.SwitchToBrowser), any(Protocol.class)); assertEquals(Intent.ACTION_VIEW, intent.getAction()); assertEquals("https://paypal.com/?token=test-token-key", intent.getData().toString()); assertEquals("com.android.chrome", intent.getPackage()); }
@Test public void handleBrowserResponse_sendsEventForError() { Result expectedResult = new Result(new Exception()); CheckoutRequest request = mock(CheckoutRequest.class); when(request.parseBrowserResponse(any(ContextInspector.class), any(Uri.class))) .thenReturn(expectedResult); BrowserSwitchHelper.parseBrowserSwitchResponse(mContextInspector, request, mock(Uri.class)); verify(request).trackFpti(any(Context.class), eq(TrackingPoint.Error), isNull(Protocol.class)); }
@Test public void handleBrowserResponse_sendsEventForReturn() { Result expectedResult = new Result("test", ResponseType.web, new JSONObject(), ""); CheckoutRequest request = mock(CheckoutRequest.class); when(request.parseBrowserResponse(any(ContextInspector.class), any(Uri.class))) .thenReturn(expectedResult); BrowserSwitchHelper.parseBrowserSwitchResponse(mContextInspector, request, mock(Uri.class)); verify(request).trackFpti(any(Context.class), eq(TrackingPoint.Return), isNull(Protocol.class)); } }
@Test public void handleBrowserResponse_sendsEventForCancel() { Result expectedResult = new Result(); CheckoutRequest request = mock(CheckoutRequest.class); when(request.parseBrowserResponse(any(ContextInspector.class), any(Uri.class))) .thenReturn(expectedResult); BrowserSwitchHelper.parseBrowserSwitchResponse(mContextInspector, request, mock(Uri.class)); verify(request).trackFpti(any(Context.class), eq(TrackingPoint.Cancel), isNull(Protocol.class)); }