public async void Menu_GetByTagIndexAsync_PositiveAndNegative_Test() { var options = new DbContextOptionsBuilder <DreamFoodDeliveryContext>() .UseInMemoryDatabase(databaseName: "Menu_GetByTagIndexAsync_PositiveAndNegative_Test") .Options; string tagTestName = "new"; string tagTestSecondName = "old"; using (var context = new DreamFoodDeliveryContext(options)) { TagDB[] tags = new TagDB[] { new TagDB { TagName = tagTestName }, new TagDB { TagName = tagTestSecondName }, }; DishDB dish = new DishDB { Name = "dish" }; context.AddRange(tags); context.Add(dish); DishTagDB dishTag = new DishTagDB { TagId = tags.FirstOrDefault(x => x.TagName == tagTestName).Id, DishId = dish.Id }; context.Add(dishTag); await context.SaveChangesAsync(); } using (var context = new DreamFoodDeliveryContext(options)) { var service = new MenuService(_mapper, context); var resultPositive = await service.GetByTagIndexAsync(tagTestName); var resultNegative = await service.GetByTagIndexAsync(tagTestSecondName); resultPositive.IsSuccess.Should().BeTrue(); resultNegative.IsSuccess.Should().BeFalse(); } }
public async void Tags_GetAllTagsAsync_Test() { var options = new DbContextOptionsBuilder <DreamFoodDeliveryContext>() .UseInMemoryDatabase(databaseName: "Tag_GetAllTagsAsync_Test") .Options; // Run the test against one instance of the context using (var context = new DreamFoodDeliveryContext(options)) { context.AddRange(_dishes); context.AddRange(_tags); DishTagDB dishTag = new DishTagDB { TagId = _tags.FirstOrDefault().Id, DishId = _dishes.FirstOrDefault().Id, }; context.Add(dishTag); await context.SaveChangesAsync(); } // Use a separate instance of the context to verify correct data was saved to database using (var context = new DreamFoodDeliveryContext(options)) { var service = new TagService(_mapper, context); var tagFromBase = await context.Tags.FirstOrDefaultAsync(); var result = await service.GetAllTagsAsync(); result.IsSuccess.Should().BeTrue(); result.Data.Count().Should().Be(1); foreach (var item in result.Data) { item.TagName.Should().Be(tagFromBase.TagName); } } }