Ejemplo n.º 1
0
        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);
        }