public async Task Should_get_first_name_from_ad_when_message_from_non_participant()
        {
            var nonParticipantUsername = "******";
            var userProfile            = new UserProfile
            {
                FirstName   = "Someone",
                LastName    = "Else",
                UserName    = nonParticipantUsername,
                DisplayName = "Some other user display",
                Email       = "*****@*****.**",
                UserRole    = UserRole.VideoHearingsOfficer.ToString()
            };

            _userApiClientMock.Setup(x => x.GetUserByAdUserNameAsync(nonParticipantUsername)).ReturnsAsync(userProfile);

            var loggedInUsername = "******";
            var displayName      = "johnny";
            var conference       = CreateConferenceResponse(loggedInUsername, displayName);

            var message = new InstantMessageResponse
            {
                From = nonParticipantUsername, MessageText = "test", TimeStamp = DateTime.UtcNow
            };

            var result = await _decoder.GetMessageOriginatorAsync(conference, message);

            result.Should().BeEquivalentTo(userProfile.FirstName);
        }
        public void Should_return_true_when_message_is_from_provided_username()
        {
            var loggedInUsername = "******";

            var message = new InstantMessageResponse
            {
                From = loggedInUsername, MessageText = "test", TimeStamp = DateTime.UtcNow
            };
            var result = _decoder.IsMessageFromUser(message, loggedInUsername);

            result.Should().BeTrue();
        }
        public void Should_return_false_when_message_is_from_another_user()
        {
            var loggedInUsername = "******";
            var otherUsername    = "******";

            var message = new InstantMessageResponse
            {
                From = otherUsername, MessageText = "test", TimeStamp = DateTime.UtcNow
            };
            var result = _decoder.IsMessageFromUser(message, loggedInUsername);

            result.Should().BeFalse();
        }
Esempio n. 4
0
        public static ChatResponse MapToResponseModel(InstantMessageResponse message, string fromDisplayName, bool isUser)
        {
            var response = new ChatResponse
            {
                From            = message.From,
                FromDisplayName = fromDisplayName,
                To        = message.To,
                Message   = message.Message_text,
                Timestamp = message.Time_stamp,
                IsUser    = isUser
            };

            return(response);
        }
        public async Task Should_get_participant_display_name_when_message_from_participant_in_conference()
        {
            const string loggedInUsername = "******";
            const string displayName      = "johnny";
            var          conference       = CreateConferenceResponse(loggedInUsername, displayName);

            var message = new InstantMessageResponse
            {
                From = loggedInUsername, MessageText = "test", TimeStamp = DateTime.UtcNow
            };

            var result = await _decoder.GetMessageOriginatorAsync(conference, message);

            result.Should().BeEquivalentTo(displayName);
        }
Esempio n. 6
0
        public async Task <string> GetMessageOriginatorAsync(Conference conference, InstantMessageResponse message)
        {
            var participant = conference.Participants.SingleOrDefault(x =>
                                                                      x.Username.Equals(message.From, StringComparison.InvariantCultureIgnoreCase));

            if (participant != null)
            {
                return(participant.DisplayName);
            }

            var username    = message.From.ToLower();
            var userProfile = await _userCache.GetOrAddAsync
                              (
                username, async key => await _userApiClient.GetUserByAdUserNameAsync(key)
                              );

            return(userProfile.First_name);
        }
Esempio n. 7
0
        public void Should_map_all_properties()
        {
            const string senderUsername    = "******";
            const string recipientUsername = "******";
            const string fromDisplayName   = "Johnny";
            var          conference        = new Conference
            {
                Id           = Guid.NewGuid(),
                Participants = new List <Participant>
                {
                    new Participant {
                        Id = Guid.NewGuid(), Username = senderUsername
                    },
                    new Participant {
                        Id = Guid.NewGuid(), Username = recipientUsername
                    }
                }
            };

            var message = new InstantMessageResponse
            {
                From        = senderUsername,
                To          = recipientUsername,
                MessageText = "test message from john",
                TimeStamp   = DateTime.Now.AsUtc()
            };

            var response = _sut.Map(message, fromDisplayName, true, conference);

            response.From.Should().Be(conference.Participants[0].Id.ToString());
            response.FromDisplayName.Should().Be(fromDisplayName);
            response.To.Should().Be(conference.Participants[1].Id.ToString());
            response.Message.Should().Be(message.MessageText);
            response.Timestamp.Should().Be(message.TimeStamp);
            response.IsUser.Should().BeTrue();
            response.Id.Should().NotBeEmpty();
        }
        public void Should_map_all_properties()
        {
            const string senderUsername    = "******";
            const string recipientUsername = "******";
            const string fromDisplayName   = "Johnny";

            var message = new InstantMessageResponse
            {
                From         = senderUsername,
                To           = recipientUsername,
                Message_text = "test message from john",
                Time_stamp   = DateTime.Now.AsUtc()
            };

            var response = ChatResponseMapper.MapToResponseModel(message, fromDisplayName, true);

            response.From.Should().Be(senderUsername);
            response.FromDisplayName.Should().Be(fromDisplayName);
            response.To.Should().Be(message.To);
            response.Message.Should().Be(message.Message_text);
            response.Timestamp.Should().Be(message.Time_stamp);
            response.IsUser.Should().BeTrue();
            response.Id.Should().NotBeEmpty();
        }
Esempio n. 9
0
 public bool IsMessageFromUser(InstantMessageResponse message, string loggedInUsername)
 {
     return(message.From.Equals(loggedInUsername, StringComparison.InvariantCultureIgnoreCase));
 }
 private static bool IsNonParticipantMessage(Conference conference, InstantMessageResponse message)
 {
     return(!conference.Participants.Any(p => p.Username.Equals(message.From, StringComparison.InvariantCultureIgnoreCase)));
 }