@Test public void testTrackEcommerceCartUpdate() 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().cartUpdate(50000).items(items).with(mTracker); verify(mTracker).track(mCaptor.capture()); assertEquals(mCaptor.getValue().get(QueryParams.GOAL_ID), "0"); assertEquals(mCaptor.getValue().get(QueryParams.REVENUE), "500.00"); String ecommerceItemsJson = mCaptor.getValue().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 testTrackEcommerceCartUpdate() 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().cartUpdate(50000).items(items).with(mTracker); verify(mTracker).track(mCaptor.capture()); assertEquals(mCaptor.getValue().get(QueryParams.GOAL_ID), "0"); assertEquals(mCaptor.getValue().get(QueryParams.REVENUE), "500.00"); String ecommerceItemsJson = mCaptor.getValue().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\"]")); }
@Override public TrackMe build() { if (mEcommerceItems == null) mEcommerceItems = new EcommerceItems(); return new TrackMe(getBaseTrackMe()) .set(QueryParams.GOAL_ID, 0) .set(QueryParams.REVENUE, CurrencyFormatter.priceString(mGrandTotal)) .set(QueryParams.ECOMMERCE_ITEMS, mEcommerceItems.toJson()); } }
@Override public TrackMe build() { if (mEcommerceItems == null) mEcommerceItems = new EcommerceItems(); return new TrackMe(getBaseTrackMe()) .set(QueryParams.GOAL_ID, 0) .set(QueryParams.REVENUE, CurrencyFormatter.priceString(mGrandTotal)) .set(QueryParams.ECOMMERCE_ITEMS, mEcommerceItems.toJson()); } }
/** * Tracks a shopping cart. Call this javascript function every time a user is adding, updating * or deleting a product from the cart. * * @param grandTotal total value of items in cart */ public CartUpdate cartUpdate(int grandTotal) { return new CartUpdate(this, grandTotal); }
/** * Tracks a shopping cart. Call this javascript function every time a user is adding, updating * or deleting a product from the cart. * * @param grandTotal total value of items in cart */ public CartUpdate cartUpdate(int grandTotal) { return new CartUpdate(this, grandTotal); }