public async Task Should_return_return_a_list_of_hearings_for_a_valid_case_number(string caseNumber) { var query = new SearchForHearingsQuery { CaseNumber = caseNumber }; var hearingsByCaseNumber = new List <VideoHearing> { GetHearing(caseNumber) }; QueryHandlerMock .Setup(x => x.Handle <GetHearingsBySearchQuery, List <VideoHearing> >(It.IsAny <GetHearingsBySearchQuery>())) .ReturnsAsync(hearingsByCaseNumber); var result = await Controller.SearchForHearingsAsync(query); result.Should().NotBeNull(); var objectResult = (OkObjectResult)result; objectResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var hearingDetailsResponse = (List <AudioRecordedHearingsBySearchResponse>)objectResult.Value; hearingDetailsResponse.Should().NotBeNull(); hearingDetailsResponse[0].CaseNumber.Should().Be(caseNumber); QueryHandlerMock .Verify(x => x.Handle <GetHearingsBySearchQuery, List <VideoHearing> >(It.IsAny <GetHearingsBySearchQuery>()), Times.Once); }
public async Task Should_return_an_empty_list_if_no_records_found_for_the_give_case_number() { const string caseNumber = "TaxCase12345/33"; var query = new SearchForHearingsQuery { CaseNumber = caseNumber }; QueryHandlerMock .Setup(x => x.Handle <GetHearingsBySearchQuery, List <VideoHearing> >(It.IsAny <GetHearingsBySearchQuery>())) .ReturnsAsync((List <VideoHearing>)null); var result = await Controller.SearchForHearingsAsync(query); result.Should().NotBeNull(); var objectResult = (OkObjectResult)result; objectResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var hearingDetailsResponse = (List <AudioRecordedHearingsBySearchResponse>)objectResult.Value; hearingDetailsResponse.Should().NotBeNull(); QueryHandlerMock .Verify(x => x.Handle <GetHearingsBySearchQuery, List <VideoHearing> >(It.IsAny <GetHearingsBySearchQuery>()), Times.Once); }
public void GivenIHaveAnInvalidSearchForHearingByCaseNumberRequest() { var caseResponse = _context.TestData.Hearing.Cases.First(); var query = new SearchForHearingsQuery { CaseNumber = caseResponse.Number + "01" }; _context.Request = _context.Get(SearchForHearings(query)); }
public async Task <IActionResult> SearchForHearingsAsync([FromQuery] SearchForHearingsQuery searchQuery) { var caseNumber = WebUtility.UrlDecode(searchQuery.CaseNumber); var query = new GetHearingsBySearchQuery(caseNumber, searchQuery.Date); var hearings = await _queryHandler.Handle <GetHearingsBySearchQuery, List <VideoHearing> >(query); var hearingMapper = new AudioRecordedHearingsBySearchResponseMapper(); var response = hearingMapper.MapHearingToDetailedResponse(hearings, caseNumber); return(Ok(response)); }
public void GivenIHaveASearchHearingsByDateRequest() { var seededHearing = Context.TestData.SeededHearing; var query = new SearchForHearingsQuery { Date = seededHearing.ScheduledDateTime }; Context.Uri = SearchForHearings(query); Context.HttpMethod = HttpMethod.Get; }
public void GivenIHaveASearchHearingsByWrongCaseNumberRightDateRequest() { var seededHearing = Context.TestData.SeededHearing; var caseData = seededHearing.HearingCases.First(); var caseNumber = caseData.Case.Number; var query = new SearchForHearingsQuery { CaseNumber = caseNumber + "0237ehd", Date = seededHearing.ScheduledDateTime }; Context.Uri = SearchForHearings(query); Context.HttpMethod = HttpMethod.Get; }
public void GivenIHaveASearchHearingsByCaseNumberWrongDateRequest() { var seededHearing = Context.TestData.SeededHearing; var caseData = seededHearing.HearingCases.First(); var caseNumber = caseData.Case.Number; var query = new SearchForHearingsQuery { CaseNumber = caseNumber.Substring(0, 3), Date = seededHearing.ScheduledDateTime.AddDays(1) }; Context.Uri = SearchForHearings(query); Context.HttpMethod = HttpMethod.Get; }
public void GivenIHaveASearchHearingsByCaseNumberRequest() { var seededHearing = Context.TestData.SeededHearing; var caseData = seededHearing.HearingCases.First(); var caseNumber = caseData.Case.Number; var query = new SearchForHearingsQuery { CaseNumber = caseNumber }; Context.Uri = SearchForHearings(query); Context.HttpMethod = HttpMethod.Get; }
public static string SearchForHearings(SearchForHearingsQuery query) => $"{ApiRoot}/audiorecording/search?{QueryStringBuilder.ConvertToQueryString(query)}";