コード例 #1
0
        public async void GetDogsittersAsyncShouldReturnAllDogsitters()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString());
            var userRepository      = new EfDeletableEntityRepository <ApplicationUser>(new ApplicationDbContext(options.Options));
            var dogsitterRepository = new EfDeletableEntityRepository <Dogsitter>(new ApplicationDbContext(options.Options));
            var ownerRepository     = new EfDeletableEntityRepository <Owner>(new ApplicationDbContext(options.Options));

            var ownersService = new OwnersService(userRepository, ownerRepository, dogsitterRepository);

            var user  = new ApplicationUser();
            var user2 = new ApplicationUser();

            var role = new ApplicationRole {
                Name = "Dogsitter", NormalizedName = "DOGSITTER",
            };

            user.Roles.Add(new IdentityUserRole <string> {
                UserId = user.Id, RoleId = role.Id
            });
            user2.Roles.Add(new IdentityUserRole <string> {
                UserId = user.Id, RoleId = role.Id
            });

            var dogsitters = ownersService.GetDogsittersAsync(new List <ApplicationUser> {
                user, user2
            });

            Assert.Equal(2, dogsitters.Count);
        }