public async Task CorrectInputToGettingByCategoryIdShouldReturnCorrectResult() { var builder = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var dbContext = new ApplicationDbContext(builder.Options); var categoriesRepository = new EfDeletableEntityRepository <Category>(dbContext); var subCategoriesRepository = new EfDeletableEntityRepository <SubCategory>(dbContext); var profile = new FamilyKitchenProfile(); var configuration = new MapperConfiguration(cfg => cfg.AddProfile(profile)); var mapper = new Mapper(configuration); var categoriesService = new CategoriesService(categoriesRepository, subCategoriesRepository, mapper); var category = new Category { Id = 2, Name = "Drinks", }; await categoriesRepository.AddAsync(category); await categoriesRepository.SaveChangesAsync(); await subCategoriesRepository.AddRangeAsync(new List <SubCategory> { new SubCategory { Id = 1, Name = "Alcohol", Category = category, }, new SubCategory { Id = 2, Name = "Water", Category = category, }, }); await subCategoriesRepository.SaveChangesAsync(); var categoryId = 2; var subCategories = (List <SubCategoryViewModel>)categoriesService.GetSubCategoriesByCategoryId(categoryId); Assert.Equal(2, subCategories.Count); }
public async Task CorrectInputToGettingByNameShouldReturnTrue() { var builder = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var dbContext = new ApplicationDbContext(builder.Options); var categoriesRepository = new EfDeletableEntityRepository <Category>(dbContext); var subCategoriesRepository = new EfDeletableEntityRepository <SubCategory>(dbContext); var profile = new FamilyKitchenProfile(); var configuration = new MapperConfiguration(cfg => cfg.AddProfile(profile)); var mapper = new Mapper(configuration); var categoriesService = new CategoriesService(categoriesRepository, subCategoriesRepository, mapper); await categoriesRepository.AddAsync(new Category { Name = "Drinks", SubCategories = new List <SubCategory> { new SubCategory { Name = "Alcohol", Category = new Category { Name = "Drinks", }, }, new SubCategory { Name = "Water", Category = new Category { Name = "Drinks", }, }, }, }); await categoriesRepository.SaveChangesAsync(); var category = categoriesService.GetByName("Drinks"); Assert.Equal("Drinks", category.Name); }