public void AddOrderMealSholudAddMealToOrder() { //arrange var orderedMealPoco = new OrderedMealPoco { Count = 1, MealName = "special meal name", OrderId = 3, Price = 15.56, PurchaserName = "purchaser name" }; _mealMapper .Setup(m => m.MapToPoco(It.IsAny <OrderedMeal>())) .Returns(orderedMealPoco); //act _repo.AddOrderedMeal(new OrderedMeal()); //assert _mealMapper.Verify(m => m.MapToPoco(It.IsAny <OrderedMeal>()), Times.Once); var orderFromDb = GetOrderPocoFromDbById(3); var orderedMeal = orderFromDb.OrderedMeals .FirstOrDefault(om => om.MealName == orderedMealPoco.MealName); Assert.NotNull(orderFromDb); }
public void OrderedMealPocoShouldBeMappedToOrderedMeal() { //Arrange var orderedMealPoco = new OrderedMealPoco { Count = 6, MealName = "meal name", OrderId = 145, Id = 1765, Price = 234.67, PurchaserName = "purchaser name" }; //Act var mappedOrderedMeal = _orderdedMealMapper.MapToDomain(orderedMealPoco); //Assert Assert.Equal(mappedOrderedMeal.Id, mappedOrderedMeal.Id); Assert.Equal(mappedOrderedMeal.MealName, mappedOrderedMeal.MealName); Assert.Equal(mappedOrderedMeal.Count, mappedOrderedMeal.Count); Assert.Equal(mappedOrderedMeal.OrderId, mappedOrderedMeal.OrderId); Assert.Equal(mappedOrderedMeal.Price, mappedOrderedMeal.Price); Assert.Equal(mappedOrderedMeal.PurchaserName, mappedOrderedMeal.PurchaserName); Assert.IsType <OrderedMeal>(mappedOrderedMeal); }
public OrderPoco MapIt(OrderPoco order, OrderedMealPoco orderedMeal, StatusPoco status, RestaurantPoco restaurant) { // Terminating call. Since we can return null from this function // we need to be ready for PetaPoco to callback later with null // parameters if (order == null) { return(_currentOrder); } // Is this the same author as the current one we're processing if (_currentOrder != null && _currentOrder.Id == order.Id) { // Yes, just add this post to the current author's collection of posts _currentOrder.OrderedMeals.Add(orderedMeal); // Return null to indicate we're not done with this author yet return(null); } // This is a different author to the current one, or this is the // first time through and we don't have an author yet // Save the current author var previousOrder = _currentOrder; // Setup the new current author _currentOrder = order; _currentOrder.OrderedMeals = new List <OrderedMealPoco>(); if (orderedMeal.OrderId == order.Id) { _currentOrder.OrderedMeals.Add(orderedMeal); } if (status.Id == order.StatusId) { _currentOrder.Status = status; } if (restaurant.ID == order.RestaurantId) { _currentOrder.Restaurant = restaurant; } // Return the now populated previous author (or null if first time through) return(previousOrder); }