private Ingridient UpdateModelToDomainModel(IngridientUpdateModel updateModel) { return(new Ingridient() { Name = updateModel.Name, Kcal = updateModel.Kcal.Value }); }
public void UpdateIngridient_ShouldThrow_EntityException(IngridientUpdateModel ingridient, string expectedMessage) { //Arrange var(ingridientRepository, dataBase) = GetMocks(); var ingridientService = new IngridientService(ingridientRepository.Object); //Act var exception = Assert.ThrowsAsync <EntityException>(() => ingridientService.UpdateIngridient(1, ingridient)); //Assert Assert.AreEqual(expectedMessage, exception.Message); }
public async Task <Ingridient> UpdateIngridient(int id, IngridientUpdateModel ingridientUpdateModel) { await CheckExisting(id); if (ingridientUpdateModel.Kcal.HasValue && ingridientUpdateModel.Kcal < 0) { throw new EntityException("Field 'kcal' of ingridient can't be less than 0"); } if ("".Equals(ingridientUpdateModel.Name)) { throw new EntityException("Field 'name' of ingridient can't be empty"); } return(await _ingridientRepository.UpdateIngridient(id, ingridientUpdateModel)); }
public void UpdateIngridient_ShouldThrow_EntityDoesntExistException() { //Arrange var(ingridientRepository, dataBase) = GetMocks(); var ingridientService = new IngridientService(ingridientRepository.Object); var ingridientUpdateModel = new IngridientUpdateModel() { Name = "Ingridient1", Kcal = 200 }; var idOfIngridientToBeUpdated = 100; //Act var exception = Assert.ThrowsAsync <EntityDoesNotExistException>(() => ingridientService.UpdateIngridient(idOfIngridientToBeUpdated, ingridientUpdateModel)); //Assert Assert.AreEqual("Ingridient with id = 100 doesn't exist", exception.Message); }
public async Task UpdateIngridient_ShouldUpdateModel() { //Arrange var(ingridientRepository, dataBase) = GetMocks(); var ingridientService = new IngridientService(ingridientRepository.Object); var idOfIngridientToBeUpdated = 1; var ingridientUpdateModel = new IngridientUpdateModel() { Name = "UpdatedIngridient1", Kcal = 300 }; //Act var updatedIngridientModel = await ingridientService.UpdateIngridient(idOfIngridientToBeUpdated, ingridientUpdateModel); //Assert Assert.AreEqual(updatedIngridientModel.Name, dataBase[idOfIngridientToBeUpdated].Name); Assert.AreEqual(updatedIngridientModel.Kcal, dataBase[idOfIngridientToBeUpdated].Kcal); }
public async Task <Ingridient> UpdateIngridient(int id, IngridientUpdateModel ingridientUpdateModel) { var ingridient = await GetIngridient(id); if (ingridientUpdateModel.Name is {})