public async Task CanFindStraatnaamByKadStraatCode() { var existingNisCode = Generate.NisCode.Generate(Random); int existingStraatnaamId = Generate.VbrObjectIdInt.Generate(Random); var existingGemeentenaam = "Springfield"; var existingStraatnaam = "Evergreen Terrace"; var requestededKadStraatCode = "6789"; //Arrange var request = new AddressMatchRequest().WithGemeenteAndKadStraatcode(); request.KadStraatcode = requestededKadStraatCode; Latest.ArrangeLatestGemeente(existingNisCode, existingGemeentenaam); KadRrService.ArrangeKadStraatnamen(existingNisCode, existingGemeentenaam, existingStraatnaamId, existingStraatnaam, requestededKadStraatCode); //Act var response = (AddressMatchCollection)((OkObjectResult)await Send(request)).Value; //Assert response.Should().NotBeNull(); response.Should().HaveMatches(1); var firstMatch = response.AdresMatches.First(); firstMatch.Should().HaveGemeente() .Which.Should().HaveGemeentenaam(existingGemeentenaam) .And.HaveObjectId(existingNisCode); firstMatch.Should().HaveStraatnaam() .Which.Should().HaveStraatnaam(existingStraatnaam) .And.HaveObjectId(existingStraatnaamId.ToString()); firstMatch.Should().NotHaveVolledigAdres(); }
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}"); }