Search in sources :

Example 1 with PayPalAccountNonce

use of com.braintreepayments.api.models.PayPalAccountNonce in project braintree_android by braintree.

the class PayPalUnitTest method requestBillingAgreement_whenSuccessful_sendsAnalyticsEvents.

@Test
public void requestBillingAgreement_whenSuccessful_sendsAnalyticsEvents() {
    final BraintreeFragment fragment = mMockFragmentBuilder.successResponse(stringFromFixture("paypal_hermes_billing_agreement_response.json")).build();
    doAnswer(new Answer() {

        @Override
        public Object answer(InvocationOnMock invocation) throws Throwable {
            Intent intent = new Intent().setData(Uri.parse("com.braintreepayments.api.test.braintree://onetouch/v1/success?PayerID=HERMES-SANDBOX-PAYER-ID&paymentId=HERMES-SANDBOX-PAYMENT-ID&ba_token=EC-HERMES-SANDBOX-EC-TOKEN"));
            PayPal.onActivityResult(fragment, Activity.RESULT_OK, intent);
            return null;
        }
    }).when(fragment).browserSwitch(eq(BraintreeRequestCodes.PAYPAL), any(Intent.class));
    mockStatic(TokenizationClient.class);
    doAnswer(new Answer<Void>() {

        @Override
        public Void answer(InvocationOnMock invocation) throws Throwable {
            ((PaymentMethodNonceCallback) invocation.getArguments()[2]).success(new PayPalAccountNonce());
            return null;
        }
    }).when(TokenizationClient.class);
    TokenizationClient.tokenize(any(BraintreeFragment.class), any(PaymentMethodBuilder.class), any(PaymentMethodNonceCallback.class));
    PayPal.requestBillingAgreement(fragment, new PayPalRequest());
    verify(fragment).sendAnalyticsEvent("paypal.billing-agreement.selected");
    verify(fragment).sendAnalyticsEvent("paypal-billing-agreement.webswitch.started");
    verify(fragment).sendAnalyticsEvent("paypal-billing-agreement.webswitch.succeeded");
}
Also used : PowerMockito.doAnswer(org.powermock.api.mockito.PowerMockito.doAnswer) Answer(org.mockito.stubbing.Answer) PaymentMethodBuilder(com.braintreepayments.api.models.PaymentMethodBuilder) InvocationOnMock(org.mockito.invocation.InvocationOnMock) PaymentMethodNonceCallback(com.braintreepayments.api.interfaces.PaymentMethodNonceCallback) JSONObject(org.json.JSONObject) Intent(android.content.Intent) PayPalAccountNonce(com.braintreepayments.api.models.PayPalAccountNonce) PayPalRequest(com.braintreepayments.api.models.PayPalRequest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 2 with PayPalAccountNonce

use of com.braintreepayments.api.models.PayPalAccountNonce in project braintree_android by braintree.

the class PayPalUnitTest method requestBillingAgreement_isSuccessful.

@Test
public void requestBillingAgreement_isSuccessful() {
    final BraintreeFragment fragment = mMockFragmentBuilder.successResponse(stringFromFixture("paypal_hermes_billing_agreement_response.json")).build();
    doAnswer(new Answer() {

        @Override
        public Object answer(InvocationOnMock invocation) throws Throwable {
            Intent intent = new Intent().setData(Uri.parse("com.braintreepayments.api.test.braintree://onetouch/v1/success?PayerID=HERMES-SANDBOX-PAYER-ID&paymentId=HERMES-SANDBOX-PAYMENT-ID&ba_token=EC-HERMES-SANDBOX-EC-TOKEN"));
            PayPal.onActivityResult(fragment, Activity.RESULT_OK, intent);
            return null;
        }
    }).when(fragment).browserSwitch(eq(BraintreeRequestCodes.PAYPAL), any(Intent.class));
    mockStatic(TokenizationClient.class);
    doAnswer(new Answer<Void>() {

        @Override
        public Void answer(InvocationOnMock invocation) throws Throwable {
            ((PaymentMethodNonceCallback) invocation.getArguments()[2]).success(new PayPalAccountNonce());
            return null;
        }
    }).when(TokenizationClient.class);
    TokenizationClient.tokenize(any(BraintreeFragment.class), any(PaymentMethodBuilder.class), any(PaymentMethodNonceCallback.class));
    PayPal.requestBillingAgreement(fragment, new PayPalRequest());
    verify(fragment).postCallback(any(PayPalAccountNonce.class));
}
Also used : PowerMockito.doAnswer(org.powermock.api.mockito.PowerMockito.doAnswer) Answer(org.mockito.stubbing.Answer) PaymentMethodBuilder(com.braintreepayments.api.models.PaymentMethodBuilder) InvocationOnMock(org.mockito.invocation.InvocationOnMock) PaymentMethodNonceCallback(com.braintreepayments.api.interfaces.PaymentMethodNonceCallback) JSONObject(org.json.JSONObject) Intent(android.content.Intent) PayPalAccountNonce(com.braintreepayments.api.models.PayPalAccountNonce) PayPalRequest(com.braintreepayments.api.models.PayPalRequest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 3 with PayPalAccountNonce

use of com.braintreepayments.api.models.PayPalAccountNonce in project braintree_android by braintree.

the class PayPalUnitTest method requestBillingAgreement_doesNotCallCancelListenerWhenSuccessful.

@Test
public void requestBillingAgreement_doesNotCallCancelListenerWhenSuccessful() {
    final BraintreeFragment fragment = mMockFragmentBuilder.successResponse(stringFromFixture("paypal_hermes_response.json")).build();
    doAnswer(new Answer() {

        @Override
        public Object answer(InvocationOnMock invocation) throws Throwable {
            Intent intent = new Intent().setData(Uri.parse("com.braintreepayments.api.test.braintree://onetouch/v1/success?PayerID=HERMES-SANDBOX-PAYER-ID&paymentId=HERMES-SANDBOX-PAYMENT-ID&token=EC-HERMES-SANDBOX-EC-TOKEN"));
            PayPal.onActivityResult(fragment, Activity.RESULT_OK, intent);
            return null;
        }
    }).when(fragment).startActivity(any(Intent.class));
    mockStatic(TokenizationClient.class);
    doAnswer(new Answer<Void>() {

        @Override
        public Void answer(InvocationOnMock invocation) throws Throwable {
            ((PaymentMethodNonceCallback) invocation.getArguments()[2]).success(new PayPalAccountNonce());
            return null;
        }
    }).when(TokenizationClient.class);
    TokenizationClient.tokenize(any(BraintreeFragment.class), any(PaymentMethodBuilder.class), any(PaymentMethodNonceCallback.class));
    PayPal.requestBillingAgreement(fragment, new PayPalRequest());
    verify(fragment, never()).postCancelCallback(anyInt());
}
Also used : PowerMockito.doAnswer(org.powermock.api.mockito.PowerMockito.doAnswer) Answer(org.mockito.stubbing.Answer) PaymentMethodBuilder(com.braintreepayments.api.models.PaymentMethodBuilder) InvocationOnMock(org.mockito.invocation.InvocationOnMock) PaymentMethodNonceCallback(com.braintreepayments.api.interfaces.PaymentMethodNonceCallback) JSONObject(org.json.JSONObject) Intent(android.content.Intent) PayPalAccountNonce(com.braintreepayments.api.models.PayPalAccountNonce) PayPalRequest(com.braintreepayments.api.models.PayPalRequest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 4 with PayPalAccountNonce

use of com.braintreepayments.api.models.PayPalAccountNonce in project braintree_android by braintree.

the class PayPalUnitTest method requestOneTimePayment_whenSuccessful_sendsAnalyticsEvents.

@Test
public void requestOneTimePayment_whenSuccessful_sendsAnalyticsEvents() {
    final BraintreeFragment fragment = mMockFragmentBuilder.successResponse(stringFromFixture("paypal_hermes_response.json")).build();
    doAnswer(new Answer() {

        @Override
        public Object answer(InvocationOnMock invocation) throws Throwable {
            Intent intent = new Intent().setData(Uri.parse("com.braintreepayments.api.test.braintree://onetouch/v1/success?PayerID=HERMES-SANDBOX-PAYER-ID&paymentId=HERMES-SANDBOX-PAYMENT-ID&token=EC-HERMES-SANDBOX-EC-TOKEN"));
            PayPal.onActivityResult(fragment, Activity.RESULT_OK, intent);
            return null;
        }
    }).when(fragment).browserSwitch(eq(BraintreeRequestCodes.PAYPAL), any(Intent.class));
    mockStatic(TokenizationClient.class);
    doAnswer(new Answer<Void>() {

        @Override
        public Void answer(InvocationOnMock invocation) throws Throwable {
            ((PaymentMethodNonceCallback) invocation.getArguments()[2]).success(new PayPalAccountNonce());
            return null;
        }
    }).when(TokenizationClient.class);
    TokenizationClient.tokenize(any(BraintreeFragment.class), any(PaymentMethodBuilder.class), any(PaymentMethodNonceCallback.class));
    PayPal.requestOneTimePayment(fragment, new PayPalRequest("1"));
    verify(fragment).sendAnalyticsEvent("paypal.one-time-payment.selected");
    verify(fragment).sendAnalyticsEvent("paypal-single-payment.webswitch.started");
    verify(fragment).sendAnalyticsEvent("paypal-single-payment.webswitch.succeeded");
}
Also used : PowerMockito.doAnswer(org.powermock.api.mockito.PowerMockito.doAnswer) Answer(org.mockito.stubbing.Answer) PaymentMethodBuilder(com.braintreepayments.api.models.PaymentMethodBuilder) InvocationOnMock(org.mockito.invocation.InvocationOnMock) PaymentMethodNonceCallback(com.braintreepayments.api.interfaces.PaymentMethodNonceCallback) JSONObject(org.json.JSONObject) Intent(android.content.Intent) PayPalAccountNonce(com.braintreepayments.api.models.PayPalAccountNonce) PayPalRequest(com.braintreepayments.api.models.PayPalRequest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 5 with PayPalAccountNonce

use of com.braintreepayments.api.models.PayPalAccountNonce in project braintree_android by braintree.

the class PayPalUnitTest method requestOneTimePayment_doesNotCallCancelListenerWhenSuccessful.

@Test
public void requestOneTimePayment_doesNotCallCancelListenerWhenSuccessful() {
    final BraintreeFragment fragment = mMockFragmentBuilder.successResponse(stringFromFixture("paypal_hermes_response.json")).build();
    doAnswer(new Answer() {

        @Override
        public Object answer(InvocationOnMock invocation) throws Throwable {
            Intent intent = new Intent().setData(Uri.parse("com.braintreepayments.api.test.braintree://onetouch/v1/success?PayerID=HERMES-SANDBOX-PAYER-ID&paymentId=HERMES-SANDBOX-PAYMENT-ID&token=EC-HERMES-SANDBOX-EC-TOKEN"));
            PayPal.onActivityResult(fragment, Activity.RESULT_OK, intent);
            return null;
        }
    }).when(fragment).startActivity(any(Intent.class));
    mockStatic(TokenizationClient.class);
    doAnswer(new Answer<Void>() {

        @Override
        public Void answer(InvocationOnMock invocation) throws Throwable {
            ((PaymentMethodNonceCallback) invocation.getArguments()[2]).success(new PayPalAccountNonce());
            return null;
        }
    }).when(TokenizationClient.class);
    TokenizationClient.tokenize(any(BraintreeFragment.class), any(PaymentMethodBuilder.class), any(PaymentMethodNonceCallback.class));
    PayPal.requestOneTimePayment(fragment, new PayPalRequest("1"));
    verify(fragment, never()).postCancelCallback(anyInt());
}
Also used : PowerMockito.doAnswer(org.powermock.api.mockito.PowerMockito.doAnswer) Answer(org.mockito.stubbing.Answer) PaymentMethodBuilder(com.braintreepayments.api.models.PaymentMethodBuilder) InvocationOnMock(org.mockito.invocation.InvocationOnMock) PaymentMethodNonceCallback(com.braintreepayments.api.interfaces.PaymentMethodNonceCallback) JSONObject(org.json.JSONObject) Intent(android.content.Intent) PayPalAccountNonce(com.braintreepayments.api.models.PayPalAccountNonce) PayPalRequest(com.braintreepayments.api.models.PayPalRequest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Aggregations

PayPalAccountNonce (com.braintreepayments.api.models.PayPalAccountNonce)16 Test (org.junit.Test)15 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)15 PaymentMethodNonceCallback (com.braintreepayments.api.interfaces.PaymentMethodNonceCallback)14 Intent (android.content.Intent)13 PaymentMethodBuilder (com.braintreepayments.api.models.PaymentMethodBuilder)13 InvocationOnMock (org.mockito.invocation.InvocationOnMock)13 Answer (org.mockito.stubbing.Answer)13 PowerMockito.doAnswer (org.powermock.api.mockito.PowerMockito.doAnswer)13 PayPalRequest (com.braintreepayments.api.models.PayPalRequest)11 JSONObject (org.json.JSONObject)10 AuthorizationRequest (com.paypal.android.sdk.onetouch.core.AuthorizationRequest)6 PaymentMethodNonce (com.braintreepayments.api.models.PaymentMethodNonce)5 PayPalApprovalCallback (com.braintreepayments.api.interfaces.PayPalApprovalCallback)3 PayPalApprovalHandler (com.braintreepayments.api.interfaces.PayPalApprovalHandler)3 Request (com.paypal.android.sdk.onetouch.core.Request)3 SharedPreferences (android.content.SharedPreferences)2 BraintreeSharedPreferences (com.braintreepayments.api.internal.BraintreeSharedPreferences)2 AndroidPayCardNonce (com.braintreepayments.api.models.AndroidPayCardNonce)2 CardNonce (com.braintreepayments.api.models.CardNonce)2