コード例 #1
0
        public async Task BlockUser()
        {
            var user = new ApplicationUser {
                Id = Guid.NewGuid().ToString(), UserName = "******", IsBlocked = false
            };
            var role = new ApplicationRole {
                Id = Guid.NewGuid().ToString(), Name = "Administrator", RoleLevel = 1
            };

            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;

            var roleStore       = new Mock <IRoleStore <ApplicationRole> >();
            var roleManagerMock =
                new Mock <RoleManager <ApplicationRole> >(roleStore.Object, null, null, null, null);

            roleManagerMock.Setup(x => x.FindByNameAsync(It.IsAny <string>())).ReturnsAsync(role);

            using (var db = new ApplicationDbContext(options))
            {
                IUsersPenaltiesService userPenaltiesSecvice = new UsersPenaltiesService(db, roleManagerMock.Object);
                db.Users.AddRange(user);
                db.Roles.AddRange(role);
                await db.SaveChangesAsync();

                var result = await userPenaltiesSecvice.BlockUser(user.UserName);

                Assert.True(result);
                Assert.True(db.Users.FirstOrDefault(x => x.Id == user.Id).IsBlocked);
            }
        }
コード例 #2
0
        public async Task UnblockUser()
        {
            var user = new ApplicationUser {
                Id = Guid.NewGuid().ToString(), UserName = "******", IsBlocked = true
            };

            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;

            var roleStore       = new Mock <IRoleStore <ApplicationRole> >();
            var roleManagerMock =
                new Mock <RoleManager <ApplicationRole> >(roleStore.Object, null, null, null, null);

            using (var db = new ApplicationDbContext(options))
            {
                IUsersPenaltiesService userPenaltiesSecvice = new UsersPenaltiesService(db, roleManagerMock.Object);
                db.Users.AddRange(user);
                await db.SaveChangesAsync();

                var result = await userPenaltiesSecvice.UnblockUser(user.UserName);

                Assert.True(result);
                Assert.False(db.Users.FirstOrDefault(x => x.Id == user.Id).IsBlocked);
            }
        }
コード例 #3
0
        public async Task UnblockUser()
        {
            var user1 = new ApplicationUser {
                Id = Guid.NewGuid().ToString(), UserName = "******", IsBlocked = true
            };
            var user2 = new ApplicationUser {
                Id = Guid.NewGuid().ToString(), UserName = "******", IsBlocked = true
            };
            var user3 = new ApplicationUser {
                Id = Guid.NewGuid().ToString(), UserName = "******", IsBlocked = true
            };

            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;

            var roleStore       = new Mock <IRoleStore <ApplicationRole> >();
            var roleManagerMock =
                new Mock <RoleManager <ApplicationRole> >(roleStore.Object, null, null, null, null);

            using (var db = new ApplicationDbContext(options))
            {
                IUsersPenaltiesService userPenaltiesSecvice = new UsersPenaltiesService(db, roleManagerMock.Object);
                db.Users.AddRange(user1, user2, user3);
                await db.SaveChangesAsync();

                var result = userPenaltiesSecvice.GetAllBlockedUsers();

                Assert.Equal(3, result.Count);
                Assert.Contains(user3.UserName, result);
            }
        }
コード例 #4
0
        public async Task BlockAllUsers()
        {
            var user1 = new ApplicationUser {
                Id = Guid.NewGuid().ToString(), UserName = "******", IsBlocked = false
            };
            var user2 = new ApplicationUser {
                Id = Guid.NewGuid().ToString(), UserName = "******", IsBlocked = false
            };
            var user3 = new ApplicationUser {
                Id = Guid.NewGuid().ToString(), UserName = "******", IsBlocked = false
            };
            var adminRole =
                new ApplicationRole {
                Id = Guid.NewGuid().ToString(), Name = "Administrator", RoleLevel = 1
            };
            var editorRole = new ApplicationRole {
                Id = Guid.NewGuid().ToString(), Name = "Editor", RoleLevel = 2
            };

            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;

            var roleStore       = new Mock <IRoleStore <ApplicationRole> >();
            var roleManagerMock =
                new Mock <RoleManager <ApplicationRole> >(roleStore.Object, null, null, null, null);

            roleManagerMock.Setup(x => x.FindByNameAsync(It.IsAny <string>())).ReturnsAsync(adminRole);

            using (var db = new ApplicationDbContext(options))
            {
                IUsersPenaltiesService userPenaltiesSecvice = new UsersPenaltiesService(db, roleManagerMock.Object);
                db.Users.AddRange(user1, user2, user3);
                db.Roles.AddRange(adminRole);
                db.UserRoles.AddRange(new IdentityUserRole <string>
                {
                    RoleId = adminRole.Id,
                    UserId = user2.Id
                },
                                      new IdentityUserRole <string>
                {
                    RoleId = editorRole.Id,
                    UserId = user1.Id,
                },
                                      new IdentityUserRole <string>
                {
                    RoleId = editorRole.Id,
                    UserId = user3.Id,
                });

                await db.SaveChangesAsync();

                var result = await userPenaltiesSecvice.BlockAllUsers();

                Assert.Equal(2, result);
                Assert.True(db.Users.FirstOrDefault(x => x.UserName == user1.UserName).IsBlocked);
            }
        }