public void testInitEcommerceTransactionItem() { var eti = new EcommerceTransactionItem() .SetSku("sku") .SetPrice(20.1) .SetQuantity(5) .SetName("name") .SetCategory("category") .SetTrueTimestamp(123456789123) .Build(); eti.SetItemId("itemId"); eti.SetCurrency("AUD"); Assert.IsNotNull(eti); Assert.AreEqual(Constants.EVENT_ECOMM_ITEM, eti.GetPayload().Payload[Constants.EVENT]); Assert.AreEqual("itemId", eti.GetPayload().Payload[Constants.TI_ITEM_ID]); Assert.AreEqual("sku", eti.GetPayload().Payload[Constants.TI_ITEM_SKU]); Assert.AreEqual("name", eti.GetPayload().Payload[Constants.TI_ITEM_NAME]); Assert.AreEqual("category", eti.GetPayload().Payload[Constants.TI_ITEM_CATEGORY]); Assert.AreEqual("20.10", eti.GetPayload().Payload[Constants.TI_ITEM_PRICE]); Assert.AreEqual("5", eti.GetPayload().Payload[Constants.TI_ITEM_QUANTITY]); Assert.AreEqual("AUD", eti.GetPayload().Payload[Constants.TI_ITEM_CURRENCY]); Assert.IsNotNull(eti.GetContexts()); Assert.IsTrue(eti.GetPayload().Payload.ContainsKey(Constants.EID)); Assert.IsTrue(eti.GetPayload().Payload.ContainsKey(Constants.TIMESTAMP)); Assert.IsTrue(eti.GetPayload().Payload.ContainsKey(Constants.TRUE_TIMESTAMP)); }
public void TestInitException() { EcommerceTransactionItem eti = null; try { eti = new EcommerceTransactionItem().Build(); } catch (Exception e) { Assert.AreEqual("Sku cannot be null or empty.", e.Message); } Assert.IsNull(eti); try { eti = new EcommerceTransactionItem().SetSku("sku").Build(); } catch (Exception e) { Assert.AreEqual("Price cannot be null.", e.Message); } Assert.IsNull(eti); try { eti = new EcommerceTransactionItem().SetSku("sku").SetPrice(10.78).Build(); } catch (Exception e) { Assert.AreEqual("Quantity cannot be null.", e.Message); } Assert.IsNull(eti); }
public void TestInitMinimal() { EcommerceTransactionItem eti = new EcommerceTransactionItem().SetSku("sku").SetPrice(10.2).SetQuantity(1).Build(); Assert.NotNull(eti); Dictionary <string, object> payload = eti.GetPayload().GetDictionary(); Assert.AreEqual(6, payload.Count); Assert.AreEqual("ti", payload [Constants.EVENT]); Assert.AreEqual("sku", payload [Constants.TI_ITEM_SKU]); Assert.AreEqual("10.20", payload [Constants.TI_ITEM_PRICE]); Assert.AreEqual("1", payload [Constants.TI_ITEM_QUANTITY]); }
/// <summary> /// Tracks an example ecommerce transaction with two items /// </summary> public static void TrackEcommerceTransaction() { var item1 = new EcommerceTransactionItem().SetSku("pbz0026").SetPrice(20).SetQuantity(1).Build(); var item2 = new EcommerceTransactionItem().SetSku("pbz0038").SetPrice(15).SetQuantity(1).SetName("shirt").SetCategory("clothing").Build(); var items = new List <EcommerceTransactionItem> { item1, item2 }; Instance.Track(new EcommerceTransaction() .SetOrderId("6a8078be") .SetTotalValue(35) .SetAffiliation("affiliation") .SetTaxValue(3) .SetShipping(0) .SetCity("Phoenix") .SetState("Arizona") .SetCountry("US") .SetCurrency("USD") .SetItems(items) .Build()); SessionMadeCount += 3; }
private bool ensureEcommerceTransactionWorksGet(Tracker t, MockGet g) { var hat = new EcommerceTransactionItem().SetSku("pbz0026").SetPrice(20).SetQuantity(1).Build(); var shirt = new EcommerceTransactionItem().SetSku("pbz0038").SetPrice(15).SetQuantity(1).SetName("shirt").SetCategory("clothing").Build(); var items = new List <EcommerceTransactionItem> { hat, shirt }; t.Track(new EcommerceTransaction() .SetOrderId("6a8078be") .SetTotalValue(35) .SetAffiliation("affiliation") .SetTaxValue(3) .SetShipping(0) .SetCity("Phoenix") .SetState("Arizona") .SetCountry("US") .SetCurrency("USD") .SetItems(items) .Build()); t.Flush(); // other events may exist - lets find our best guesses for each var transactionActual = (from item in g.Queries where item.Contains("Phoenix") select item).ToList()[0]; var hatActual = (from item in g.Queries where item.Contains("pbz0026") select item).ToList()[0]; var shirtActual = (from item in g.Queries where item.Contains("pbz0038") select item).ToList()[0]; var expectedTransaction = new Dictionary <string, string> { { "e", "tr" }, { "tr_id", "6a8078be" }, { "tr_tt", "35.00" }, { "tr_af", "affiliation" }, { "tr_tx", "3.00" }, { "tr_sh", "0.00" }, { "tr_ci", "Phoenix" }, { "tr_st", "Arizona" }, { "tr_co", "US" }, { "tr_cu", "USD" } }; assertQueryContainsDefaults(transactionActual); assertQueryContainsAll(transactionActual, expectedTransaction); var expectedHat = new Dictionary <string, string> { { "e", "ti" }, { "ti_id", "6a8078be" }, { "ti_sk", "pbz0026" }, { "ti_pr", "20.00" }, { "ti_qu", "1" }, { "ti_cu", "USD" } }; assertQueryContainsDefaults(hatActual); assertQueryContainsAll(hatActual, expectedHat); var expectedShirt = new Dictionary <string, string> { { "e", "ti" }, { "ti_id", "6a8078be" }, { "ti_sk", "pbz0038" }, { "ti_nm", "shirt" }, { "ti_ca", "clothing" }, { "ti_pr", "15.00" }, { "ti_qu", "1" }, { "ti_cu", "USD" }, }; assertQueryContainsDefaults(shirtActual); assertQueryContainsAll(shirtActual, expectedShirt); return(true); }