use of com.braintreepayments.testutils.TestConfigurationBuilder in project braintree_android by braintree.
the class PayPalTest method authorizeAccount_onBackPressed_callsCancelListenerOnlyOnce.
@Test
public void authorizeAccount_onBackPressed_callsCancelListenerOnlyOnce() {
String configuration = new TestConfigurationBuilder().paypalEnabled(true).build();
final BraintreeFragment fragment = getMockFragmentWithConfiguration(mActivityTestRule.getActivity(), configuration);
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
fragment.onActivityResult(BraintreeRequestCodes.PAYPAL, Activity.RESULT_CANCELED, new Intent());
return null;
}
}).when(fragment).browserSwitch(eq(BraintreeRequestCodes.PAYPAL), any(Intent.class));
PayPal.authorizeAccount(fragment);
verify(fragment, times(1)).postCancelCallback(BraintreeRequestCodes.PAYPAL);
}
use of com.braintreepayments.testutils.TestConfigurationBuilder in project braintree_android by braintree.
the class IdealUnitTest method startPayment_failure_sendsAnalyticsEvent.
@Test
public void startPayment_failure_sendsAnalyticsEvent() throws JSONException, InvalidArgumentException {
mConfiguration = new TestConfigurationBuilder().assetsUrl("http://assets.example.com").buildConfiguration();
mBraintreeFragment = new MockFragmentBuilder().authorization(Authorization.fromString(stringFromFixture("client_token.json"))).configuration(mConfiguration).build();
Ideal.startPayment(mBraintreeFragment, new IdealRequest(), null);
verify(mBraintreeFragment).sendAnalyticsEvent(eq("ideal.start-payment.selected"));
verify(mBraintreeFragment).sendAnalyticsEvent(eq("ideal.start-payment.invalid-configuration"));
}
use of com.braintreepayments.testutils.TestConfigurationBuilder in project braintree_android by braintree.
the class IdealUnitTest method pollForCompletion_pollsUntilMaxRetryCountExceeded.
@Test(timeout = 5000)
public void pollForCompletion_pollsUntilMaxRetryCountExceeded() throws InterruptedException, JSONException, InvalidArgumentException {
Configuration configuration = new TestConfigurationBuilder().ideal(new TestIdealConfigurationBuilder().routeId("some-route-id")).braintreeApi(new TestBraintreeApiConfigurationBuilder().accessToken("access-token").url("http://api.braintree.com")).buildConfiguration();
final BraintreeFragment fragment = new MockFragmentBuilder().authorization(Authorization.fromString(stringFromFixture("client_token.json"))).configuration(configuration).build();
BraintreeApiHttpClient apiHttpClient = mock(BraintreeApiHttpClient.class);
when(fragment.getBraintreeApiHttpClient()).thenReturn(apiHttpClient);
final String resultFixture = stringFromFixture("payment_methods/pending_ideal_bank_payment.json");
final CountDownLatch latch = new CountDownLatch(2);
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
HttpResponseCallback callback = (HttpResponseCallback) invocation.getArguments()[1];
callback.success(resultFixture);
latch.countDown();
return null;
}
}).when(apiHttpClient).get(eq("/ideal-payments/ideal_payment_id/status"), any(HttpResponseCallback.class));
IdealResult idealResult = IdealResult.fromJson(resultFixture);
putResultIdInPrefs(idealResult.getId());
Ideal.pollForCompletion(fragment, idealResult.getId(), 1, 1000);
// Two retries = three calls to latch.countDown
latch.await();
}
use of com.braintreepayments.testutils.TestConfigurationBuilder in project braintree_android by braintree.
the class IdealUnitTest method fetchIssuingBanks_postsConfigurationExceptionWhenIdealNotEnabled.
@Test
public void fetchIssuingBanks_postsConfigurationExceptionWhenIdealNotEnabled() throws InvalidArgumentException {
Configuration configuration = new TestConfigurationBuilder().braintreeApi(new TestBraintreeApiConfigurationBuilder().accessToken("access-token").url("http://api.braintree.com")).buildConfiguration();
BraintreeFragment fragment = getMockFragment(stringFromFixture("client_token.json"), configuration);
Ideal.fetchIssuingBanks(fragment, new BraintreeResponseListener<List<IdealBank>>() {
@Override
public void onResponse(List<IdealBank> idealBanks) {
fail("Success listener called");
}
});
ArgumentCaptor<Exception> captor = ArgumentCaptor.forClass(Exception.class);
verify(fragment).postCallback(captor.capture());
Exception e = captor.getValue();
assertEquals("iDEAL is not enabled for this merchant.", e.getMessage());
}
use of com.braintreepayments.testutils.TestConfigurationBuilder in project braintree_android by braintree.
the class IdealUnitTest method onActivityResult_checksPaymentStatusOnceBeforeInvokingCallback.
@Test(timeout = 10000)
public void onActivityResult_checksPaymentStatusOnceBeforeInvokingCallback() throws InvalidArgumentException, JSONException, InterruptedException {
Configuration configuration = new TestConfigurationBuilder().ideal(new TestIdealConfigurationBuilder().routeId("some-route-id")).braintreeApi(new TestBraintreeApiConfigurationBuilder().accessToken("access-token").url("http://api.braintree.com")).buildConfiguration();
final BraintreeFragment fragment = new MockFragmentBuilder().authorization(Authorization.fromString(stringFromFixture("client_token.json"))).configuration(configuration).build();
BraintreeApiHttpClient apiHttpClient = mock(BraintreeApiHttpClient.class);
when(fragment.getBraintreeApiHttpClient()).thenReturn(apiHttpClient);
final String resultFixture = stringFromFixture("payment_methods/pending_ideal_bank_payment.json");
final CountDownLatch latch = new CountDownLatch(1);
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
HttpResponseCallback callback = (HttpResponseCallback) invocation.getArguments()[1];
callback.success(resultFixture);
latch.countDown();
return null;
}
}).when(apiHttpClient).get(eq("/ideal-payments/ideal_payment_id/status"), any(HttpResponseCallback.class));
IdealResult idealResult = IdealResult.fromJson(resultFixture);
putResultIdInPrefs(idealResult.getId());
Ideal.onActivityResult(fragment, Activity.RESULT_OK);
latch.await();
}
Aggregations