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(); }
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); }
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); }
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(); }
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))); }