コード例 #1
0
        public async Task Should_update_hearing_with_status_created_and_send_event_to_video()
        {
            var request = new UpdateHearingRequest
            {
                ScheduledDateTime = DateTime.Now.AddDays(2),
                HearingRoomName   = "123",
                ScheduledDuration = 15,
                OtherInformation  = "note",
                HearingVenueName  = "venue1",
                Cases             = new List <CaseRequest> {
                    new CaseRequest {
                        Name = "123XX", Number = "123YY", IsLeadCase = true
                    }
                },
                UpdatedBy = "*****@*****.**"
            };

            var hearingId = Guid.NewGuid();
            var hearing   = GetHearing("123");

            hearing.UpdateStatus(BookingStatus.Created, "administrator", string.Empty);
            hearing.UpdateHearingDetails(new HearingVenue(1, "venue1"), DateTime.Now.AddDays(2),
                                         15, "123", "note", "administrator", new List <Case> {
                new Case("123", "name")
            }, true, true);
            QueryHandlerMock
            .Setup(x => x.Handle <GetHearingByIdQuery, VideoHearing>(It.IsAny <GetHearingByIdQuery>()))
            .ReturnsAsync(hearing);

            var venues = new List <HearingVenue> {
                new HearingVenue(1, "venue1"),
            };

            QueryHandlerMock
            .Setup(x => x.Handle <GetHearingVenuesQuery, List <HearingVenue> >(It.IsAny <GetHearingVenuesQuery>()))
            .ReturnsAsync(venues);

            var result = await Controller.UpdateHearingDetails(hearingId, request);

            result.Should().NotBeNull();
            var objectResult = (OkObjectResult)result;

            objectResult.StatusCode.Should().Be((int)HttpStatusCode.OK);

            var message      = SbQueueClient.ReadMessageFromQueue();
            var typedMessage = (HearingDetailsUpdatedIntegrationEvent)message.IntegrationEvent;

            typedMessage.Should().NotBeNull();
            typedMessage.Hearing.CaseName.Should().Be("name");
        }