public async Task ReturnCorrectType_BannedUsers()
        {
            //Arrange
            var options   = Utilities.GetOptions(nameof(ReturnCorrectType_BannedUsers));
            var testGuid  = Guid.NewGuid();
            var testGuid2 = Guid.NewGuid();

            var users = new List <User>
            {
                new User {
                    Id = testGuid, UserName = "******", IsBanned = true
                },
                new User {
                    Id = testGuid2, UserName = "******", IsBanned = true
                },
            };

            using (var actContext = new TheatreContext(options))
            {
                //Act & Assert
                var sut = new BanServices(actContext);
                await actContext.Users.AddAsync(users[0]);

                await actContext.Users.AddAsync(users[1]);

                await actContext.SaveChangesAsync();

                var result = await sut.GetAllBannedUsersAsync("banned");

                Assert.IsInstanceOfType(result, typeof(ICollection <User>));
            }
        }
Example #2
0
        public async Task SetCorrectParams()
        {
            //Arrange
            var options  = Utilities.GetOptions(nameof(SetCorrectParams));
            var testGuid = Guid.NewGuid();
            var user     = new User {
                Id = testGuid, UserName = "******"
            };

            using (var actContext = new TheatreContext(options))
            {
                //Act
                var sut = new BanServices(actContext);
                await actContext.Users.AddAsync(user);

                await actContext.SaveChangesAsync();

                await sut.CreateBanAsync(testGuid, "Improper language", 31);

                await actContext.SaveChangesAsync();
            }

            using (var assertContext = new TheatreContext(options))
            {
                //Assert
                var ban = assertContext.Bans.Include(b => b.User).FirstOrDefault(b => b.User.UserName == "Mariika");
                Assert.AreEqual("Mariika", ban.User.UserName);
                Assert.AreEqual("Improper language", ban.ReasonBanned);
            }
        }
Example #3
0
        public async Task CreateInstanceOfBan()
        {
            var options = Utilities.GetOptions(nameof(CreateInstanceOfBan));

            var testGuid = Guid.NewGuid();

            var user = new User {
                Id = testGuid, UserName = "******"
            };

            using (var actContext = new TheatreContext(options))
            {
                var sut = new BanServices(actContext);
                await actContext.Users.AddAsync(user);

                await actContext.SaveChangesAsync();

                await sut.CreateBanAsync(testGuid, "ImproperLanguage", 31);

                await actContext.SaveChangesAsync();
            }

            using (var assertContext = new TheatreContext(options))
            {
                var ban = assertContext.Bans.FirstOrDefault(x => x.User == user);
                Assert.IsInstanceOfType(ban, typeof(Ban));
            };
        }
        public async Task ThrowWhen_BanIsNull()
        {
            //Arrange
            var options  = Utilities.GetOptions(nameof(CorrectlyDeleteBan));
            var testGuid = Guid.NewGuid();
            var userTest = new User
            {
                Id             = testGuid,
                UserName       = "******",
                IsBanned       = true,
                LockoutEnabled = true,
                LockoutEnd     = DateTime.UtcNow.AddDays(1)
            };

            using (var assertContext = new TheatreContext(options))
            {
                //Act & Assert
                await assertContext.Users.AddAsync(userTest);

                await assertContext.SaveChangesAsync();

                var sut = new BanServices(assertContext);
                await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.RemoveBanAsync(testGuid));
            }
        }
        public async Task CorrectlyDeleteBan()
        {
            //Arrange
            var options  = Utilities.GetOptions(nameof(CorrectlyDeleteBan));
            var testGuid = Guid.NewGuid();
            var user     = new User
            {
                Id             = testGuid,
                UserName       = "******",
                IsBanned       = true,
                LockoutEnabled = true,
                LockoutEnd     = DateTime.UtcNow.AddDays(1)
            };
            var ban = new Ban {
                HasExpired = false, User = user
            };

            using (var actContext = new TheatreContext(options))
            {
                //Act
                await actContext.Users.AddAsync(user);

                await actContext.Bans.AddAsync(ban);

                await actContext.SaveChangesAsync();

                var sut = new BanServices(actContext);
                await sut.RemoveBanAsync(testGuid);

                await actContext.SaveChangesAsync();
            }

            using (var assertContext = new TheatreContext(options))
            {
                //Assert
                var user01 = await assertContext.Users.FirstAsync();

                var ban01 = assertContext.Bans
                            .Include(u => u.User)
                            .Where(b => b.User == user)
                            .FirstOrDefault();
                Assert.AreEqual(user.IsBanned, false);
                Assert.AreEqual(ban.HasExpired, true);
                Assert.AreEqual(user.LockoutEnd < DateTime.Now, true);
            }
        }
        public async Task ReturnCorrectObjects_ActiveUsers()
        {
            //Arrange
            var options    = Utilities.GetOptions(nameof(ReturnCorrectObjects_ActiveUsers));
            var testGuid   = Guid.NewGuid();
            var testGuid02 = Guid.NewGuid();

            var users = new List <User>
            {
                new User {
                    Id = testGuid, UserName = "******", IsBanned = false
                },
                new User {
                    Id = testGuid02, UserName = "******", IsBanned = false
                },
            };


            using (var actContext = new TheatreContext(options))
            {
                //Act & Assert
                var sut = new BanServices(actContext);
                await actContext.Users.AddAsync(users[0]);

                await actContext.Users.AddAsync(users[1]);

                await actContext.SaveChangesAsync();

                var result = await sut.GetAllBannedUsersAsync("active");

                Assert.AreEqual(users[0].UserName, result.AsQueryable().First().UserName);
                Assert.AreEqual(users[0].Id, result.AsQueryable().First().Id);
                Assert.AreEqual(users[0].IsBanned, result.AsQueryable().First().IsBanned);
                Assert.AreEqual(users[1].UserName, result.AsQueryable().Last().UserName);
                Assert.AreEqual(users[1].Id, result.AsQueryable().Last().Id);
                Assert.AreEqual(users[1].IsBanned, result.AsQueryable().Last().IsBanned);
            }
        }