public void CannotUpdateAlreadyAcceptedRequest() { var key = "UserFriend_CannotUpdateAlreadyAcceptedRequest"; var friend = CreateUser(key); var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); var relationshipRequest = new RelationshipRequest { RequestorId = loggedInAccount.User.Id, AcceptorId = friend.Id, AutoAccept = true }; Fixture.SUGARClient.UserFriend.CreateFriendRequest(relationshipRequest); Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key + "_Friend"); var relationshipStatusUpdate = new RelationshipStatusUpdate { RequestorId = loggedInAccount.User.Id, AcceptorId = friend.Id, Accepted = true }; Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.UserFriend.UpdateFriendRequest(relationshipStatusUpdate)); }
internal static void Remove(int id, Action <bool> onComplete) { SUGARManager.unity.StartSpinner(); if (SUGARManager.UserSignedIn) { var relationship = new RelationshipStatusUpdate { RequestorId = id, AcceptorId = SUGARManager.CurrentUser.Id, Accepted = false }; SUGARManager.client.GroupMember.UpdateMemberAsync(relationship, () => { SUGARManager.userGroup.RefreshRelationships(onComplete); }, exception => { Debug.LogError($"Failed to update group status. {exception}"); SUGARManager.unity.StopSpinner(); onComplete(false); }); } else { SUGARManager.unity.StopSpinner(); onComplete(false); } }
public void CannotUpdateAlreadyAcceptedRequest() { var key = "GroupMember_CannotUpdateAlreadyAcceptedRequest"; var group = CreateGroup(key); var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); var relationshipRequest = new RelationshipRequest { RequestorId = loggedInAccount.User.Id, AcceptorId = group.Id, AutoAccept = true }; Fixture.SUGARClient.GroupMember.CreateMemberRequest(relationshipRequest); Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key + "_Creator"); var relationshipStatusUpdate = new RelationshipStatusUpdate { RequestorId = loggedInAccount.User.Id, AcceptorId = group.Id, Accepted = true }; Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.GroupMember.UpdateMemberRequest(relationshipStatusUpdate)); }
internal static void UpdateRequest(int id, bool accept, Action <bool> onComplete) { SUGARManager.unity.StartSpinner(); if (SUGARManager.UserSignedIn) { var relationship = new RelationshipStatusUpdate { RequestorId = id, AcceptorId = SUGARManager.CurrentUser.Id, Accepted = accept }; SUGARManager.client.UserFriend.UpdateFriendRequestAsync(relationship, () => { SUGARManager.userFriend.RefreshRelationships(onComplete); }, exception => { Debug.LogError($"Failed to update friend request. {exception}"); SUGARManager.unity.StopSpinner(); onComplete(false); }); } else { SUGARManager.unity.StopSpinner(); onComplete(false); } }
public void CannotUpdateAlreadyAcceptedRequest() { var key = "Alliance_CannotUpdateAlreadyAcceptedRequest"; Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); var group1 = CreateGroup(key + "_Req"); var group2 = CreateGroup(key + "_Acc"); var relationshipRequest = new RelationshipRequest { RequestorId = group1.Id, AcceptorId = group2.Id, AutoAccept = true }; Fixture.SUGARClient.AllianceClient.CreateAllianceRequest(relationshipRequest); var relationshipStatusUpdate = new RelationshipStatusUpdate { RequestorId = group1.Id, AcceptorId = group2.Id, Accepted = true }; Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.AllianceClient.UpdateAllianceRequest(relationshipStatusUpdate)); }
public void CanRejectRequest() { var key = "GroupMember_CanRejectRequest"; var group = CreateGroup(key); var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); var relationshipRequest = new RelationshipRequest { RequestorId = loggedInAccount.User.Id, AcceptorId = group.Id, AutoAccept = false }; Fixture.SUGARClient.GroupMember.CreateMemberRequest(relationshipRequest); var sent = Fixture.SUGARClient.GroupMember.GetSentRequests(loggedInAccount.User.Id); Assert.Equal(1, sent.Count()); Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key + "_Creator"); var received = Fixture.SUGARClient.GroupMember.GetMemberRequests(group.Id); Assert.Equal(1, received.Count()); var relationshipStatusUpdate = new RelationshipStatusUpdate { RequestorId = loggedInAccount.User.Id, AcceptorId = group.Id, Accepted = false }; Fixture.SUGARClient.GroupMember.UpdateMemberRequest(relationshipStatusUpdate); received = Fixture.SUGARClient.GroupMember.GetMemberRequests(group.Id); Assert.Equal(0, received.Count()); received = Fixture.SUGARClient.GroupMember.GetMembers(group.Id); Assert.Equal(1, received.Count()); var receivedCount = Fixture.SUGARClient.GroupMember.GetMemberCount(group.Id); Assert.Equal(1, receivedCount); loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); sent = Fixture.SUGARClient.GroupMember.GetSentRequests(loggedInAccount.User.Id); Assert.Equal(0, sent.Count()); sent = Fixture.SUGARClient.GroupMember.GetUserGroups(loggedInAccount.User.Id); Assert.Equal(0, sent.Count()); }
public void CanRejectRequest() { var key = "UserFriend_CanRejectRequest"; var friend = CreateUser(key); var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); var relationshipRequest = new RelationshipRequest { RequestorId = loggedInAccount.User.Id, AcceptorId = friend.Id, AutoAccept = false }; Fixture.SUGARClient.UserFriend.CreateFriendRequest(relationshipRequest); var sent = Fixture.SUGARClient.UserFriend.GetSentRequests(loggedInAccount.User.Id); Assert.Equal(1, sent.Count()); Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key + "_Friend"); var received = Fixture.SUGARClient.UserFriend.GetFriendRequests(friend.Id); Assert.Equal(1, received.Count()); var relationshipStatusUpdate = new RelationshipStatusUpdate { RequestorId = loggedInAccount.User.Id, AcceptorId = friend.Id, Accepted = false }; Fixture.SUGARClient.UserFriend.UpdateFriendRequest(relationshipStatusUpdate); received = Fixture.SUGARClient.UserFriend.GetFriendRequests(friend.Id); Assert.Equal(0, received.Count()); received = Fixture.SUGARClient.UserFriend.GetFriends(friend.Id); Assert.Equal(0, received.Count()); loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); sent = Fixture.SUGARClient.UserFriend.GetSentRequests(loggedInAccount.User.Id); Assert.Equal(0, sent.Count()); sent = Fixture.SUGARClient.UserFriend.GetFriends(loggedInAccount.User.Id); Assert.Equal(0, sent.Count()); }
public void CannotUpdateNotExistingRelationship() { var key = "UserFriend_CannotUpdateNotExistingRelationship"; var friend = CreateUser(key); var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); var relationshipStatusUpdate = new RelationshipStatusUpdate { RequestorId = loggedInAccount.User.Id, AcceptorId = friend.Id }; Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.UserFriend.UpdateFriend(relationshipStatusUpdate)); }
public void CannotUpdateNotExistingRelationship() { var key = "GroupMember_CannotUpdateNotExistingRelationship"; var group = CreateGroup(key); var loggedInAccount = Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); var relationshipStatusUpdate = new RelationshipStatusUpdate { RequestorId = loggedInAccount.User.Id, AcceptorId = group.Id }; Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.GroupMember.UpdateMember(relationshipStatusUpdate)); }
public void CanRejectRequest() { var key = "Alliance_CanRejectRequest"; Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); var group1 = CreateGroup(key + "_Req"); var group2 = CreateGroup(key + "_Acc"); var relationshipRequest = new RelationshipRequest { RequestorId = group1.Id, AcceptorId = group2.Id, AutoAccept = false }; Fixture.SUGARClient.AllianceClient.CreateAllianceRequest(relationshipRequest); var sent = Fixture.SUGARClient.AllianceClient.GetSentRequests(group1.Id); Assert.Equal(1, sent.Count()); var received = Fixture.SUGARClient.AllianceClient.GetAllianceRequests(group2.Id); Assert.Equal(1, received.Count()); var relationshipStatusUpdate = new RelationshipStatusUpdate { RequestorId = group1.Id, AcceptorId = group2.Id, Accepted = false }; Fixture.SUGARClient.AllianceClient.UpdateAllianceRequest(relationshipStatusUpdate); received = Fixture.SUGARClient.AllianceClient.GetAllianceRequests(group2.Id); Assert.Equal(0, received.Count()); received = Fixture.SUGARClient.AllianceClient.GetAlliances(group2.Id); Assert.Equal(0, received.Count()); sent = Fixture.SUGARClient.AllianceClient.GetSentRequests(group1.Id); Assert.Equal(0, sent.Count()); sent = Fixture.SUGARClient.AllianceClient.GetAlliances(group1.Id); Assert.Equal(0, sent.Count()); }
public async Task <IActionResult> RemoveAlliance([FromBody] RelationshipStatusUpdate relationship) { if ((await _authorizationService.AuthorizeAsync(User, relationship.RequestorId, HttpContext.ScopeItems(ClaimScope.Group))).Succeeded || (await _authorizationService.AuthorizeAsync(User, relationship.AcceptorId, HttpContext.ScopeItems(ClaimScope.Group))).Succeeded) { var relation = new RelationshipRequest { RequestorId = relationship.RequestorId, AcceptorId = relationship.AcceptorId }; _relationshipCoreController.Delete(relation.ToRelationshipModel()); return(Ok()); } return(Forbid()); }
public void CannotUpdateNotExistingRequest() { var key = "UserFriend_CannotUpdateNotExistingRequest"; Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); var relationshipStatusUpdate = new RelationshipStatusUpdate { RequestorId = -1, AcceptorId = -1, Accepted = true }; Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.UserFriend.UpdateFriendRequest(relationshipStatusUpdate)); }
public void CannotUpdateNotExistingRelationship() { var key = "Alliance_CannotUpdateNotExistingRelationship"; Helpers.CreateAndLoginGlobal(Fixture.SUGARClient, key); var group1 = CreateGroup(key + "_Req"); var group2 = CreateGroup(key + "_Acc"); var relationshipStatusUpdate = new RelationshipStatusUpdate { RequestorId = group1.Id, AcceptorId = group2.Id }; Assert.Throws <ClientHttpException>(() => Fixture.SUGARClient.AllianceClient.UpdateAlliance(relationshipStatusUpdate)); }
public void UpdateMemberAsync(RelationshipStatusUpdate relationship, Action onSuccess, Action <Exception> onError) { AsyncRequestController.EnqueueRequest(() => UpdateMember(relationship), onSuccess, onError); }
/// <summary> /// Update an existing relationship between <param name="relationship.UserId"/> and <param name="relationship.GroupId"/>. /// Requires the relationship to already exist between the User and Group. /// </summary> /// <param name="relationship"><see cref="RelationshipStatusUpdate"/> object that holds the details of the relationship.</param> public void UpdateMember(RelationshipStatusUpdate relationship) { var query = GetUriBuilder(ControllerPrefix + "").ToString(); Put(query, relationship); }
/// <summary> /// Update an existing relationship request between two groups. /// Requires the relationship request to already exist between the two Groups. /// </summary> /// <param name="relationship"><see cref="RelationshipStatusUpdate"/> object that holds the details of the relationship.</param> public void UpdateAllianceRequest(RelationshipStatusUpdate relationship) { var query = GetUriBuilder(ControllerPrefix + "/request").ToString(); Put(query, relationship); }