コード例 #1
0
        public async Task Should_map_originators_when_message_is_not_from_user()
        {
            var conferenceId  = Guid.NewGuid();
            var loggedInUser  = "******";
            var otherUsername = "******";
            var messages      = Builder <InstantMessageResponse> .CreateListOfSize(5)
                                .TheFirst(2)
                                .With(x => x.From = loggedInUser).TheNext(3)
                                .With(x => x.From = otherUsername)
                                .Build().ToList();

            VideoApiClientMock.Setup(x => x.GetInstantMessageHistoryForParticipantAsync(conferenceId, loggedInUser))
            .ReturnsAsync(messages);

            var result = await Controller.GetConferenceInstantMessageHistoryForParticipantAsync(conferenceId, loggedInUser);

            MessageDecoder.Verify(x => x.IsMessageFromUser(
                                      It.Is <InstantMessageResponse>(m => m.From == loggedInUser), loggedInUser),
                                  Times.Exactly(2));

            MessageDecoder.Verify(x => x.IsMessageFromUser(
                                      It.Is <InstantMessageResponse>(m => m.From == otherUsername), loggedInUser),
                                  Times.Exactly(3));

            var typedResult = (OkObjectResult)result;

            typedResult.Should().NotBeNull();
            var responseModel = typedResult.Value as List <ChatResponse>;

            responseModel?.Count(x => x.FromDisplayName == "You").Should().Be(2);
        }