Skip to content

Commit

Permalink
test: or-2513 test format and null checks for VerrijkteGemeentenaam
Browse files Browse the repository at this point in the history
  • Loading branch information
koenmetsu committed Oct 29, 2024
1 parent 262ccae commit 036b91c
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 29 deletions.
39 changes: 11 additions & 28 deletions src/AssociationRegistry/Events/AdresMatchUitAdressenregister.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand All @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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<ArgumentException>(() => VerrijkteGemeentenaam.MetPostnaam(Postnaam.FromValue(postnaam), gemeentenaam));
}

[Theory]
[InlineData("")]
[InlineData(null)]
public void WithoutPostNaam_Then_An_Exception_Is_Thrown(string gemeentenaam)
{
Assert.Throws<ArgumentException>(() => VerrijkteGemeentenaam.ZonderPostnaam(gemeentenaam));
}
}
Original file line number Diff line number Diff line change
@@ -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)");
}
}
Original file line number Diff line number Diff line change
@@ -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");
}
}

0 comments on commit 036b91c

Please sign in to comment.