public void WhenUserHasNoBlocklistReturnsAllUsers()
            {
                var result = Service.GetOnlineUsersForLobbyUser(TestUsers.First());

                Assert.AreEqual(TestUsers.Count, result.Count);
                CollectionAssert.AreEquivalent(TestUsers, result);
            }
Esempio n. 2
0
            public async Task WhenUserFoundReturnsUser()
            {
                var user = TestUsers.First();

                var result = await Service.GetUserFromUsernameAsync(user.UserName);

                Assert.IsNotNull(result);
                Assert.AreEqual(user, result);
            }
Esempio n. 3
0
            public async Task WhenEmailAlreadyInUseReturnsFailure()
            {
                var account = TestUtils.GetRandomAccount();

                account.Email = TestUsers.First().Email;
                var result = await Service.RegisterUserAsync(account, "password");

                Assert.IsFalse(result.Success);
            }
                public async Task ReturnsSuccessAndBroadcastsToAllUsers()
                {
                    var firstUser = TestUsers.First();

                    var result = await Service.StartNewGameAsync(firstUser.ConnectionId, new StartNewGameRequest());

                    Assert.IsTrue(result.Success);

                    SubscriberMock.Verify(s => s.PublishAsync(It.Is <RedisChannel>(channel => channel == RedisChannels.NewGame), It.IsAny <RedisValue>(), It.IsAny <CommandFlags>()), Times.Once);
                }
            public async Task WhenUserIsAlreadyInGameReturnsFailure()
            {
                var firstUser = TestUsers.First();

                await Service.StartNewGameAsync(firstUser.ConnectionId, new StartNewGameRequest());

                var result = await Service.StartNewGameAsync(firstUser.ConnectionId, new StartNewGameRequest());

                Assert.IsFalse(result.Success);
            }
Esempio n. 6
0
            public async Task WhenIncorrectPasswordReturnsNull()
            {
                var user = TestUsers.First();

                UserManagerMock.Setup(um => um.CheckPasswordAsync(It.IsAny <GametekiUser>(), It.IsAny <string>())).ReturnsAsync(false);

                var result = await Service.LoginUserAsync(user.UserName, "password", "127.0.0.1");

                Assert.IsNull(result);
            }
Esempio n. 7
0
            public async Task WhenSuccessfulReturnsToken()
            {
                var user = TestUsers.First();

                var result = await Service.CreateRefreshTokenAsync(user, "127.0.0.1");

                Assert.IsNotNull(result);
                Assert.AreEqual("127.0.0.1", result.IpAddress);
                Assert.IsNotNull(result.Token);
                Assert.AreEqual(user.Id, result.UserId);
            }
            public void WhenSuppliedUserHasUserOnTheirBlockListReturnsAllExceptThatUser()
            {
                var sixthUser = TestUsers.ElementAt(6);
                var firstUser = TestUsers.First();

                firstUser.BlockList.Add(sixthUser.Name);

                var result = Service.GetOnlineUsersForLobbyUser(firstUser);

                Assert.AreEqual(TestUsers.Count - 1, result.Count);
                CollectionAssert.DoesNotContain(result, sixthUser);
            }
Esempio n. 9
0
            public async Task WhenSucceedsReturnsTrue()
            {
                DbContext.RefreshToken.Add(new RefreshToken {
                    Token = "RefreshToken", User = TestUsers.First()
                });
                await DbContext.SaveChangesAsync();

                var result = await Service.LogoutUserAsync(
                    GenerateTokenForUser(TestUsers.First().UserName, AuthTokenOptionsMock.Object.Value.Issuer, AuthTokenOptionsMock.Object.Value.Key), "RefreshToken");

                Assert.IsTrue(result);
            }
Esempio n. 10
0
            public async Task WhenCorrectPasswordReturnsResult()
            {
                var user = TestUsers.First();

                UserManagerMock.Setup(um => um.CheckPasswordAsync(It.IsAny <GametekiUser>(), It.IsAny <string>())).ReturnsAsync(true);

                var result = await Service.LoginUserAsync(user.UserName, "password", "127.0.0.1");

                Assert.IsNotNull(result);
                Assert.AreEqual(user, result.User);
                Assert.IsNotNull(result.Token);
                Assert.IsNotNull(result.RefreshToken);
            }
Esempio n. 11
0
            public async Task WhenPermissionsAddedCallsAdd()
            {
                var user           = TestUsers.First();
                var newPermissions = new Permissions
                {
                    CanEditNews    = true,
                    CanManageUsers = true,
                    CanManageGames = true
                };

                var result = await Service.UpdatePermissionsAsync(user, newPermissions);

                Assert.IsTrue(result);
                Assert.AreEqual(3, user.UserRoles.Count);
            }
Esempio n. 12
0
            public async Task WhenTokensRefreshesSuccessfullyReturnsResult()
            {
                var user = TestUsers.First();

                user.UserRoles.Add(new GametekiUserRole {
                    Role = new GametekiRole {
                        Name = "Role"
                    }, User = user
                });
                var token = GenerateTokenForUser(user.UserName, AuthTokenOptionsMock.Object.Value.Issuer, AuthTokenOptionsMock.Object.Value.Key);

                DbContext.RefreshToken.Add(new RefreshToken {
                    Token = "RefreshToken", User = TestUsers.First()
                });
                await DbContext.SaveChangesAsync();

                var result = await Service.RefreshTokenAsync(token, "RefreshToken", "127.0.0.1");

                Assert.IsNotNull(result);
                Assert.IsNotNull(result.RefreshToken);
                Assert.IsNotNull(result.Token);
            }