@OnClick(R.id.completeEcommerceOrderButton) void onCompleteEcommerceOrderClicked(View view) { TrackHelper.track() .order(String.valueOf(10000 * Math.random()), 10000) .subTotal(1000) .tax(2000) .shipping(3000) .discount(500) .items(items) .with(getTracker()); }
@OnClick(R.id.completeEcommerceOrderButton) void onCompleteEcommerceOrderClicked(View view) { TrackHelper.track() .order(String.valueOf(10000 * Math.random()), 10000) .subTotal(1000) .tax(2000) .shipping(3000) .discount(500) .items(items) .with(getTracker()); }
@Test public void testTrackEcommerceOrder() throws Exception { Locale.setDefault(Locale.US); EcommerceItems items = new EcommerceItems(); items.addItem(new EcommerceItems.Item("fake_sku").name("fake_product").category("fake_category").price(200).quantity(2)); items.addItem(new EcommerceItems.Item("fake_sku_2").name("fake_product_2").category("fake_category_2").price(400).quantity(3)); track().order("orderId", 10020).subTotal(7002).tax(2000).shipping(1000).discount(0).items(items).with(mTracker); verify(mTracker).track(mCaptor.capture()); TrackMe tracked = mCaptor.getValue(); assertEquals(tracked.get(QueryParams.GOAL_ID), "0"); assertEquals(tracked.get(QueryParams.ORDER_ID), "orderId"); assertEquals(tracked.get(QueryParams.REVENUE), "100.20"); assertEquals(tracked.get(QueryParams.SUBTOTAL), "70.02"); assertEquals(tracked.get(QueryParams.TAX), "20.00"); assertEquals(tracked.get(QueryParams.SHIPPING), "10.00"); assertEquals(tracked.get(QueryParams.DISCOUNT), "0.00"); String ecommerceItemsJson = tracked.get(QueryParams.ECOMMERCE_ITEMS); new JSONArray(ecommerceItemsJson); // will throw exception if not valid json assertTrue(ecommerceItemsJson.contains("[\"fake_sku\",\"fake_product\",\"fake_category\",\"2.00\",\"2\"]")); assertTrue(ecommerceItemsJson.contains("[\"fake_sku_2\",\"fake_product_2\",\"fake_category_2\",\"4.00\",\"3\"]")); }
@Test public void testTrackEcommerceOrder() throws Exception { Locale.setDefault(Locale.US); EcommerceItems items = new EcommerceItems(); items.addItem(new EcommerceItems.Item("fake_sku").name("fake_product").category("fake_category").price(200).quantity(2)); items.addItem(new EcommerceItems.Item("fake_sku_2").name("fake_product_2").category("fake_category_2").price(400).quantity(3)); track().order("orderId", 10020).subTotal(7002).tax(2000).shipping(1000).discount(0).items(items).with(mTracker); verify(mTracker).track(mCaptor.capture()); TrackMe tracked = mCaptor.getValue(); assertEquals(tracked.get(QueryParams.GOAL_ID), "0"); assertEquals(tracked.get(QueryParams.ORDER_ID), "orderId"); assertEquals(tracked.get(QueryParams.REVENUE), "100.20"); assertEquals(tracked.get(QueryParams.SUBTOTAL), "70.02"); assertEquals(tracked.get(QueryParams.TAX), "20.00"); assertEquals(tracked.get(QueryParams.SHIPPING), "10.00"); assertEquals(tracked.get(QueryParams.DISCOUNT), "0.00"); String ecommerceItemsJson = tracked.get(QueryParams.ECOMMERCE_ITEMS); new JSONArray(ecommerceItemsJson); // will throw exception if not valid json assertTrue(ecommerceItemsJson.contains("[\"fake_sku\",\"fake_product\",\"fake_category\",\"2.00\",\"2\"]")); assertTrue(ecommerceItemsJson.contains("[\"fake_sku_2\",\"fake_product_2\",\"fake_category_2\",\"4.00\",\"3\"]")); }