public async Task Then_Api_Called_And_Location_Display_Names_Returned( GetLocationsQuery getLocationsQuery, [Frozen] Mock <ILocationApiClient <LocationApiConfiguration> > mockLocationApiClient, GetLocationsQueryHandler getLocationsQueryHandler) { mockLocationApiClient .Setup(x => x.Get <GetLocationsListResponse>(It.Is <GetLocationsQueryRequest>(y => y.GetUrl.Contains(getLocationsQuery.SearchTerm)))) .ReturnsAsync(new GetLocationsListResponse { Locations = new List <GetLocationsListItem> { new GetLocationsListItem { LocationName = "Manchester", LocalAuthorityName = "Greater Manchester" }, new GetLocationsListItem { LocationName = "Warwick", LocalAuthorityName = "Warwickshire" }, new GetLocationsListItem { LocationName = "Newquay", LocalAuthorityName = "Cornwall" } } }); var result = await getLocationsQueryHandler.Handle(getLocationsQuery, CancellationToken.None); foreach (var location in result.Locations) { Assert.NotNull(location.DisplayName, location.DisplayName); Assert.AreNotEqual("", location.DisplayName); } }
public void GetLocations_WhenCalled_Returns4Records() { using (var context = new ScaScheduleContext()) { // arrange var queryHandler = new GetLocationsQueryHandler(context); // act var actual = queryHandler.Handle(new GetLocationsQuery()); // assert Assert.AreEqual(actual.Count(), 4); } }
public async Task Then_Returns_Results_From_Service( GetLocationsQuery query, Domain.Locations.Locations locationsFromService, [Frozen] Mock <ILocationService> mockService, GetLocationsQueryHandler handler) { mockService .Setup(service => service.GetLocations(query.SearchTerm)) .ReturnsAsync(locationsFromService); var result = await handler.Handle(query, CancellationToken.None); result.LocationItems.Should().BeEquivalentTo(locationsFromService.LocationItems); }
public async Task Then_Gets_Locations_From_Location_Api( GetLocationsQuery query, GetLocationsListResponse apiResponse, [Frozen] Mock <ILocationApiClient <LocationApiConfiguration> > mockApiClient, GetLocationsQueryHandler handler) { mockApiClient .Setup(client => client.Get <GetLocationsListResponse>( It.Is <GetLocationsQueryRequest>(c => c.GetUrl.Contains(query.SearchTerm)))) .ReturnsAsync(apiResponse); var result = await handler.Handle(query, CancellationToken.None); result.Locations.Should().BeEquivalentTo(apiResponse.Locations); }
public void GetLocationQueryHandler_WhenCalled_ReturnsFacilityIdPaddedWithLeadingZeroes() { // arrange using (var context = new ScaScheduleContext()) { var handler = new GetLocationsQueryHandler(context); // act var actual = handler.Handle(new GetLocationsQuery()); // assert Assert.AreEqual(actual.ToList()[0].FacilityId.Length, 6); Assert.IsTrue(actual.ToList()[0].FacilityId.Contains("00000")); } }
public async Task Then_The_Service_Is_Called( string searchTerm, GetLocationsQuery query, List <Domain.Entities.Location> locations, [Frozen] Mock <ILocationService> service, GetLocationsQueryHandler handler) { //Arrange query.Query = searchTerm; service.Setup(x => x.GetLocationsByQuery(query.Query, query.ResultCount)).ReturnsAsync(locations); //Act var actual = await handler.Handle(query, CancellationToken.None); //Assert actual.SuggestedLocations.Should().BeEquivalentTo(locations.Select(c => (SuggestedLocation)c)); }
public async Task If_Query_Is_Two_Letter_String_Then_Service_Is_Not_Called( string searchTerm, GetLocationsQuery query, List <Domain.Entities.Location> locations, [Frozen] Mock <ILocationService> service, GetLocationsQueryHandler handler) { //Arrange query.Query = searchTerm; service.Setup(x => x.GetLocationsByQuery(query.Query, query.ResultCount)).ReturnsAsync(locations); //Act var actual = await handler.Handle(query, CancellationToken.None); //Assert service.Verify(x => x.GetLocationsByQuery(It.IsAny <string>(), It.IsAny <int>()), Times.Never); actual.SuggestedLocations.Should().BeNull(); }
public async Task Then_If_No_District_Is_Returned_It_Is_Not_Added( string searchTerm, GetLocationsQuery query, List <SuggestedLocation> locations, SuggestedLocation district, [Frozen] Mock <IPostcodeService> service, GetLocationsQueryHandler handler) { //Arrange query.Query = searchTerm; service.Setup(x => x.GetPostcodesByOutcodeQuery(query.Query, query.ResultCount)).ReturnsAsync(locations); service.Setup(y => y.GetDistrictNameByOutcodeQuery(query.Query)).ReturnsAsync((SuggestedLocation)null); //Act var actual = await handler.Handle(query, CancellationToken.None); //Assert actual.SuggestedLocations.Should().Contain(locations); actual.SuggestedLocations.Should().NotContainNulls(); }
public async Task Then_The_Service_Is_Called_And_District_First( string searchTerm, GetLocationsQuery query, List <SuggestedLocation> locations, SuggestedLocation district, [Frozen] Mock <IPostcodeService> service, GetLocationsQueryHandler handler) { //Arrange query.Query = searchTerm; service.Setup(x => x.GetPostcodesByOutcodeQuery(query.Query, query.ResultCount)).ReturnsAsync(locations); service.Setup(y => y.GetDistrictNameByOutcodeQuery(query.Query)).ReturnsAsync(district); //Act var actual = await handler.Handle(query, CancellationToken.None); //Assert actual.SuggestedLocations.Should().Contain(locations, district); actual.SuggestedLocations.First().Should().Be(district); }