Skip to content

Commit

Permalink
Fix lint and add unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
sarahkoop committed Dec 16, 2024
1 parent 6306c27 commit f04e950
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
import org.robolectric.RobolectricTestRunner;
import org.skyscreamer.jsonassert.JSONAssert;

import java.util.Collections;

@RunWith(RobolectricTestRunner.class)
public class PayPalClientUnitTest {

Expand Down Expand Up @@ -62,6 +64,7 @@ public void beforeEach() throws JSONException {
public void createPaymentAuthRequest_callsBackPayPalResponse_sendsStartedAnalytics() throws JSONException {
PayPalVaultRequest payPalVaultRequest = new PayPalVaultRequest(true);
payPalVaultRequest.setMerchantAccountId("sample-merchant-account-id");
payPalVaultRequest.setShopperSessionId("test-shopper-session-id");

PayPalPaymentAuthRequestParams paymentAuthRequest = new PayPalPaymentAuthRequestParams(
payPalVaultRequest,
Expand Down Expand Up @@ -106,7 +109,7 @@ public void createPaymentAuthRequest_callsBackPayPalResponse_sendsStartedAnalyti

verify(braintreeClient).sendAnalyticsEvent(
PayPalAnalytics.TOKENIZATION_STARTED,
new AnalyticsEventParams(null, null, true, null, null, null)
new AnalyticsEventParams(null, null, true, null, null, null, null, Collections.emptyList(), null, "test-shopper-session-id")
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class ShopperInsightsClientUnitTest {
private lateinit var merchantRepository: MerchantRepository
private lateinit var context: Context
private lateinit var deviceInspector: DeviceInspector
private var shopperSessionId = "test-shopper-session-id"

private val clientToken = mockk<ClientToken>()

Expand All @@ -62,7 +63,8 @@ class ShopperInsightsClientUnitTest {
analyticsParamRepository,
api,
merchantRepository,
deviceInspector
deviceInspector,
shopperSessionId = shopperSessionId
)
context = ApplicationProvider.getApplicationContext()
}
Expand All @@ -79,7 +81,9 @@ class ShopperInsightsClientUnitTest {
val experiment = "some_experiment"
sut.getRecommendedPaymentMethods(mockk(relaxed = true), experiment, mockk(relaxed = true))

verifyStartedAnalyticsEvent(AnalyticsEventParams(experiment = experiment))
verifyStartedAnalyticsEvent(AnalyticsEventParams(
experiment = experiment,
shopperSessionId = shopperSessionId))
}

@Test
Expand Down Expand Up @@ -435,25 +439,29 @@ class ShopperInsightsClientUnitTest {
@Test
fun `test paypal presented analytics event`() {
sut.sendPayPalPresentedEvent()
verify { braintreeClient.sendAnalyticsEvent("shopper-insights:paypal-presented") }
verify { braintreeClient.sendAnalyticsEvent("shopper-insights:paypal-presented",
AnalyticsEventParams(shopperSessionId = shopperSessionId)) }
}

@Test
fun `test paypal selected analytics event`() {
sut.sendPayPalSelectedEvent()
verify { braintreeClient.sendAnalyticsEvent("shopper-insights:paypal-selected") }
verify { braintreeClient.sendAnalyticsEvent("shopper-insights:paypal-selected",
AnalyticsEventParams(shopperSessionId = shopperSessionId)) }
}

@Test
fun `test venmo presented analytics event`() {
sut.sendVenmoPresentedEvent()
verify { braintreeClient.sendAnalyticsEvent("shopper-insights:venmo-presented") }
verify { braintreeClient.sendAnalyticsEvent("shopper-insights:venmo-presented",
AnalyticsEventParams(shopperSessionId = shopperSessionId)) }
}

@Test
fun `test venmo selected analytics event`() {
sut.sendVenmoSelectedEvent()
verify { braintreeClient.sendAnalyticsEvent("shopper-insights:venmo-selected") }
verify { braintreeClient.sendAnalyticsEvent("shopper-insights:venmo-selected",
AnalyticsEventParams(shopperSessionId = shopperSessionId)) }
}

@Test
Expand Down Expand Up @@ -504,14 +512,16 @@ class ShopperInsightsClientUnitTest {
private fun verifySuccessAnalyticsEvent() {
verify {
braintreeClient
.sendAnalyticsEvent("shopper-insights:get-recommended-payments:succeeded")
.sendAnalyticsEvent("shopper-insights:get-recommended-payments:succeeded",
AnalyticsEventParams(shopperSessionId = shopperSessionId))
}
}

private fun verifyFailedAnalyticsEvent() {
verify {
braintreeClient
.sendAnalyticsEvent("shopper-insights:get-recommended-payments:failed")
.sendAnalyticsEvent("shopper-insights:get-recommended-payments:failed",
AnalyticsEventParams(shopperSessionId = shopperSessionId))
}
}
}

0 comments on commit f04e950

Please sign in to comment.