From 400fbfbdfef24cea8cbf3a675d2d8bbdc89f73e3 Mon Sep 17 00:00:00 2001 From: emalfroy Date: Wed, 4 Dec 2024 11:05:45 +0100 Subject: [PATCH] fix: or-2596 make sure gemeentenaam serializes only to its value --- .../PostalInfo/PostalInformationResponse.cs | 5 ++++- .../Vereniging/Locaties/Adres.cs | 9 --------- .../Vereniging/Locaties/Gemeentenaam.cs | 15 +++++++++++++++ .../Vereniging/VerenigingOfAnyKind.cs | 2 +- .../Given_GrarClient_Returned_BadRequest.cs | 9 ++++++++- 5 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 src/AssociationRegistry/Vereniging/Locaties/Gemeentenaam.cs diff --git a/src/AssociationRegistry/Grar/Models/PostalInfo/PostalInformationResponse.cs b/src/AssociationRegistry/Grar/Models/PostalInfo/PostalInformationResponse.cs index ec9145839..2ae3e94b7 100644 --- a/src/AssociationRegistry/Grar/Models/PostalInfo/PostalInformationResponse.cs +++ b/src/AssociationRegistry/Grar/Models/PostalInfo/PostalInformationResponse.cs @@ -36,6 +36,8 @@ public static Postnamen FromValues(params string[] values) public record Postnaam { + public string Value { get; init; } + private Postnaam(string Value) { this.Value = Value; @@ -54,7 +56,8 @@ public static Postnaam FromValue(string postnaam) public static implicit operator string(Postnaam postnaam) => postnaam.Value; - public string Value { get; init; } + public override string ToString() + => Value; public void Deconstruct(out string Value) { diff --git a/src/AssociationRegistry/Vereniging/Locaties/Adres.cs b/src/AssociationRegistry/Vereniging/Locaties/Adres.cs index 2be642bd1..36b8054ab 100644 --- a/src/AssociationRegistry/Vereniging/Locaties/Adres.cs +++ b/src/AssociationRegistry/Vereniging/Locaties/Adres.cs @@ -72,12 +72,3 @@ public static Adres Hydrate(Registratiedata.AdresUitAdressenregister adres) adres.Gemeente, België); } - -public record Gemeentenaam(string Naam) -{ - public static Gemeentenaam Hydrate(string gemeente) - => new(gemeente); - - public static Gemeentenaam FromVerrijkteGemeentenaam(VerrijkteGemeentenaam gemeentenaam) - => new(gemeentenaam.Format()); -} diff --git a/src/AssociationRegistry/Vereniging/Locaties/Gemeentenaam.cs b/src/AssociationRegistry/Vereniging/Locaties/Gemeentenaam.cs new file mode 100644 index 000000000..7ac5666d9 --- /dev/null +++ b/src/AssociationRegistry/Vereniging/Locaties/Gemeentenaam.cs @@ -0,0 +1,15 @@ +namespace AssociationRegistry.Vereniging; + +using Events; + +public record Gemeentenaam(string Naam) +{ + public static Gemeentenaam Hydrate(string gemeente) + => new(gemeente); + + public static Gemeentenaam FromVerrijkteGemeentenaam(VerrijkteGemeentenaam gemeentenaam) + => new(gemeentenaam.Format()); + + public override string ToString() + => Naam; +} diff --git a/src/AssociationRegistry/Vereniging/VerenigingOfAnyKind.cs b/src/AssociationRegistry/Vereniging/VerenigingOfAnyKind.cs index 027ead6ef..218c24952 100644 --- a/src/AssociationRegistry/Vereniging/VerenigingOfAnyKind.cs +++ b/src/AssociationRegistry/Vereniging/VerenigingOfAnyKind.cs @@ -355,8 +355,8 @@ private IEvent GetAdresMatchExceptionEvent( { IEvent @event = ex.StatusCode switch { - //TODO: is this correct? HttpStatusCode.NotFound => AdresWerdNietGevondenInAdressenregister.From(VCode, locatieVoorTeMatchenAdres), + _ => new AdresKonNietOvergenomenWordenUitAdressenregister(VCode, locatieId, locatieVoorTeMatchenAdres.Adres.ToAdresString(), GetExceptionMessage(ex.StatusCode)), }; diff --git a/test/AssociationRegistry.Test/When_ProbeerAdresTeMatchen/Given_GrarClient_Returned_BadRequest.cs b/test/AssociationRegistry.Test/When_ProbeerAdresTeMatchen/Given_GrarClient_Returned_BadRequest.cs index eab6c668b..d1e66db40 100644 --- a/test/AssociationRegistry.Test/When_ProbeerAdresTeMatchen/Given_GrarClient_Returned_BadRequest.cs +++ b/test/AssociationRegistry.Test/When_ProbeerAdresTeMatchen/Given_GrarClient_Returned_BadRequest.cs @@ -40,12 +40,19 @@ public async Task Then_AdresKonNietOvergenomenWordenUitAdressenregister() new VerenigingState() .Apply(feitelijkeVerenigingWerdGeregistreerd)); - await vereniging.ProbeerAdresTeMatchen(grarClient.Object, feitelijkeVerenigingWerdGeregistreerd.Locaties.First().LocatieId, + var locatie = feitelijkeVerenigingWerdGeregistreerd.Locaties.First(); + + await vereniging.ProbeerAdresTeMatchen(grarClient.Object, locatie.LocatieId, CancellationToken.None); var @event = vereniging.UncommittedEvents.OfType().SingleOrDefault(); @event.Should().NotBeNull(); + @event.Adres.Should().BeEquivalentTo($"{locatie.Adres.Straatnaam} {locatie.Adres.Huisnummer}" + + (!string.IsNullOrWhiteSpace(locatie.Adres.Busnummer) + ? $" bus {locatie.Adres.Busnummer}" + : string.Empty) + + $", {locatie.Adres.Postcode} {locatie.Adres.Gemeente}, {locatie.Adres.Land}"); @event!.Reden.Should().Be(ExceptionMessages.AdresKonNietOvergenomenWordenBadRequest); } }