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);
        }
Beispiel #2
0
        public void AddUserToRoleShouldAddTheUserToTheRole()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString())
                          .Options;

            var userRepository = new EfDeletableEntityRepository <ApplicationUser>(new ApplicationDbContext(options));

            var username = "******";
            var users    = new List <ApplicationUser>
            {
                new ApplicationUser {
                    UserName = "******",
                },
                new ApplicationUser {
                    UserName = "******",
                },
                new ApplicationUser {
                    UserName = username,
                },
            };

            userRepository.AddRangeAsync(users);
            userRepository.SaveChangesAsync();

            var store       = new Mock <IUserStore <ApplicationUser> >();
            var userManager = new Mock <UserManager <ApplicationUser> >(store.Object, null, null, null, null, null, null, null, null);

            userManager.Setup(m => m.FindByNameAsync(username))
            .Returns(Task.FromResult <ApplicationUser>(users.FirstOrDefault(x => x.UserName == username)));

            var usersService = new UsersService(userRepository, userManager.Object);

            var role            = "Admin";
            var isUserAddInRole = usersService.AddUserToRole(username, role);

            Assert.True(isUserAddInRole);
        }