public async Task EditAsync_WithNonExistentId_ShouldThrowArgumentNullException() { // Arrange MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var nutritionalValueRepository = new EfDeletableEntityRepository <NutritionalValue>(context); var nutritionalValueService = new NutritionalValueService(nutritionalValueRepository); var nutritionalValueServiceModel = new NutritionalValueServiceModel(); var nonExistentId = Guid.NewGuid().ToString(); // Act // Assert await Assert.ThrowsAsync <ArgumentNullException>(async() => { await nutritionalValueService.EditAsync(nonExistentId, nutritionalValueServiceModel); }); }
public async Task EditAsync(string id, NutritionalValueServiceModel nutritionalValueServiceModel) { var nutritionalValueFromDb = await this.nutritionalValueRepository .GetByIdWithDeletedAsync(id); if (nutritionalValueFromDb == null) { throw new ArgumentNullException( string.Format(InvalidNutritionalValueIdErrorMessage, id)); } nutritionalValueFromDb.Calories = nutritionalValueServiceModel.Calories; nutritionalValueFromDb.Fats = nutritionalValueServiceModel.Fats; nutritionalValueFromDb.SaturatedFats = nutritionalValueServiceModel.SaturatedFats; nutritionalValueFromDb.Carbohydrates = nutritionalValueServiceModel.Carbohydrates; nutritionalValueFromDb.Sugar = nutritionalValueServiceModel.Sugar; nutritionalValueFromDb.Protein = nutritionalValueServiceModel.Protein; nutritionalValueFromDb.Fiber = nutritionalValueServiceModel.Fiber; nutritionalValueFromDb.Salt = nutritionalValueServiceModel.Salt; this.nutritionalValueRepository.Update(nutritionalValueFromDb); }