@Test public void onBrowserSwitchResult_callsOnActivityResultForCancelResult() throws InvalidArgumentException { BraintreeFragment fragment = spy(BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY)); fragment.onBrowserSwitchResult(42, BrowserSwitchResult.CANCELED, Uri.parse("http://example.com")); ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class); verify(fragment).onActivityResult(eq(42), eq(Activity.RESULT_CANCELED), captor.capture()); assertEquals("http://example.com", captor.getValue().getData().toString()); }
onActivityResult(requestCode, resultCode, new Intent().setData(uri));
@Test public void onBrowserSwitchResult_callsOnActivityResultForOkResult() throws InvalidArgumentException { BraintreeFragment fragment = spy(BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY)); fragment.onBrowserSwitchResult(42, BrowserSwitchResult.OK, Uri.parse("http://example.com")); ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class); verify(fragment).onActivityResult(eq(42), eq(Activity.RESULT_OK), captor.capture()); assertEquals("http://example.com", captor.getValue().getData().toString()); }
@Test public void onBrowserSwitchResult_callsOnActivityResultForErrorResult() throws InvalidArgumentException { BraintreeFragment fragment = spy(BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY)); fragment.onBrowserSwitchResult(42, BrowserSwitchResult.ERROR, Uri.parse("http://example.com")); ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class); verify(fragment).onActivityResult(eq(42), eq(Activity.RESULT_FIRST_USER), captor.capture()); assertEquals("http://example.com", captor.getValue().getData().toString()); }
@Test public void onActivityResult_callsCancelListenerOnlyOnceForPayPal() throws InvalidArgumentException { BraintreeFragment fragment = spy(BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY)); fragment.onActivityResult(BraintreeRequestCodes.PAYPAL, Activity.RESULT_CANCELED, new Intent()); verify(fragment, times(1)).postCancelCallback(BraintreeRequestCodes.PAYPAL); }
@Test public void onActivityResult_postsCancelCallbackWhenResultCodeIsCanceled() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); fragment.addListener(new BraintreeCancelListener() { @Override public void onCancel(int requestCode) { assertEquals(42, requestCode); mCalled.set(true); } }); fragment.onActivityResult(42, Activity.RESULT_CANCELED, null); assertTrue(mCalled.get()); }
@Test public void onActivityResult_invokesOnActivityResultOnVisaCheckoutBraintreeClass() { VisaCheckoutFacade.sVisaCheckoutClassName = ShadowVisaCheckout.class.getName(); mockStatic(ShadowVisaCheckout.class); mFragment.onActivityResult(BraintreeRequestCodes.VISA_CHECKOUT, Activity.RESULT_OK, mIntent); verifyStatic(); ShadowVisaCheckout.onActivityResult(mFragment, Activity.RESULT_OK, mIntent); } }
@Test public void onActivityResult_handlesVenmoResult() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); mockStatic(Venmo.class); Intent intent = new Intent(); fragment.onActivityResult(BraintreeRequestCodes.VENMO, Activity.RESULT_OK, intent); verifyStatic(); Venmo.onActivityResult(fragment, Activity.RESULT_OK, intent); }
@Test public void onActivityResult_handlesThreeDSecureResult() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); mockStatic(ThreeDSecure.class); Intent intent = new Intent(); fragment.onActivityResult(BraintreeRequestCodes.THREE_D_SECURE, Activity.RESULT_OK, intent); verifyStatic(); ThreeDSecure.onActivityResult(fragment, Activity.RESULT_OK, intent); }
@Test public void onActivityResult_handlesPayPalResult() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); mockStatic(PayPal.class); Intent intent = new Intent(); fragment.onActivityResult(BraintreeRequestCodes.PAYPAL, Activity.RESULT_FIRST_USER, intent); verifyStatic(); PayPal.onActivityResult(fragment, Activity.RESULT_FIRST_USER, intent); }
@Test public void onActivityResult_handlesAndroidPayResult() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); mockStatic(AndroidPay.class); Intent intent = new Intent(); fragment.onActivityResult(BraintreeRequestCodes.ANDROID_PAY, Activity.RESULT_OK, intent); verifyStatic(); AndroidPay.onActivityResult(fragment, Activity.RESULT_OK, intent); }
@Test public void onActivityResult_handlesGooglePaymentResult() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); mockStatic(GooglePayment.class); Intent intent = new Intent(); fragment.onActivityResult(BraintreeRequestCodes.GOOGLE_PAYMENT, Activity.RESULT_OK, intent); verifyStatic(); GooglePayment.onActivityResult(fragment, Activity.RESULT_OK, intent); }