示例#1
0
        public void TestInviteInvitedContact()
        {
            var invitation = new FriendInvitation {
                InviterId = _member.Id, InviteeId = _invitedContact.Id
            };

            _networkingInvitationsCommand.CreateInvitation(invitation);
            _networkingInvitationsCommand.SendInvitation(invitation);
            Assert.IsTrue(invitation.Status == RequestStatus.Pending && _memberFriendsCommand.GetAllowedSendingTime(invitation) > DateTime.Now);

            RequestInvitation(_invitedContact.Id);

            AssertPageContains(string.Format(InviteAlreadyExistsFormat, _invitedContact.FullName,
                                             _memberFriendsCommand.GetAllowedSendingTime(invitation)));
        }
        private string GetSendingNotAllowedReason(ICommunicationRecipient invitee, FriendInvitation invitation)
        {
            var name = HtmlUtil.TextToHtml(invitee.FullName);

            switch (invitation.Status)
            {
            case RequestStatus.Accepted:
                return(string.Format(AlreadyFriendsFormat, name));

            case RequestStatus.Declined:
                return(string.Format(AlreadyDeclinedFormat, name));

            case RequestStatus.Pending:
                return(string.Format(InviteAlreadyExistsFormat, name, _memberFriendsCommand.GetAllowedSendingTime(invitation)));

            default:
                throw new InvalidOperationException("SendingAllowed should not be false while Status is " + invitation.Status);
            }
        }