@Override protected void onAuthorizationFetched() { try { mBraintreeFragment = BraintreeFragment.newInstance(this, mAuthorization); } catch (InvalidArgumentException e) { onError(e); } mPurchaseButton.setEnabled(true); }
@Override protected void onAuthorizationFetched() { try { mBraintreeFragment = BraintreeFragment.newInstance(this, mAuthorization); } catch (InvalidArgumentException e) { onError(e); } VisaCheckout.createProfileBuilder(mBraintreeFragment, this); }
@Override protected void onAuthorizationFetched() { try { mBraintreeFragment = BraintreeFragment.newInstance(this, Settings.getEnvironmentTokenizationKeyForLocalPayment(getApplicationContext())); mIdealButton.setEnabled(true); } catch (InvalidArgumentException e) { onError(e); } }
@Override public void run() { try { fragments[0] = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); fragments[1] = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); } catch (InvalidArgumentException e) { fail(e.getMessage()); } mCountDownLatch.countDown(); } });
@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()); }
@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 getListeners_isEmptyWhenNoListenersAreSet() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); assertEquals(0, fragment.getListeners().size()); }
@Test public void getHttpClient_returnsHttpClient() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); assertNotNull(fragment.getHttpClient()); }
@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 startActivityForResult_doesNotPostExceptionWhenAttached() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); fragment.addListener(new BraintreeErrorListener() { @Override public void onError(Exception error) { fail("onError was called"); } }); fragment.startActivityForResult(new Intent(), 1); assertFalse(mCalled.get()); }
@Test public void onBrowserSwitchResult_sendsAnalyticsEventForOkResult() throws InvalidArgumentException { BraintreeFragment fragment = spy(BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY)); BrowserSwitchResult result = BrowserSwitchResult.OK; fragment.onBrowserSwitchResult(BraintreeRequestCodes.PAYPAL, result, Uri.parse("http://example.com")); verify(fragment).sendAnalyticsEvent("paypal.browser-switch.succeeded"); }
@Test public void getListeners_returnsAllListeners() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance( Robolectric.setupActivity(UnitTestListenerActivity.class), TOKENIZATION_KEY); assertEquals(6, fragment.getListeners().size()); }
@Test public void onCreate_callsFetchConfiguration() throws InvalidArgumentException { mockStatic(ConfigurationManager.class); BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); verifyStatic(times(2)); ConfigurationManager.getConfiguration(eq(fragment), any(ConfigurationListener.class), any(BraintreeResponseListener.class)); }
@Test public void postCallback_addsAllPaymentMethodNoncesToCache() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); assertEquals(0, fragment.getCachedPaymentMethodNonces().size()); List<PaymentMethodNonce> paymentMethodNonceList = new ArrayList<>(); paymentMethodNonceList.add(new CardNonce()); paymentMethodNonceList.add(new PayPalAccountNonce()); fragment.postCallback(paymentMethodNonceList); assertEquals(2, fragment.getCachedPaymentMethodNonces().size()); assertTrue(fragment.getCachedPaymentMethodNonces().get(0) instanceof CardNonce); assertTrue(fragment.getCachedPaymentMethodNonces().get(1) instanceof PayPalAccountNonce); }
@Test public void postCallback_setsBooleanForFetchedPaymentMethodNonces() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); assertFalse(fragment.hasFetchedPaymentMethodNonces()); fragment.postCallback(new ArrayList<PaymentMethodNonce>()); assertTrue(fragment.hasFetchedPaymentMethodNonces()); }
@Test public void getTokenizationKey_returnsTokenizationKey() throws InvalidArgumentException { BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); assertEquals(TOKENIZATION_KEY, fragment.getAuthorization().getBearer()); }
@Test public void onSaveInstanceState_savesState() throws InvalidArgumentException, JSONException { Configuration configuration = new TestConfigurationBuilder().buildConfiguration(); mockConfigurationManager(configuration); BraintreeFragment fragment = BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY); Bundle bundle = new Bundle(); fragment.onSaveInstanceState(bundle); assertTrue(bundle.getParcelableArrayList(BraintreeFragment.EXTRA_CACHED_PAYMENT_METHOD_NONCES).isEmpty()); assertFalse(bundle.getBoolean(BraintreeFragment.EXTRA_FETCHED_PAYMENT_METHOD_NONCES)); assertEquals(configuration.toJson(), bundle.getString(BraintreeFragment.EXTRA_CONFIGURATION)); }
@Test public void sendEvent_addsEventToDatabase() throws InvalidArgumentException { Configuration configuration = new TestConfigurationBuilder().withAnalytics().buildConfiguration(); BraintreeFragment fragment = spy(BraintreeFragment.newInstance(mActivity, TOKENIZATION_KEY)); when(fragment.getConfiguration()).thenReturn(configuration); fragment.sendAnalyticsEvent("test.event"); verifyAnalyticsEvent(mActivity, "test.event"); }
@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(expected = InvalidArgumentException.class) public void newInstance_throwsAnExceptionWhenActivityIsDestroyed() throws InvalidArgumentException { Activity activity = Robolectric.buildActivity(FragmentTestActivity.class) .create() .start() .resume() .pause() .stop() .destroy() .get(); BraintreeFragment.newInstance(activity, TOKENIZATION_KEY); }