public void RetrieveItems_HappyPath() { //ARRANGE var svc = new Implementation.BBService(); svc.MockCurrentItems = true; var Item1 = new DL_CurrentItem(); Item1.Id = Common.ITEM1_ID; Item1.Name = Common.ITEM1_NAME; Item1.Description = Common.ITEM1_DESCRIPTION; Item1.CategoryId = Common.CATEGORY1_ID; Item1.Price = Common.ITEM1_PRICE; var Item2 = new DL_CurrentItem(); Item2.Id = Common.ITEM2_ID; Item2.Name = Common.ITEM2_NAME; Item2.Description = Common.ITEM2_DESCRIPTION; Item2.CategoryId = Common.CATEGORY1_ID; Item2.Price = Common.ITEM2_PRICE; MockDatabase.MockedDb.Add(Item1); MockDatabase.MockedDb.Add(Item2); //ACT var request = new DataContracts.RetrieveItemsRequest { CategoryId = Common.CATEGORY1_ID }; var result = svc.RetrieveItems(request); //ASSERT Assert.AreEqual(0, result.CallResult); Assert.IsTrue(String.IsNullOrEmpty(result.Message)); Assert.AreEqual(2, result.Items.Count());//Should be only two results; var returnedItem1 = (DataContracts.CurrentItem)result.Items.Where(x => x.Id == Common.ITEM1_ID).SingleOrDefault(); Assert.AreEqual(Common.CATEGORY1_ID, returnedItem1.CategoryId); Assert.AreEqual(Common.ITEM1_NAME, returnedItem1.Name); Assert.AreEqual(Common.ITEM1_DESCRIPTION, returnedItem1.Description); Assert.AreEqual(Common.ITEM1_PRICE, returnedItem1.Price); var returnedItem2 = (DataContracts.CurrentItem)result.Items.Where(x => x.Id == Common.ITEM2_ID).SingleOrDefault(); Assert.AreEqual(Common.CATEGORY1_ID, returnedItem2.CategoryId); Assert.AreEqual(Common.ITEM2_NAME, returnedItem2.Name); Assert.AreEqual(Common.ITEM2_DESCRIPTION, returnedItem2.Description); Assert.AreEqual(Common.ITEM2_PRICE, returnedItem2.Price); }
public void RetrieveItemCategories_Failure() { //ARRANGE var svc = new Implementation.BBService(); svc.MockCurrentItemCategories = true; svc.CurrentItemCategoriesFail = true; //ACT var result = svc.RetrieveItemCategories(new DataContracts.RetrieveItemCategoriesRequest()); //ASSERT Assert.AreNotEqual(0, result.CallResult); Assert.IsFalse(String.IsNullOrEmpty(result.Message)); Assert.AreEqual(DataContracts.MessageType.Error, result.MessageType); Assert.AreEqual(MOCK_DL_CurrentItemCategories.ERR_FAILURE, result.Message); }
public void PlaceOrderHappyPath_NoOrderlines() { //ARRANGE var svc = new Implementation.BBService(); var order = Common.GetOrder(); var orderlines = Common.GetOrderedItems(); var request = new PlaceOrderRequest { NewOrder = order, OrderedItems = null }; //ACT var response = svc.PlaceOrder(request); //ASSERT Assert.AreNotEqual(0, response.CallResult); Assert.IsFalse(String.IsNullOrEmpty(response.Message)); Assert.AreEqual(BBService.PLACE_ORDER_NO_ITEMS, response.Message); }
public void RetrieveItemCategory_HappyPath() { //ARRANGE var svc = new Implementation.BBService(); svc.MockCurrentItemCategories = true; var category1 = new DL_CurrentItemCategory(); category1.Id = Common.CATEGORY1_ID; category1.Description = Common.CATEGORY1_DESCRIPTION; category1.Name = Common.CATEGORY1_NAME; category1.VAT = Common.CATEGORY1_VAT; var category2 = new DL_CurrentItemCategory(); category2.Id = Common.CATEGORY2_ID; category2.Description = Common.CATEGORY2_DESCRIPTION; category2.Name = Common.CATEGORY2_NAME; category2.VAT = Common.CATEGORY2_VAT; MockDatabase.MockedDb.Add(category1); MockDatabase.MockedDb.Add(category2); //ACT var result = svc.RetrieveItemCategories(new DataContracts.RetrieveItemCategoriesRequest()); //ASSERT Assert.AreEqual(0, result.CallResult); Assert.IsTrue(String.IsNullOrEmpty(result.Message)); var returnedCategory1 = (DataContracts.CurrentItemCategory)result.Categories.Where(x => x.Id == Common.CATEGORY1_ID).SingleOrDefault(); Assert.AreEqual(Common.CATEGORY1_NAME, returnedCategory1.Name); Assert.AreEqual(Common.CATEGORY1_DESCRIPTION, returnedCategory1.Description); Assert.AreEqual(Common.CATEGORY1_VAT, returnedCategory1.VAT); var returnedCategory2 = (DataContracts.CurrentItemCategory)result.Categories.Where(x => x.Id == Common.CATEGORY2_ID).SingleOrDefault(); Assert.AreEqual(Common.CATEGORY2_NAME, returnedCategory2.Name); Assert.AreEqual(Common.CATEGORY2_DESCRIPTION, returnedCategory2.Description); Assert.AreEqual(Common.CATEGORY2_VAT, returnedCategory2.VAT); }
public void PlaceOrderHappyPath() { //ARRANGE var svc = new Implementation.BBService(); svc.MockOrderLines = true; svc.MappingObject = new Mock_DLMapping(); var order = Common.GetOrder(); var orderlines = Common.GetOrderedItems(); var request = new PlaceOrderRequest { NewOrder = order, OrderedItems = orderlines }; //ACT var response = svc.PlaceOrder(request); //ASSERT Assert.AreEqual(0, response.CallResult); Assert.IsTrue(String.IsNullOrEmpty(response.Message)); //Check what was sent to the database Assert.AreEqual(3, MockDatabase.MockedDb.Count); var SavedOrder = (ADL_Order)MockDatabase.MockedDb.Where(x => x.GetType() == typeof(MOCK_DL_Order)).SingleOrDefault(); Assert.AreEqual(Common.CUSTOMER_ID, SavedOrder.CustomerId); Assert.AreEqual(Common.SOURCE_ID, SavedOrder.SourceId); Assert.IsFalse(SavedOrder.Cancelled); Assert.AreEqual(MOCK_DL_Order.DEFAULT_ORDER_ID, SavedOrder.Id); var SavedOrderLine1 = (MOCK_DL_OrderLine)MockDatabase.MockedDb.Where(x => x.GetType() == typeof(MOCK_DL_OrderLine) && ((MOCK_DL_OrderLine)x).ItemId == Common.ITEM1_ID).SingleOrDefault(); Assert.AreEqual(Common.ITEM1_QUANTITY, SavedOrderLine1.Quantity); Assert.AreEqual(MOCK_DL_Order.DEFAULT_ORDER_ID, SavedOrderLine1.OrderId); var SavedOrderLine2 = (MOCK_DL_OrderLine)MockDatabase.MockedDb.Where(x => x.GetType() == typeof(MOCK_DL_OrderLine) && ((MOCK_DL_OrderLine)x).ItemId == Common.ITEM2_ID).SingleOrDefault(); Assert.AreEqual(Common.ITEM2_QUANTITY, SavedOrderLine2.Quantity); Assert.AreEqual(MOCK_DL_Order.DEFAULT_ORDER_ID, SavedOrderLine2.OrderId); }
public void PlaceOrderHappyPath_SaveFails() { //ARRANGE var svc = new Implementation.BBService(); svc.MockOrderLines = true; svc.OrderLinesFail = true; svc.MappingObject = new Mock_DLMapping(); var order = Common.GetOrder(); var orderlines = Common.GetOrderedItems(); var request = new PlaceOrderRequest { NewOrder = order, OrderedItems = orderlines }; //ACT var response = svc.PlaceOrder(request); //ASSERT Assert.AreNotEqual(0, response.CallResult); Assert.IsFalse(String.IsNullOrEmpty(response.Message)); Assert.AreEqual(DataContracts.MessageType.Error, response.MessageType); Assert.AreEqual(MOCK_DL_OrderLines.ERR_FAILURE, response.Message); }