public async Task Edit_WithAddingNewAllergens_ShouldBeSuccessful() { var dbContext = WantoeatDbContextInMemoryFactory.InitializeContext(); await SeedData(dbContext); var service = new IngredientsService(dbContext); var entityBeforeEdit = dbContext.Ingredients.First(); var countBeforeEdit = entityBeforeEdit.IngredientAllergens.Count(); var newAllergen = dbContext.Allergens.Last(); var test = new IngredientEditInputModel { Id = entityBeforeEdit.Id, AllergenNames = new List <string> { newAllergen.Name } }; var entityAfterEdit = await service.EditAsync(test); var countAfterEdit = entityAfterEdit.IngredientAllergens.Count(); Assert.True(countAfterEdit == (countBeforeEdit + 1)); }
public async Task Edit_WithNonExistingId_ShouldReturnNull() { var dbContext = WantoeatDbContextInMemoryFactory.InitializeContext(); var service = new IngredientsService(dbContext); var tested = new IngredientEditInputModel { Id = 1 }; var result = await service.EditAsync(tested); Assert.Null(result); }
public async Task Edit_WithExistingId_ShouldReturnTheRightResult() { var dbContext = WantoeatDbContextInMemoryFactory.InitializeContext(); await SeedData(dbContext); var service = new IngredientsService(dbContext); var actual = dbContext.Ingredients.First(); var tested = new IngredientEditInputModel { Id = actual.Id }; var result = await service.EditAsync(tested); Assert.True(actual.Id == result.Id); }
public async Task Edit_WithNoNewAllergens_ShouldNotChangeTheOldOnes() { var dbContext = WantoeatDbContextInMemoryFactory.InitializeContext(); await SeedData(dbContext); var service = new IngredientsService(dbContext); var actual = dbContext.Ingredients.First(); actual.Name = "Wheat flour"; actual.ImagePath = "www"; await dbContext.SaveChangesAsync(); var tested = new IngredientEditInputModel { Id = actual.Id }; var result = await service.EditAsync(tested); Assert.True(actual.IngredientAllergens.Count() == result.IngredientAllergens.Count()); }