From 5989777b52c84e456acf5bc007f4ef7bef4eff4c Mon Sep 17 00:00:00 2001 From: Jan Lesage Date: Wed, 30 Oct 2024 13:34:27 +0100 Subject: [PATCH] feat: or-2514 add validator for voeg lidmaatschap toe request --- .../ValidationMessages.Designer.cs | 113 ++++++++++++------ .../ValidationMessages.resx | 3 + .../Examples/VoegLocatieToeRequestExamples.cs | 4 +- .../VoegLidmaatschapToeRequest.cs | 14 +-- .../VoegLidmaatschapToeRequestValidator.cs | 22 ++++ .../To_VoegLidmaatschapToeCommandTests.cs | 4 +- .../RequestValidating/A_Invalid_Request.cs | 96 +++++++++++++++ .../RequestValidating/A_Valid_Request.cs | 91 ++++++++++++++ .../AdminApiAutoFixtureCustomizations.cs | 4 +- .../AutoFixture/AutoFixtureCustomizations.cs | 16 --- .../AutoFixture/EventCustomizations.cs | 19 +++ .../VoegLidmaatschapToeRequestFactory.cs | 4 +- ...rns_Detail_With_Toegevoegd_Lidmaatschap.cs | 4 +- 13 files changed, 327 insertions(+), 67 deletions(-) create mode 100644 src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/RequestModels/VoegLidmaatschapToeRequestValidator.cs create mode 100644 test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestValidating/A_Invalid_Request.cs create mode 100644 test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestValidating/A_Valid_Request.cs diff --git a/src/AssociationRegistry.Admin.Api/ValidationMessages.Designer.cs b/src/AssociationRegistry.Admin.Api/ValidationMessages.Designer.cs index e3910a4da..a167c20d9 100644 --- a/src/AssociationRegistry.Admin.Api/ValidationMessages.Designer.cs +++ b/src/AssociationRegistry.Admin.Api/ValidationMessages.Designer.cs @@ -8,40 +8,49 @@ //------------------------------------------------------------------------------ namespace AssociationRegistry.Admin.Api { - using System.CodeDom.Compiler; - using System.ComponentModel; - using System.Diagnostics; - using System.Diagnostics.CodeAnalysis; - using System.Globalization; - using System.Resources; - using System.Runtime.CompilerServices; - - [GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] - [DebuggerNonUserCode()] - [CompilerGenerated()] + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class ValidationMessages { - private static ResourceManager resourceMan; + private static global::System.Resources.ResourceManager resourceMan; - private static CultureInfo resourceCulture; + private static global::System.Globalization.CultureInfo resourceCulture; - [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal ValidationMessages() { } - [EditorBrowsable(EditorBrowsableState.Advanced)] - public static ResourceManager ResourceManager { + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { get { - if (Equals(null, resourceMan)) { - ResourceManager temp = new ResourceManager("AssociationRegistry.Admin.Api.ValidationMessages", typeof(ValidationMessages).Assembly); + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AssociationRegistry.Admin.Api.ValidationMessages", typeof(ValidationMessages).Assembly); resourceMan = temp; } return resourceMan; } } - [EditorBrowsable(EditorBrowsableState.Advanced)] - public static CultureInfo Culture { + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } @@ -50,57 +59,93 @@ public static CultureInfo Culture { } } - public static string VeldIsVerplicht { + /// + /// Looks up a localized string similar to Een einddatum in een periode moet altijd later zijn dan de startdatum.. + /// + public static string DatumTotMoetLaterZijnDanDatumVan { get { - return ResourceManager.GetString("VeldIsVerplicht", resourceCulture); - } - } - - public static string Status404Detail { - get { - return ResourceManager.GetString("Status404Detail", resourceCulture); + return ResourceManager.GetString("DatumTotMoetLaterZijnDanDatumVan", resourceCulture); } } + /// + /// Looks up a localized string similar to Deze vereniging werd verwijderd.. + /// public static string Status404Deleted { get { return ResourceManager.GetString("Status404Deleted", resourceCulture); } } - public static string Status412Detail { + /// + /// Looks up a localized string similar to De gevraagde vereniging werd niet gevonden.. + /// + public static string Status404Detail { get { - return ResourceManager.GetString("Status412Detail", resourceCulture); + return ResourceManager.GetString("Status404Detail", resourceCulture); } } + /// + /// Looks up a localized string similar to De historiek van de gevraagde vereniging is niet gevonden.. + /// public static string Status404Historiek { get { return ResourceManager.GetString("Status404Historiek", resourceCulture); } } - public static string Status412Historiek { + /// + /// Looks up a localized string similar to De gevraagde vereniging werd niet gevonden.. + /// + public static string Status404NotFound { get { - return ResourceManager.GetString("Status412Historiek", resourceCulture); + return ResourceManager.GetString("Status404NotFound", resourceCulture); } } + /// + /// Looks up a localized string similar to Er zijn één of meerdere mogelijke duplicaten van deze vereniging gevonden.. + /// public static string Status409RegistratieFeitelijkeVereniging { get { return ResourceManager.GetString("Status409RegistratieFeitelijkeVereniging", resourceCulture); } } + /// + /// Looks up a localized string similar to Het detail van de gevraagde vereniging heeft niet de verwachte sequentiewaarde.. + /// + public static string Status412Detail { + get { + return ResourceManager.GetString("Status412Detail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De historiek van de gevraagde vereniging heeft niet de verwachte sequentiewaarde.. + /// + public static string Status412Historiek { + get { + return ResourceManager.GetString("Status412Historiek", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De gevraagde vereniging heeft niet de verwachte sequentiewaarde.. + /// public static string Status412PreconditionFailed { get { return ResourceManager.GetString("Status412PreconditionFailed", resourceCulture); } } - public static string Status404NotFound { + /// + /// Looks up a localized string similar to '{0}' is verplicht.. + /// + public static string VeldIsVerplicht { get { - return ResourceManager.GetString("Status404NotFound", resourceCulture); + return ResourceManager.GetString("VeldIsVerplicht", resourceCulture); } } } diff --git a/src/AssociationRegistry.Admin.Api/ValidationMessages.resx b/src/AssociationRegistry.Admin.Api/ValidationMessages.resx index 39b3684cc..1bd2b04ba 100644 --- a/src/AssociationRegistry.Admin.Api/ValidationMessages.resx +++ b/src/AssociationRegistry.Admin.Api/ValidationMessages.resx @@ -44,4 +44,7 @@ De gevraagde vereniging werd niet gevonden. + + Een einddatum in een periode moet altijd later zijn dan de startdatum. + diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/Examples/VoegLocatieToeRequestExamples.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/Examples/VoegLocatieToeRequestExamples.cs index fc5cf12d4..a8147ecaf 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/Examples/VoegLocatieToeRequestExamples.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/Examples/VoegLocatieToeRequestExamples.cs @@ -10,8 +10,8 @@ public VoegLidmaatschapToeRequest GetExamples() { AndereVereniging = "V0001001", Beschrijving = "De beschrijving van het lidmaatschap.", - DatumVan = new DateOnly(2024, 10, 12), - DatumTot = new DateOnly(2024, 10, 10), + Van = new DateOnly(2024, 10, 12), + Tot = new DateOnly(2024, 10, 10), Identificatie = "0012", }; } diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/RequestModels/VoegLidmaatschapToeRequest.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/RequestModels/VoegLidmaatschapToeRequest.cs index 332103e73..4605ed16f 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/RequestModels/VoegLidmaatschapToeRequest.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/RequestModels/VoegLidmaatschapToeRequest.cs @@ -1,8 +1,8 @@ namespace AssociationRegistry.Admin.Api.Verenigingen.Lidmaatschap.RequestModels; -using AssociationRegistry.Acties.VoegLidmaatschapToe; -using AssociationRegistry.Vereniging; +using Acties.VoegLidmaatschapToe; using System.Runtime.Serialization; +using Vereniging; [DataContract] public class VoegLidmaatschapToeRequest @@ -17,22 +17,22 @@ public class VoegLidmaatschapToeRequest /// De datum waarop de relatie actief wordt /// [DataMember] - public DateOnly? DatumVan { get; set; } + public DateOnly? Van { get; set; } /// /// De datum waarop de relatie niet meer actief wordt /// [DataMember] - public DateOnly? DatumTot { get; set; } + public DateOnly? Tot { get; set; } /// - /// De externe identificatie voor de relatie + /// De externe identificatie voor het lidmaatschap /// [DataMember] public string Identificatie { get; set; } /// - /// De externe beschrijving van de relatie + /// De externe beschrijving van het lidmaatschap /// [DataMember] public string Beschrijving { get; set; } @@ -40,7 +40,7 @@ public class VoegLidmaatschapToeRequest public VoegLidmaatschapToeCommand ToCommand(string vCode) => new( VCode: VCode.Create(vCode), Lidmaatschap.Create(VCode.Create(AndereVereniging), - new Geldigheidsperiode(new GeldigVan(DatumVan), new GeldigTot(DatumTot)), + new Geldigheidsperiode(new GeldigVan(Van), new GeldigTot(Tot)), Identificatie, Beschrijving ) diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/RequestModels/VoegLidmaatschapToeRequestValidator.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/RequestModels/VoegLidmaatschapToeRequestValidator.cs new file mode 100644 index 000000000..2ed81bcfa --- /dev/null +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Lidmaatschap/RequestModels/VoegLidmaatschapToeRequestValidator.cs @@ -0,0 +1,22 @@ +namespace AssociationRegistry.Admin.Api.Verenigingen.Lidmaatschap.RequestModels; + +using FluentValidation; +using Infrastructure.Validation; + +public class VoegLidmaatschapToeRequestValidator : AbstractValidator +{ + public VoegLidmaatschapToeRequestValidator() + { + RuleFor(r => r.AndereVereniging) + .Must(andereVereniging => !string.IsNullOrEmpty(andereVereniging)) + .WithMessage(ValidationMessages.VeldIsVerplicht); + + RuleFor(r => r.Tot) + .GreaterThanOrEqualTo(x => x.Van) + .When(x => x.Van.HasValue) + .WithMessage(ValidationMessages.DatumTotMoetLaterZijnDanDatumVan); + + RuleFor(r => r.Identificatie).MustNotContainHtml(); + RuleFor(r => r.Beschrijving).MustNotContainHtml(); + } +} diff --git a/test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestMapping/To_VoegLidmaatschapToeCommandTests.cs b/test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestMapping/To_VoegLidmaatschapToeCommandTests.cs index d621351e3..e0281d55e 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestMapping/To_VoegLidmaatschapToeCommandTests.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestMapping/To_VoegLidmaatschapToeCommandTests.cs @@ -23,8 +23,8 @@ public void Then_We_Get_A_Correct_Command() command.VCode.Should().Be(vCode); command.Lidmaatschap.AndereVereniging.Should().Be(VCode.Create(request.AndereVereniging)); - command.Lidmaatschap.Geldigheidsperiode.Van.Should().Be(new GeldigVan(request.DatumVan)); - command.Lidmaatschap.Geldigheidsperiode.Tot.Should().Be(new GeldigTot(request.DatumTot)); + command.Lidmaatschap.Geldigheidsperiode.Van.Should().Be(new GeldigVan(request.Van)); + command.Lidmaatschap.Geldigheidsperiode.Tot.Should().Be(new GeldigTot(request.Tot)); command.Lidmaatschap.Identificatie.Should().Be(request.Identificatie); command.Lidmaatschap.Beschrijving.Should().Be(request.Beschrijving); } diff --git a/test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestValidating/A_Invalid_Request.cs b/test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestValidating/A_Invalid_Request.cs new file mode 100644 index 000000000..975c74894 --- /dev/null +++ b/test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestValidating/A_Invalid_Request.cs @@ -0,0 +1,96 @@ +namespace AssociationRegistry.Test.Admin.Api.Commands.FeitelijkeVereniging.When_Adding_Lidmaatschap.RequestValidating; + +using AssociationRegistry.Admin.Api; +using AssociationRegistry.Admin.Api.Verenigingen.Lidmaatschap.RequestModels; +using AutoFixture; +using Common.AutoFixture; +using FluentValidation.TestHelper; +using Microsoft.AspNetCore.Http; +using Resources; +using Xunit; +using Xunit.Categories; +using ValidatorTest = Framework.ValidatorTest; + +[UnitTest] +public class A_Invalid_Request : ValidatorTest +{ + private readonly Fixture _fixture; + private readonly VoegLidmaatschapToeRequestValidator _validator; + + public A_Invalid_Request() + { + _fixture = new Fixture().CustomizeAdminApi(); + _validator = new VoegLidmaatschapToeRequestValidator(); + } + + [Fact] + public void Has_validation_errors_for_andereVereniging_when_empty() + { + var request = _fixture.Create(); + request.AndereVereniging = ""; + + var result = _validator.TestValidate(request); + + result.ShouldHaveValidationErrorFor(x => x.AndereVereniging) + .WithErrorMessage(ValidationMessages.VeldIsVerplicht); + } + + [Fact] + public void Has_validation_errors_for_andereVereniging_when_null() + { + var request = _fixture.Create(); + request.AndereVereniging = null; + + var result = _validator.TestValidate(request); + + result.ShouldHaveValidationErrorFor(x => x.AndereVereniging) + .WithErrorMessage(ValidationMessages.VeldIsVerplicht); + } + + [Fact] + public void Has_validation_errors_when_tot_after_van() + { + var request = _fixture.Create(); + request.Van = DateOnly.FromDateTime(DateTime.Now); + request.Tot = DateOnly.FromDateTime(DateTime.Now.AddDays(-1)); + + var result = _validator.TestValidate(request); + result.ShouldHaveValidationErrorFor(x => x.Tot) + .WithErrorMessage(ValidationMessages.DatumTotMoetLaterZijnDanDatumVan); + } + + [Fact] + public void Has_no_validation_errors_when_tot_not_after_van() + { + var request = _fixture.Create(); + request.Van = DateOnly.FromDateTime(DateTime.Now); + request.Tot = DateOnly.FromDateTime(DateTime.Now.AddDays(1)); + + var result = _validator.TestValidate(request); + result.ShouldNotHaveAnyValidationErrors(); + } + + [Fact] + public void Has_validation_errors_when_html_detected_in_identificatie() + { + var request = _fixture.Create(); + request.Identificatie = "

Something something

"; + + var result = _validator.TestValidate(request); + result.ShouldHaveValidationErrorFor(r => r.Identificatie) + .WithErrorCode(StatusCodes.Status400BadRequest.ToString()) + .WithErrorMessage(ExceptionMessages.UnsupportedContent); + } + + [Fact] + public void Has_validation_errors_when_html_detected_in_beschrijving() + { + var request = _fixture.Create(); + request.Beschrijving = "

Something something

"; + + var result = _validator.TestValidate(request); + result.ShouldHaveValidationErrorFor(r => r.Beschrijving) + .WithErrorCode(StatusCodes.Status400BadRequest.ToString()) + .WithErrorMessage(ExceptionMessages.UnsupportedContent); + } +} diff --git a/test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestValidating/A_Valid_Request.cs b/test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestValidating/A_Valid_Request.cs new file mode 100644 index 000000000..808c8ef72 --- /dev/null +++ b/test/AssociationRegistry.Test.Admin.Api/Commands/FeitelijkeVereniging/When_Adding_Lidmaatschap/RequestValidating/A_Valid_Request.cs @@ -0,0 +1,91 @@ +namespace AssociationRegistry.Test.Admin.Api.Commands.FeitelijkeVereniging.When_Adding_Lidmaatschap.RequestValidating; + +using AssociationRegistry.Admin.Api.Verenigingen.Lidmaatschap.RequestModels; +using AutoFixture; +using Common.AutoFixture; +using FluentValidation.TestHelper; +using Xunit; +using Xunit.Categories; +using ValidatorTest = Framework.ValidatorTest; + +[UnitTest] +public class A_Valid_Request : ValidatorTest +{ + private readonly Fixture _fixture; + private readonly VoegLidmaatschapToeRequestValidator _validator; + + public A_Valid_Request() + { + _fixture = new Fixture().CustomizeAdminApi(); + _validator = new VoegLidmaatschapToeRequestValidator(); + } + + [Fact] + public void Has_no_validation_errors() + { + var request = _fixture.Create(); + var result = _validator.TestValidate(request); + + result.ShouldNotHaveAnyValidationErrors(); + } + + [Fact] + public void Has_no_validation_errors_when_van_null() + { + var request = _fixture.Create(); + request.Van = null; + + var result = _validator.TestValidate(request); + result.ShouldNotHaveAnyValidationErrors(); + } + + [Fact] + public void Has_no_validation_errors_when_tot_null() + { + var request = _fixture.Create(); + request.Tot = null; + + var result = _validator.TestValidate(request); + result.ShouldNotHaveAnyValidationErrors(); + } + + [Fact] + public void Has_no_validation_errors_when_identificatie_null() + { + var request = _fixture.Create(); + request.Identificatie = null; + + var result = _validator.TestValidate(request); + result.ShouldNotHaveAnyValidationErrors(); + } + + [Fact] + public void Has_no_validation_errors_when_identificatie_empty() + { + var request = _fixture.Create(); + request.Identificatie = ""; + + var result = _validator.TestValidate(request); + result.ShouldNotHaveAnyValidationErrors(); + } + + [Fact] + public void Has_no_validation_errors_when_beschrijving_null() + { + var request = _fixture.Create(); + request.Beschrijving = null; + + var result = _validator.TestValidate(request); + result.ShouldNotHaveAnyValidationErrors(); + } + + [Fact] + public void Has_no_validation_errors_when_beschrijving_empty() + { + var request = _fixture.Create(); + request.Beschrijving = ""; + + var result = _validator.TestValidate(request); + result.ShouldNotHaveAnyValidationErrors(); + } +} diff --git a/test/AssociationRegistry.Test.Common/AutoFixture/AdminApiAutoFixtureCustomizations.cs b/test/AssociationRegistry.Test.Common/AutoFixture/AdminApiAutoFixtureCustomizations.cs index 08fbbc220..b8ffdf398 100644 --- a/test/AssociationRegistry.Test.Common/AutoFixture/AdminApiAutoFixtureCustomizations.cs +++ b/test/AssociationRegistry.Test.Common/AutoFixture/AdminApiAutoFixtureCustomizations.cs @@ -252,8 +252,8 @@ private static void CustomizeVoegLidmaatschapToeRequest(this IFixture fixture) () => new VoegLidmaatschapToeRequest { AndereVereniging = fixture.Create(), - DatumVan = date, - DatumTot = date.AddDays(new Random().Next(1, 99)), + Van = date, + Tot = date.AddDays(new Random().Next(1, 99)), Identificatie = fixture.Create(), Beschrijving = fixture.Create(), }).OmitAutoProperties()); diff --git a/test/AssociationRegistry.Test.Common/AutoFixture/AutoFixtureCustomizations.cs b/test/AssociationRegistry.Test.Common/AutoFixture/AutoFixtureCustomizations.cs index 2de892c46..4c34cd1c4 100644 --- a/test/AssociationRegistry.Test.Common/AutoFixture/AutoFixtureCustomizations.cs +++ b/test/AssociationRegistry.Test.Common/AutoFixture/AutoFixtureCustomizations.cs @@ -38,7 +38,6 @@ public static Fixture CustomizeDomain(this Fixture fixture) fixture.CustomizeMagdaResponses(); fixture.CustomizeWerkingsgebied(); fixture.CustomizeLidmaatschap(); - fixture.CustomizeLidmaatschapWerdToegevoegd(); fixture.CustomizeGeldigheidsperiode(); RegistratiedataCustomizations.CustomizeRegistratiedata(fixture); @@ -319,21 +318,6 @@ private static void CustomizeLidmaatschap(this IFixture fixture) ); } - private static void CustomizeLidmaatschapWerdToegevoegd(this IFixture fixture) - { - fixture.Customize( - composer => - composer.FromFactory( - () => new LidmaatschapWerdToegevoegd(Registratiedata.Lidmaatschap.With(Lidmaatschap.Create( - fixture.Create(), - fixture.Create(), - fixture.Create(), - fixture.Create() - )))) - .OmitAutoProperties() - ); - } - private static void CustomizeGeldigheidsperiode(this IFixture fixture) { var date = fixture.Create(); diff --git a/test/AssociationRegistry.Test.Common/AutoFixture/EventCustomizations.cs b/test/AssociationRegistry.Test.Common/AutoFixture/EventCustomizations.cs index f9536deda..f76f607f2 100644 --- a/test/AssociationRegistry.Test.Common/AutoFixture/EventCustomizations.cs +++ b/test/AssociationRegistry.Test.Common/AutoFixture/EventCustomizations.cs @@ -19,6 +19,25 @@ public static void CustomizeEvents(Fixture fixture) fixture.CustomizeVertegenwoordigerWerdOvergenomenUitKBO(); fixture.CustomizeContactgegevenKonNietOvergenomenWordenUitKBO(); fixture.CustomizeRechtsvormWerdGewijzigdInKBO(); + fixture.CustomizeLidmaatschapWerdToegevoegd(); + } + + private static void CustomizeLidmaatschapWerdToegevoegd(this IFixture fixture) + { + fixture.Customize( + composer => + composer.FromFactory( + () => new LidmaatschapWerdToegevoegd( + Registratiedata.Lidmaatschap.With( + Lidmaatschap.Hydrate( + fixture.Create(), + fixture.Create(), + fixture.Create(), + fixture.Create(), + fixture.Create() + )))) + .OmitAutoProperties() + ); } private static void CustomizeVerenigingMetRechtspersoonlijkheidWerdGeregistreerd(this IFixture fixture) diff --git a/test/AssociationRegistry.Test.E2E/Scenarios/Requests/FeitelijkeVereniging/VoegLidmaatschapToeRequestFactory.cs b/test/AssociationRegistry.Test.E2E/Scenarios/Requests/FeitelijkeVereniging/VoegLidmaatschapToeRequestFactory.cs index 66d110df7..c6b57cb23 100644 --- a/test/AssociationRegistry.Test.E2E/Scenarios/Requests/FeitelijkeVereniging/VoegLidmaatschapToeRequestFactory.cs +++ b/test/AssociationRegistry.Test.E2E/Scenarios/Requests/FeitelijkeVereniging/VoegLidmaatschapToeRequestFactory.cs @@ -26,8 +26,8 @@ public async Task> ExecuteRequest(IApi var request = new VoegLidmaatschapToeRequest { AndereVereniging = _scenario.FeitelijkeVerenigingWerdGeregistreerd.VCode, - DatumVan = date, - DatumTot = date.AddDays(new Random().Next(1, 99)), + Van = date, + Tot = date.AddDays(new Random().Next(1, 99)), Identificatie = fixture.Create(), Beschrijving = fixture.Create(), }; diff --git a/test/AssociationRegistry.Test.E2E/When_Voeg_Lidmaatschap_Toe/Beheer/Detail/Returns_Detail_With_Toegevoegd_Lidmaatschap.cs b/test/AssociationRegistry.Test.E2E/When_Voeg_Lidmaatschap_Toe/Beheer/Detail/Returns_Detail_With_Toegevoegd_Lidmaatschap.cs index 15d06b469..76e676f73 100644 --- a/test/AssociationRegistry.Test.E2E/When_Voeg_Lidmaatschap_Toe/Beheer/Detail/Returns_Detail_With_Toegevoegd_Lidmaatschap.cs +++ b/test/AssociationRegistry.Test.E2E/When_Voeg_Lidmaatschap_Toe/Beheer/Detail/Returns_Detail_With_Toegevoegd_Lidmaatschap.cs @@ -29,8 +29,8 @@ public void JsonContentMatches() LidmaatschapId = 1, AndereVereniging = _context.Request.AndereVereniging, Beschrijving = _context.Request.Beschrijving, - Van = _context.Request.DatumVan.ToBelgianDate(), - Tot = _context.Request.DatumTot.ToBelgianDate(), + Van = _context.Request.Van.ToBelgianDate(), + Tot = _context.Request.Tot.ToBelgianDate(), Identificatie = _context.Request.Identificatie, Naam = _context.Scenario.FeitelijkeVerenigingWerdGeregistreerd.Naam, };