public void PlayerCanUnblockAPlayerAfterBlockingThem() { BlockPlayerRequest request = new BlockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userTwo") }; BlockPlayerResponse response = client.BlockPlayer(request); Assert.AreEqual(response.Status.IsSuccess, true); ViewBlockedPlayersResponse blockResponse = client.ViewBlockedPlayers(new ViewBlockedPlayersRequest()); Assert.AreEqual(blockResponse.Status.IsSuccess, true); Assert.AreEqual(1, blockResponse.BlockedUsers.Count); Assert.IsTrue(blockResponse.BlockedUsers.Any(it => it.Id == authHelper.getAccountId("userTwo"))); UnblockPlayerRequest unblockRequest = new UnblockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userTwo") }; UnblockPlayerResponse unblockResponse = client.UnblockPlayer(unblockRequest); Assert.AreEqual(unblockResponse.Status.IsSuccess, true); ViewBlockedPlayersResponse blockedUserResponse = client.ViewBlockedPlayers(new ViewBlockedPlayersRequest()); Assert.AreEqual(blockedUserResponse.Status.IsSuccess, true); Assert.AreEqual(0, blockedUserResponse.BlockedUsers.Count); }
public override async Task <ViewBlockedPlayersResponse> ViewBlockedPlayers(ViewBlockedPlayersRequest request, ServerCallContext context) { DbUserModel dbUserModel = context.UserState["user"] as DbUserModel; if (dbUserModel == null) { return new ViewBlockedPlayersResponse() { Status = ResponseFactory.createResponse(ResponseType.UNAUTHORIZED) } } ; ViewBlockedPlayersResponse response = new ViewBlockedPlayersResponse(); var blockedUsers = await Task.WhenAll( (await dbUserModel.GetBlockedUsers()) .Select( async it => ( await DbUserModel.GetUserFromGuid(it.FriendId) ).AsUser() ) ); response.BlockedUsers.AddRange(blockedUsers); response.Status = ResponseFactory.createResponse(ResponseType.SUCCESS); return(response); }
public void AfterBlockingAPlayerTheyAppearOnTheBlockList() { BlockPlayerRequest request = new BlockPlayerRequest() { UserIdToBlock = authHelper.getAccountId("userTwo") }; BlockPlayerResponse response = client.BlockPlayer(request); Assert.AreEqual(response.Status.IsSuccess, true); ViewBlockedPlayersResponse blockResponse = client.ViewBlockedPlayers(new ViewBlockedPlayersRequest()); Assert.AreEqual(blockResponse.Status.IsSuccess, true); Assert.AreEqual(1, blockResponse.BlockedUsers.Count); Assert.IsTrue(blockResponse.BlockedUsers.Any(it => it.Id == authHelper.getAccountId("userTwo"))); }
public void CannotBlockAnAdmin() { SuperUser admin = authHelper.CreateSuperUser(); var errorResponse = client.BlockPlayer(new BlockPlayerRequest() { UserIdToBlock = admin.DbUserModel.UserModel.Id, }); Assert.AreEqual(errorResponse.Status.IsSuccess, false); Assert.AreEqual(errorResponse.Status.Detail, ResponseType.PERMISSION_DENIED.ToString()); ViewBlockedPlayersResponse blockedUserResponse = client.ViewBlockedPlayers(new ViewBlockedPlayersRequest()); Assert.AreEqual(errorResponse.Status.IsSuccess, true); Assert.AreEqual(0, blockedUserResponse.BlockedUsers.Count); }
public override async Task <ViewBlockedPlayersResponse> ViewBlockedPlayers(ViewBlockedPlayersRequest request, ServerCallContext context) { RedisUserModel user = context.UserState["user"] as RedisUserModel; if (user == null) { return new ViewBlockedPlayersResponse() { Status = ResponseFactory.createResponse(ResponseType.UNAUTHORIZED) } } ; ViewBlockedPlayersResponse response = new ViewBlockedPlayersResponse(); response.BlockedUsers.AddRange((await user.GetBlockedUsers()).ConvertAll(it => it.asUser())); response.Status = ResponseFactory.createResponse(ResponseType.SUCCESS); return(response); }