From 036b91c2130108c9666e1a3c7889713c1385cbf1 Mon Sep 17 00:00:00 2001 From: Koen Metsu Date: Tue, 29 Oct 2024 10:34:02 +0100 Subject: [PATCH] test: or-2513 test format and null checks for VerrijkteGemeentenaam --- .../Events/AdresMatchUitAdressenregister.cs | 39 ++++++------------- .../PostalInfo/PostalInformationResponse.cs | 7 +++- .../WithPostnaam.cs | 28 +++++++++++++ .../WithPostnaam.cs | 17 ++++++++ .../WithoutPostnaam.cs | 17 ++++++++ 5 files changed, 79 insertions(+), 29 deletions(-) create mode 100644 test/AssociationRegistry.Test/When_Creating_A_VerrijkteGemeentenaam/WithPostnaam.cs create mode 100644 test/AssociationRegistry.Test/When_Formatting_A_VerrijkteGemeentenaam/WithPostnaam.cs create mode 100644 test/AssociationRegistry.Test/When_Formatting_A_VerrijkteGemeentenaam/WithoutPostnaam.cs diff --git a/src/AssociationRegistry/Events/AdresMatchUitAdressenregister.cs b/src/AssociationRegistry/Events/AdresMatchUitAdressenregister.cs index db64faad9..f6331b984 100644 --- a/src/AssociationRegistry/Events/AdresMatchUitAdressenregister.cs +++ b/src/AssociationRegistry/Events/AdresMatchUitAdressenregister.cs @@ -61,10 +61,20 @@ private VerrijkteGemeentenaam(Postnaam? postnaam, string gemeentenaam) } public static VerrijkteGemeentenaam ZonderPostnaam(string gemeentenaam) - => new(null, gemeentenaam); + { + if (string.IsNullOrEmpty(gemeentenaam)) + throw new ArgumentException(nameof(gemeentenaam)); + + return new VerrijkteGemeentenaam(null, gemeentenaam); + } public static VerrijkteGemeentenaam MetPostnaam(Postnaam postnaam, string gemeentenaam) { + if (string.IsNullOrEmpty(postnaam)) + throw new ArgumentException(nameof(postnaam)); + if (string.IsNullOrEmpty(gemeentenaam)) + throw new ArgumentException(nameof(gemeentenaam)); + return new(postnaam, gemeentenaam); } @@ -77,33 +87,6 @@ public string Format() } } -public record AdresMatchUitAdressenregister -{ - public static AdresMatchUitAdressenregister FromResponse(AddressMatchResponse response) - => new() - { - AdresId = response.AdresId, - Adres = new Registratiedata.Adres( - response.Straatnaam, - response.Huisnummer, - response.Busnummer, - response.Postcode, - response.Gemeente, - "Belgiƫ"), - }; - - public Registratiedata.AdresId AdresId { get; init; } - public Registratiedata.Adres Adres { get; init; } - - public AdresMatchUitAdressenregister WithGemeentenaam(string gemeentenaam) - { - return this with - { - Adres = Adres with { Gemeente = gemeentenaam }, - }; - } -} - public record NietUniekeAdresMatchUitAdressenregister { public static NietUniekeAdresMatchUitAdressenregister FromResponse(AddressMatchResponse response) diff --git a/src/AssociationRegistry/Grar/Models/PostalInfo/PostalInformationResponse.cs b/src/AssociationRegistry/Grar/Models/PostalInfo/PostalInformationResponse.cs index fd69e179f..ec9145839 100644 --- a/src/AssociationRegistry/Grar/Models/PostalInfo/PostalInformationResponse.cs +++ b/src/AssociationRegistry/Grar/Models/PostalInfo/PostalInformationResponse.cs @@ -44,7 +44,12 @@ private Postnaam(string Value) public static Postnaam FromGrar(Models.Postnaam postnaam) => new(postnaam.GeografischeNaam.Spelling); public static Postnaam FromValue(string postnaam) - => new(postnaam); + { + if (string.IsNullOrEmpty(postnaam)) + throw new ArgumentException(nameof(postnaam)); + + return new Postnaam(postnaam); + } public static implicit operator string(Postnaam postnaam) => postnaam.Value; diff --git a/test/AssociationRegistry.Test/When_Creating_A_VerrijkteGemeentenaam/WithPostnaam.cs b/test/AssociationRegistry.Test/When_Creating_A_VerrijkteGemeentenaam/WithPostnaam.cs new file mode 100644 index 000000000..2c946e0d0 --- /dev/null +++ b/test/AssociationRegistry.Test/When_Creating_A_VerrijkteGemeentenaam/WithPostnaam.cs @@ -0,0 +1,28 @@ +namespace AssociationRegistry.Test.When_Formatting_A_VerrijkteGemeentenaam; + +using Events; +using FluentAssertions; +using Grar.Models.PostalInfo; +using Xunit; + +public class WithEmptyOrNull +{ + [Theory] + [InlineData("", "")] + [InlineData(null, "")] + [InlineData("", null)] + [InlineData(null, "Affligem")] + [InlineData("Affligem", null)] + public void WithPostNaam_Then_An_Exception_Is_Thrown(string postnaam, string gemeentenaam) + { + Assert.Throws(() => VerrijkteGemeentenaam.MetPostnaam(Postnaam.FromValue(postnaam), gemeentenaam)); + } + + [Theory] + [InlineData("")] + [InlineData(null)] + public void WithoutPostNaam_Then_An_Exception_Is_Thrown(string gemeentenaam) + { + Assert.Throws(() => VerrijkteGemeentenaam.ZonderPostnaam(gemeentenaam)); + } +} diff --git a/test/AssociationRegistry.Test/When_Formatting_A_VerrijkteGemeentenaam/WithPostnaam.cs b/test/AssociationRegistry.Test/When_Formatting_A_VerrijkteGemeentenaam/WithPostnaam.cs new file mode 100644 index 000000000..817ae2ae9 --- /dev/null +++ b/test/AssociationRegistry.Test/When_Formatting_A_VerrijkteGemeentenaam/WithPostnaam.cs @@ -0,0 +1,17 @@ +namespace AssociationRegistry.Test.When_Formatting_A_VerrijkteGemeentenaam; + +using Events; +using FluentAssertions; +using Grar.Models.PostalInfo; +using Xunit; + +public class WithPostnaam +{ + [Fact] + public void Then_It_FormatsCorrectly() + { + var sut = VerrijkteGemeentenaam.MetPostnaam(Postnaam.FromValue("Hekelgem"), "Affligem"); + + sut.Format().Should().BeEquivalentTo("Hekelgem (Affligem)"); + } +} diff --git a/test/AssociationRegistry.Test/When_Formatting_A_VerrijkteGemeentenaam/WithoutPostnaam.cs b/test/AssociationRegistry.Test/When_Formatting_A_VerrijkteGemeentenaam/WithoutPostnaam.cs new file mode 100644 index 000000000..adb216b82 --- /dev/null +++ b/test/AssociationRegistry.Test/When_Formatting_A_VerrijkteGemeentenaam/WithoutPostnaam.cs @@ -0,0 +1,17 @@ +namespace AssociationRegistry.Test.When_Formatting_A_VerrijkteGemeentenaam; + +using Events; +using FluentAssertions; +using Grar.Models.PostalInfo; +using Xunit; + +public class WithoutPostnaam +{ + [Fact] + public void Then_It_FormatsCorrectly() + { + var sut = VerrijkteGemeentenaam.ZonderPostnaam("Affligem"); + + sut.Format().Should().BeEquivalentTo("Affligem"); + } +}