public static IEnumerable <MunicipalityLatestItem> ArrangeLatestGemeenteWithRandomNisCodes( this Mocking <ILatestQueries, LatestQueriesSetup, LatestQueriesVerification> mock, string gemeentenaam, int count) { return(mock.Arrange( Produce.Exactly(count, Generate.TblGemeente .Select(g => g.WithGemeenteNaam(gemeentenaam))), (when, x) => when.LatestGemeentes(x))); }
public async Task CanFindRrAdres() { //Arrange var existingNisCode = Generate.NisCode.Generate(Random); var existingGemeentenaam = "Springfield"; var existingStraatnaamId = Generate.VbrObjectIdInt.Generate(Random); var existingStraatnaam = "Evergreen Terrace"; var streetNameId = Guid.NewGuid(); var request = new AddressMatchRequest().WithPostcodeAndRrStraatcode(); request.Huisnummer = "15"; var gemeente = Latest.ArrangeLatestGemeente(existingNisCode, existingGemeentenaam).First(); var straat = Latest.ArrangeLatestStraatnaam(existingNisCode, existingGemeentenaam, existingStraatnaamId.ToString(), existingStraatnaam, streetNameId).First(); var mappedAdressen = KadRrService .Arrange(Produce.Exactly(6, Generate.TblHuisNummer.Select(x => x.WithStraatNaamId(streetNameId))), (when, x) => when.AdresMappingExistsFor(x, request.Huisnummer, request.Index, request.RrStraatcode, request.Postcode)) .OrderBy(x => new VolledigAdres(existingStraatnaam, x.HouseNumber, x.BoxNumber, x.PostalCode, existingGemeentenaam, Taal.NL).GeografischeNaam.Spelling) .ToList(); //Act var response = (AddressMatchCollection)((OkObjectResult)await Send(request)).Value; //Assert response.Should().NotBeNull(); response.Should().HaveMatches(Math.Min(mappedAdressen.Count, 10)); var firstMatch = response.AdresMatches.OrderBy(x => x.Score).ThenBy(x => x.VolledigAdres?.GeografischeNaam?.Spelling).First(); firstMatch.Should().HaveGemeente() .Which.Should().HaveGemeentenaam(existingGemeentenaam) .And.HaveObjectId(existingNisCode); firstMatch.Should().HaveStraatnaam() .Which.Should().HaveStraatnaam(existingStraatnaam) .And.HaveObjectId(existingStraatnaamId.ToString()); firstMatch.Should().HaveVolledigAdres() .Which.Should().HaveGeografischeNaam($"{existingStraatnaam} {mappedAdressen.First().HouseNumber} bus {mappedAdressen.First().BoxNumber}, {mappedAdressen.First().PostalCode} {existingGemeentenaam}"); }