public void ShouldFailToDumpANonAcceptedFriendshipRequest()
        {
            FriendshipRequest friendshipRequest = GetFriendshipRequest();

            friendshipRequest.Dump();

            Assert.IsFalse(friendshipRequest.IsValid);
            Assert.AreEqual("Só é possível baixar uma solicitação que já foi aceita.", friendshipRequest.GetNotifications().FirstOrDefault().Description);
        }
        public void ShouldDumpFriendshipRequest()
        {
            FriendshipRequest friendshipRequest = GetFriendshipRequest();

            friendshipRequest.Accept();
            friendshipRequest.Dump();

            Assert.IsTrue(friendshipRequest.IsValid);
            Assert.IsTrue(friendshipRequest.IsDumped);
        }
        public async Task <CommandResult> DumpExistingFriendshipRequest(Guid profileId, Guid friendId)
        {
            FriendshipRequest friendshipRequest = await _friendshipRequestRepository.GetActiveByCompositeIdAsync(profileId, friendId);

            if (friendshipRequest == null)
            {
                return(CommandResult.Failure("Falha ao baixar solicitação existente", "A solicitação de amizade não foi encontrada no banco de dados."));
            }

            friendshipRequest.Dump();
            if (!friendshipRequest.IsValid)
            {
                return(CommandResult.Failure(friendshipRequest.GetNotifications().ToList()));
            }

            await _friendshipRequestRepository.UpdateAsync(friendshipRequest);

            return(CommandResult.Ok());
        }