public int Create(CreateCustomPizzaModel customPizzaModel) { var pizza = this.mapper.FromCreateCustomPizzaModel(this.pizzaContext, customPizzaModel); this.pizzaContext.CustomPizzas.Add(pizza); return(this.pizzaContext.SaveChanges()); }
public void CallMapperFromCreateCustomPizzaModel_WhenCalled() { // Arrange IEnumerable <CustomPizza> pizzas = new List <CustomPizza>(); CustomPizza customPizza = new CustomPizza(); CreateCustomPizzaModel ccpm = new CreateCustomPizzaModel(); var contextMock = new Mock <IPizzaFactoryDbContext>(); var mapperMock = new Mock <IMapper>(); var validatorMock = new Mock <IValidator>(); mapperMock.Setup(m => m.FromCreateCustomPizzaModel(contextMock.Object, ccpm)).Returns(customPizza); var pizzaDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(pizzas); contextMock.Setup(ctx => ctx.CustomPizzas).Returns(pizzaDbSetMock.Object); ICustomPizzaService customPizzaService = new CustomPizzaService(contextMock.Object, mapperMock.Object, validatorMock.Object); // Act customPizzaService.Create(ccpm); // Assert mapperMock.Verify(m => m.FromCreateCustomPizzaModel(contextMock.Object, ccpm), Times.Once); }
public void ReturnZero_IfPizzaWasNotCreated_WhenCalled() { // Arrange ICollection <CustomPizza> pizzas = new List <CustomPizza>(); CustomPizza customPizza = new CustomPizza(); CreateCustomPizzaModel ccpm = new CreateCustomPizzaModel(); var contextMock = new Mock <IPizzaFactoryDbContext>(); var mapperMock = new Mock <IMapper>(); var validatorMock = new Mock <IValidator>(); mapperMock.Setup(m => m.FromCreateCustomPizzaModel(contextMock.Object, ccpm)).Returns(customPizza); var pizzaDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(pizzas as IEnumerable <CustomPizza>); contextMock.Setup(ctx => ctx.CustomPizzas).Returns(pizzaDbSetMock.Object); contextMock.Setup(ctx => ctx.SaveChanges()).Returns(() => pizzas.Count > 0 ? 1 : 0); ICustomPizzaService customPizzaService = new CustomPizzaService(contextMock.Object, mapperMock.Object, validatorMock.Object); // Act int result = customPizzaService.Create(ccpm); // Assert Assert.AreEqual(0, result); }
public void AddNewCustomPizzaToCustomPizzas_WhenCalled() { // Arrange ICollection <CustomPizza> pizzas = new List <CustomPizza>(); CustomPizza customPizza = new CustomPizza(); CreateCustomPizzaModel ccpm = new CreateCustomPizzaModel(); var contextMock = new Mock <IPizzaFactoryDbContext>(); var mapperMock = new Mock <IMapper>(); var validatorMock = new Mock <IValidator>(); mapperMock.Setup(m => m.FromCreateCustomPizzaModel(contextMock.Object, ccpm)).Returns(customPizza); var pizzaDbSetMock = QueryableDbSetMock.GetQueryableMockDbSet(pizzas as IEnumerable <CustomPizza>); pizzaDbSetMock.Setup(p => p.Add(customPizza)).Callback(() => pizzas.Add(customPizza)); contextMock.Setup(ctx => ctx.CustomPizzas).Returns(pizzaDbSetMock.Object); ICustomPizzaService customPizzaService = new CustomPizzaService(contextMock.Object, mapperMock.Object, validatorMock.Object); // Act customPizzaService.Create(ccpm); // Assert Assert.AreEqual(1, pizzas.Count()); }
public CustomPizza FromCreateCustomPizzaModel(IPizzaFactoryDbContext pizzaContext, CreateCustomPizzaModel customPizzaModel) { var ingredients = new List <Ingredient>(); decimal price = 2.00M; foreach (var item in customPizzaModel.Ingredients) { var ingredient = pizzaContext.Ingredients.Find(item); if (ingredient.Name != "none" && !ingredients.Contains(ingredient)) { ingredients.Add(ingredient); price += ingredient.Price; } } CustomPizza pizza = new CustomPizza() { Name = customPizzaModel.Name, Description = customPizzaModel.Description, Ingredients = ingredients, Price = price }; return(pizza); }