public void WhenUserHasNoBlocklistReturnsAllUsers() { var result = Service.GetOnlineUsersForLobbyUser(TestUsers.First()); Assert.AreEqual(TestUsers.Count, result.Count); CollectionAssert.AreEquivalent(TestUsers, result); }
public async Task WhenUserFoundReturnsUser() { var user = TestUsers.First(); var result = await Service.GetUserFromUsernameAsync(user.UserName); Assert.IsNotNull(result); Assert.AreEqual(user, result); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }