@OnClick(R.id.addEcommerceItemButton) void onAddEcommerceItemClicked(View view) { List<String> skus = Arrays.asList("00001", "00002", "00003", "00004"); List<String> names = Arrays.asList("Silly Putty", "Fishing Rod", "Rubber Boots", "Cool Ranch Doritos"); List<String> categories = Arrays.asList("Toys & Games", "Hunting & Fishing", "Footwear", "Grocery"); List<Integer> prices = Arrays.asList(449, 3495, 2450, 250); int index = cartItems % 4; int quantity = (cartItems / 4) + 1; items.addItem(new EcommerceItems.Item(skus.get(index)) .name(names.get(index)) .category(categories.get(index)) .price(prices.get(index)) .quantity(quantity)); cartItems++; }
@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\"]")); }
@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\"]")); }
@OnClick(R.id.addEcommerceItemButton) void onAddEcommerceItemClicked(View view) { List<String> skus = Arrays.asList("00001", "00002", "00003", "00004"); List<String> names = Arrays.asList("Silly Putty", "Fishing Rod", "Rubber Boots", "Cool Ranch Doritos"); List<String> categories = Arrays.asList("Toys & Games", "Hunting & Fishing", "Footwear", "Grocery"); List<Integer> prices = Arrays.asList(449, 3495, 2450, 250); int index = cartItems % 4; int quantity = (cartItems / 4) + 1; items.addItem(new EcommerceItems.Item(skus.get(index)) .name(names.get(index)) .category(categories.get(index)) .price(prices.get(index)) .quantity(quantity)); cartItems++; }
@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 testItem() { EcommerceItems.Item item = new EcommerceItems .Item("fake_sku") .name("fake_product") .category("fake_category") .price(200) .quantity(2); assertEquals("fake_sku", item.getSku()); assertEquals("fake_product", item.getName()); assertEquals("fake_category", item.getCategory()); assertTrue(200 == item.getPrice()); assertTrue(2 == item.getQuantity()); }
@Test public void testItem() { EcommerceItems.Item item = new EcommerceItems .Item("fake_sku") .name("fake_product") .category("fake_category") .price(200) .quantity(2); assertEquals("fake_sku", item.getSku()); assertEquals("fake_product", item.getName()); assertEquals("fake_category", item.getCategory()); assertTrue(200 == item.getPrice()); assertTrue(2 == item.getQuantity()); }
@Test public void testRemoveItem() 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)); final EcommerceItems.Item item2 = new EcommerceItems.Item("fake_sku_2").name("fake_product_2").category("fake_category_2").price(400).quantity(3); items.addItem(item2); items.remove("fake_sku"); assertEquals("[[\"fake_sku_2\",\"fake_product_2\",\"fake_category_2\",\"4.00\",\"3\"]]", items.toJson()); items.remove(item2); assertEquals(new JSONArray().toString(), items.toJson()); }
@Test public void testRemoveAllItems() throws Exception { 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)); items.clear(); assertEquals("[]", items.toJson()); }
@Test public void testRemoveAllItems() throws Exception { 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)); items.clear(); assertEquals("[]", items.toJson()); }
@Test public void testAddItems() 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)); items.addItem(new EcommerceItems.Item("fake_sku_3")); String itemsJson = items.toJson(); assertTrue(itemsJson.contains("[\"fake_sku\",\"fake_product\",\"fake_category\",\"2.00\",\"2\"]")); assertTrue(itemsJson.contains("[\"fake_sku_2\",\"fake_product_2\",\"fake_category_2\",\"4.00\",\"3\"]")); assertTrue(itemsJson.contains("[\"fake_sku_3\"]")); }
@Test public void testRemoveItem() 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)); final EcommerceItems.Item item2 = new EcommerceItems.Item("fake_sku_2").name("fake_product_2").category("fake_category_2").price(400).quantity(3); items.addItem(item2); items.remove("fake_sku"); assertEquals("[[\"fake_sku_2\",\"fake_product_2\",\"fake_category_2\",\"4.00\",\"3\"]]", items.toJson()); items.remove(item2); assertEquals(new JSONArray().toString(), items.toJson()); }
@Test public void testAddItems() 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)); items.addItem(new EcommerceItems.Item("fake_sku_3")); String itemsJson = items.toJson(); assertTrue(itemsJson.contains("[\"fake_sku\",\"fake_product\",\"fake_category\",\"2.00\",\"2\"]")); assertTrue(itemsJson.contains("[\"fake_sku_2\",\"fake_product_2\",\"fake_category_2\",\"4.00\",\"3\"]")); assertTrue(itemsJson.contains("[\"fake_sku_3\"]")); }