diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Common/ToeTeVoegenContactgegeven.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Common/ToeTeVoegenContactgegeven.cs index 1c04e9830..8a7ef9316 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Common/ToeTeVoegenContactgegeven.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Common/ToeTeVoegenContactgegeven.cs @@ -1,11 +1,11 @@ namespace AssociationRegistry.Admin.Api.Verenigingen.Common; -using System.Runtime.Serialization; using Infrastructure.Swagger; +using System.Runtime.Serialization; using Vereniging; /// -/// Het toe te voegen contactgegeven +/// Het toe te voegen contactgegeven /// [DataContract] public class ToeTeVoegenContactgegeven @@ -23,7 +23,7 @@ public class ToeTeVoegenContactgegeven public string Waarde { get; set; } = null!; /// - /// Vrij veld die het het contactgegeven beschrijft (bijv: algemeen, administratie, ...) + /// Vrij veld die het het contactgegeven beschrijft (bijv: algemeen, administratie, ...) /// [DataMember(Name = "beschrijving")] public string? Beschrijving { get; set; } @@ -34,7 +34,7 @@ public class ToeTeVoegenContactgegeven public static Contactgegeven Map(ToeTeVoegenContactgegeven toeTeVoegenContactgegeven) => Contactgegeven.CreateFromInitiator( - ContactgegevenType.Parse(toeTeVoegenContactgegeven.Type), + Contactgegeventype.Parse(toeTeVoegenContactgegeven.Type), toeTeVoegenContactgegeven.Waarde, toeTeVoegenContactgegeven.Beschrijving, toeTeVoegenContactgegeven.IsPrimair); diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Common/ToeTeVoegenContactgegevenValidator.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Common/ToeTeVoegenContactgegevenValidator.cs index 3ad5d5af3..a31837ee4 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Common/ToeTeVoegenContactgegevenValidator.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Common/ToeTeVoegenContactgegevenValidator.cs @@ -1,8 +1,8 @@ namespace AssociationRegistry.Admin.Api.Verenigingen.Common; +using FluentValidation; using Infrastructure.Validation; using Vereniging; -using FluentValidation; public class ToeTeVoegenContactgegevenValidator : AbstractValidator { @@ -12,8 +12,8 @@ public ToeTeVoegenContactgegevenValidator() this.RequireNotNullOrEmpty(contactgegeven => contactgegeven.Type); RuleFor(contactgegeven => contactgegeven.Type) - .Must(ContactgegevenType.CanParse) - .WithMessage(contactgegeven => $"De waarde {contactgegeven.Type} is geen gekend contactgegeven type.") - .When(contactgegeven => !string.IsNullOrEmpty(contactgegeven.Type)); + .Must(Contactgegeventype.CanParse) + .WithMessage(contactgegeven => $"De waarde {contactgegeven.Type} is geen gekend contactgegeven type.") + .When(contactgegeven => !string.IsNullOrEmpty(contactgegeven.Type)); } } diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/Examples/VoegContactgegevenToeRequestExamples.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/Examples/VoegContactgegevenToeRequestExamples.cs index 5f38b6f91..81a7af95f 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/Examples/VoegContactgegevenToeRequestExamples.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/Examples/VoegContactgegevenToeRequestExamples.cs @@ -1,9 +1,9 @@ namespace AssociationRegistry.Admin.Api.Verenigingen.Contactgegevens.FeitelijkeVereniging.VoegContactGegevenToe.Examples; using Common; -using Vereniging; using RequestsModels; using Swashbuckle.AspNetCore.Filters; +using Vereniging; public class VoegContactgegevenToeRequestExamples : IExamplesProvider { @@ -14,7 +14,7 @@ public VoegContactgegevenToeRequest GetExamples() { Beschrijving = "Algemeen", Waarde = "algemeen@example.com", - Type = ContactgegevenType.Email, + Type = Contactgegeventype.Email, IsPrimair = true, }, }; diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/RequestsModels/VoegContactgegevenToeRequest.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/RequestsModels/VoegContactgegevenToeRequest.cs index 849b3904f..0a458aa7a 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/RequestsModels/VoegContactgegevenToeRequest.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/RequestsModels/VoegContactgegevenToeRequest.cs @@ -1,8 +1,8 @@ namespace AssociationRegistry.Admin.Api.Verenigingen.Contactgegevens.FeitelijkeVereniging.VoegContactGegevenToe.RequestsModels; -using System.Runtime.Serialization; using Acties.VoegContactgegevenToe; using Common; +using System.Runtime.Serialization; using Vereniging; [DataContract] @@ -16,7 +16,7 @@ public VoegContactgegevenToeCommand ToCommand(string vCode) => new( VCode.Create(vCode), AssociationRegistry.Vereniging.Contactgegeven.CreateFromInitiator( - ContactgegevenType.Parse(Contactgegeven.Type), + Contactgegeventype.Parse(Contactgegeven.Type), Contactgegeven.Waarde, Contactgegeven.Beschrijving, Contactgegeven.IsPrimair)); diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/VoegContactGegevenToeValidator.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/VoegContactGegevenToeValidator.cs index f9c421819..31b1c7348 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/VoegContactGegevenToeValidator.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Contactgegevens/FeitelijkeVereniging/VoegContactGegevenToe/VoegContactGegevenToeValidator.cs @@ -1,9 +1,9 @@ namespace AssociationRegistry.Admin.Api.Verenigingen.Contactgegevens.FeitelijkeVereniging.VoegContactGegevenToe; -using Infrastructure.Validation; -using Vereniging; using FluentValidation; +using Infrastructure.Validation; using RequestsModels; +using Vereniging; // ReSharper disable ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract public class VoegContactgegevenToeValidator : AbstractValidator @@ -11,20 +11,23 @@ public class VoegContactgegevenToeValidator : AbstractValidator request.Contactgegeven).NotNull() - .WithMessage("'Contactgegeven' is verplicht."); + .WithMessage("'Contactgegeven' is verplicht."); + When( - request => request.Contactgegeven is not null, - () => this.RequireNotNullOrEmpty(request => request.Contactgegeven.Waarde) + predicate: request => request.Contactgegeven is not null, + action: () => this.RequireNotNullOrEmpty(request => request.Contactgegeven.Waarde) ); + When( - request => request.Contactgegeven is not null, - () => this.RequireNotNullOrEmpty(request => request.Contactgegeven.Type) + predicate: request => request.Contactgegeven is not null, + action: () => this.RequireNotNullOrEmpty(request => request.Contactgegeven.Type) ); + When( - request => request.Contactgegeven is not null && !string.IsNullOrEmpty(request.Contactgegeven.Type), - () => RuleFor(request => request.Contactgegeven.Type) - .Must(ContactgegevenType.CanParse) - .WithMessage(t => $"De waarde '{t.Contactgegeven.Type}' is geen gekend contactgegeven type.") + predicate: request => request.Contactgegeven is not null && !string.IsNullOrEmpty(request.Contactgegeven.Type), + action: () => RuleFor(request => request.Contactgegeven.Type) + .Must(Contactgegeventype.CanParse) + .WithMessage(t => $"De waarde '{t.Contactgegeven.Type}' is geen gekend contactgegeven type.") ); } } diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/BeheerVerenigingDetailMapper.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/BeheerVerenigingDetailMapper.cs index 5bed052ca..246344ed1 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/BeheerVerenigingDetailMapper.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/BeheerVerenigingDetailMapper.cs @@ -1,15 +1,11 @@ namespace AssociationRegistry.Admin.Api.Verenigingen.Detail; -using System.Linq; using Infrastructure.ConfigurationBindings; using ResponseModels; using Schema.Detail; +using System.Linq; using Adres = ResponseModels.Adres; using AdresId = ResponseModels.AdresId; -using Contactgegeven = ResponseModels.Contactgegeven; -using HoofdactiviteitVerenigingsloket = ResponseModels.HoofdactiviteitVerenigingsloket; -using Locatie = ResponseModels.Locatie; -using Vertegenwoordiger = ResponseModels.Vertegenwoordiger; public class BeheerVerenigingDetailMapper { @@ -70,7 +66,9 @@ private static Relatie Map(BeheerVerenigingDetailDocument.Relatie relatie, strin AndereVereniging = Map(relatie.AndereVereniging, baseUrl), }; - private static GerelateerdeVereniging Map(BeheerVerenigingDetailDocument.Relatie.GerelateerdeVereniging gerelateerdeVereniging, string baseUrl) + private static GerelateerdeVereniging Map( + BeheerVerenigingDetailDocument.Relatie.GerelateerdeVereniging gerelateerdeVereniging, + string baseUrl) => new() { KboNummer = gerelateerdeVereniging.KboNummer, @@ -99,14 +97,15 @@ private static Contactgegeven Map(BeheerVerenigingDetailDocument.Contactgegeven => new() { ContactgegevenId = contactgegeven.ContactgegevenId, - Type = contactgegeven.Type, + Contactgegeventype = contactgegeven.Contactgegeventype, Waarde = contactgegeven.Waarde, Beschrijving = contactgegeven.Beschrijving, IsPrimair = contactgegeven.IsPrimair, Bron = contactgegeven.Bron, }; - private static HoofdactiviteitVerenigingsloket Map(BeheerVerenigingDetailDocument.HoofdactiviteitVerenigingsloket hoofdactiviteitVerenigingsloket) + private static HoofdactiviteitVerenigingsloket Map( + BeheerVerenigingDetailDocument.HoofdactiviteitVerenigingsloket hoofdactiviteitVerenigingsloket) => new() { Code = hoofdactiviteitVerenigingsloket.Code, diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/Examples/DetailVerenigingResponseExamples.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/Examples/DetailVerenigingResponseExamples.cs index 1d8b6e22a..f737b01f6 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/Examples/DetailVerenigingResponseExamples.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/Examples/DetailVerenigingResponseExamples.cs @@ -27,7 +27,7 @@ public DetailVerenigingResponseExamples(AppSettings appSettings) public IEnumerable> GetExamples() { yield return SwaggerExample.Create( - "Feitelijke vereniging", + name: "Feitelijke vereniging", new DetailVerenigingResponse { Context = $"{_appSettings.PublicApiBaseUrl}/v1/contexten/beheer/detail-vereniging-context.json", @@ -63,7 +63,7 @@ public IEnumerable> GetExamples() { new Contactgegeven { - Type = "E-mail", + Contactgegeventype = "E-mail", Beschrijving = "Info", Waarde = "info@example.org", ContactgegevenId = 1, @@ -127,7 +127,7 @@ public IEnumerable> GetExamples() ); yield return SwaggerExample.Create( - "Vereniging met rechtspersoonlijkheid", + name: "Vereniging met rechtspersoonlijkheid", new DetailVerenigingResponse { Context = $"{_appSettings.PublicApiBaseUrl}/v1/contexten/beheer/detail-vereniging-context.json", @@ -164,7 +164,7 @@ public IEnumerable> GetExamples() { new Contactgegeven { - Type = "E-mail", + Contactgegeventype = "E-mail", Beschrijving = "Info", Waarde = "info@example.org", ContactgegevenId = 1, @@ -173,7 +173,7 @@ public IEnumerable> GetExamples() }, new Contactgegeven { - Type = ContactgegevenType.SocialMedia, + Contactgegeventype = Contactgegeventype.SocialMedia, Beschrijving = "BlubBlub", Waarde = "blubblub.com/vissen", ContactgegevenId = 2, diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/ResponseModels/Contactgegeven.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/ResponseModels/Contactgegeven.cs index 561347bcc..af016b613 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/ResponseModels/Contactgegeven.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Detail/ResponseModels/Contactgegeven.cs @@ -11,8 +11,8 @@ public class Contactgegeven public int ContactgegevenId { get; init; } /// Het type contactgegeven - [DataMember(Name = "Type")] - public string Type { get; init; } = null!; + [DataMember(Name = "Contactgegeventype")] + public string Contactgegeventype { get; init; } = null!; /// De waarde van het contactgegeven [DataMember(Name = "Waarde")] @@ -28,8 +28,9 @@ public class Contactgegeven [DataMember(Name = "IsPrimair")] public bool IsPrimair { get; init; } - /// De bron die dit contactgegeven beheert - ///
+ /// + /// De bron die dit contactgegeven beheert + ///
/// Mogelijke waarden:
/// - Initiator
/// - KBO diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Registreer/Afdeling/Examples/RegistreerAfdelingRequestExamples.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Registreer/Afdeling/Examples/RegistreerAfdelingRequestExamples.cs index f4501ecd6..165a0a1f8 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Registreer/Afdeling/Examples/RegistreerAfdelingRequestExamples.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Registreer/Afdeling/Examples/RegistreerAfdelingRequestExamples.cs @@ -1,13 +1,13 @@ namespace AssociationRegistry.Admin.Api.Verenigingen.Registreer.Afdeling.Examples; -using System; -using System.Linq; using Common; -using Vereniging; using FeitelijkeVereniging.RequetsModels; using Swashbuckle.AspNetCore.Filters; -using AdresId = Common.AdresId; +using System; +using System.Linq; +using Vereniging; using Adres = Common.Adres; +using AdresId = Common.AdresId; public class RegistreerAfdelingRequestExamples : IExamplesProvider { @@ -24,7 +24,7 @@ public RegistreerFeitelijkeVerenigingRequest GetExamples() Maximumleeftijd = 150, }, HoofdactiviteitenVerenigingsloket = HoofdactiviteitVerenigingsloket - .All().Take(5).Select(h=>h.Code).ToArray(), + .All().Take(5).Select(h => h.Code).ToArray(), Locaties = new[] { new ToeTeVoegenLocatie @@ -54,7 +54,7 @@ public RegistreerFeitelijkeVerenigingRequest GetExamples() { Beschrijving = "Algemeen", Waarde = "algemeen@example.com", - Type = ContactgegevenType.Email, + Type = Contactgegeventype.Email, IsPrimair = true, }, }, diff --git a/src/AssociationRegistry.Admin.Api/Verenigingen/Registreer/FeitelijkeVereniging/Examples/RegistreerFeitelijkeVerenigingRequestExamples.cs b/src/AssociationRegistry.Admin.Api/Verenigingen/Registreer/FeitelijkeVereniging/Examples/RegistreerFeitelijkeVerenigingRequestExamples.cs index 2ea59b76d..329210c4e 100644 --- a/src/AssociationRegistry.Admin.Api/Verenigingen/Registreer/FeitelijkeVereniging/Examples/RegistreerFeitelijkeVerenigingRequestExamples.cs +++ b/src/AssociationRegistry.Admin.Api/Verenigingen/Registreer/FeitelijkeVereniging/Examples/RegistreerFeitelijkeVerenigingRequestExamples.cs @@ -1,13 +1,13 @@ namespace AssociationRegistry.Admin.Api.Verenigingen.Registreer.FeitelijkeVereniging.Examples; -using System; -using System.Linq; using Common; -using Vereniging; using RequetsModels; using Swashbuckle.AspNetCore.Filters; -using AdresId = Common.AdresId; +using System; +using System.Linq; +using Vereniging; using Adres = Common.Adres; +using AdresId = Common.AdresId; public class RegistreerFeitelijkeVerenigingRequestExamples : IExamplesProvider { @@ -24,7 +24,7 @@ public RegistreerFeitelijkeVerenigingRequest GetExamples() Maximumleeftijd = 150, }, HoofdactiviteitenVerenigingsloket = HoofdactiviteitVerenigingsloket - .All().Take(5).Select(h => h.Code).ToArray(), + .All().Take(5).Select(h => h.Code).ToArray(), Locaties = new[] { new ToeTeVoegenLocatie @@ -54,7 +54,7 @@ public RegistreerFeitelijkeVerenigingRequest GetExamples() { Beschrijving = "Algemeen", Waarde = "algemeen@example.com", - Type = ContactgegevenType.Email, + Type = Contactgegeventype.Email, IsPrimair = true, }, }, diff --git a/src/AssociationRegistry.Admin.ProjectionHost/Projections/Detail/BeheerVerenigingDetailMapper.cs b/src/AssociationRegistry.Admin.ProjectionHost/Projections/Detail/BeheerVerenigingDetailMapper.cs index 9c19ef5e5..39393d105 100644 --- a/src/AssociationRegistry.Admin.ProjectionHost/Projections/Detail/BeheerVerenigingDetailMapper.cs +++ b/src/AssociationRegistry.Admin.ProjectionHost/Projections/Detail/BeheerVerenigingDetailMapper.cs @@ -61,7 +61,7 @@ public static BeheerVerenigingDetailDocument.Contactgegeven MapContactgegeven(Re => new() { ContactgegevenId = c.ContactgegevenId, - Type = c.Type, + Contactgegeventype = c.Type, Waarde = c.Waarde, Beschrijving = c.Beschrijving, IsPrimair = c.IsPrimair, @@ -85,7 +85,8 @@ public static BeheerVerenigingDetailDocument.Vertegenwoordiger MapVertegenwoordi Bron = bron, }; - public static BeheerVerenigingDetailDocument.HoofdactiviteitVerenigingsloket MapHoofdactiviteitVerenigingsloket(Registratiedata.HoofdactiviteitVerenigingsloket h) + public static BeheerVerenigingDetailDocument.HoofdactiviteitVerenigingsloket MapHoofdactiviteitVerenigingsloket( + Registratiedata.HoofdactiviteitVerenigingsloket h) => new() { Code = h.Code, @@ -99,7 +100,8 @@ public static BeheerVerenigingDetailDocument.VerenigingsType MapVerenigingsType( Beschrijving = verenigingstype.Beschrijving, }; - public static BeheerVerenigingDetailDocument.Relatie MapMoederRelatie(AfdelingWerdGeregistreerd.MoederverenigingsData moederverenigingsData) + public static BeheerVerenigingDetailDocument.Relatie MapMoederRelatie( + AfdelingWerdGeregistreerd.MoederverenigingsData moederverenigingsData) => new() { Type = RelatieType.IsAfdelingVan.Beschrijving, diff --git a/src/AssociationRegistry.Admin.ProjectionHost/Projections/Detail/BeheerVerenigingDetailProjector.cs b/src/AssociationRegistry.Admin.ProjectionHost/Projections/Detail/BeheerVerenigingDetailProjector.cs index 12c19908b..457245e36 100644 --- a/src/AssociationRegistry.Admin.ProjectionHost/Projections/Detail/BeheerVerenigingDetailProjector.cs +++ b/src/AssociationRegistry.Admin.ProjectionHost/Projections/Detail/BeheerVerenigingDetailProjector.cs @@ -154,7 +154,6 @@ public static void Apply(IEvent doelgroepWerdGewijzigd, Minimumleeftijd = doelgroepWerdGewijzigd.Data.Doelgroep.Minimumleeftijd, Maximumleeftijd = doelgroepWerdGewijzigd.Data.Doelgroep.Maximumleeftijd, }; - } public static void Apply(IEvent contactgegevenWerdToegevoegd, BeheerVerenigingDetailDocument document) @@ -163,7 +162,7 @@ public static void Apply(IEvent contactgegevenWerd new BeheerVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdToegevoegd.Data.ContactgegevenId, - Type = contactgegevenWerdToegevoegd.Data.Type, + Contactgegeventype = contactgegevenWerdToegevoegd.Data.Type, Waarde = contactgegevenWerdToegevoegd.Data.Waarde, Beschrijving = contactgegevenWerdToegevoegd.Data.Beschrijving, Bron = contactgegevenWerdToegevoegd.Data.Bron, @@ -171,7 +170,6 @@ public static void Apply(IEvent contactgegevenWerd }) .OrderBy(c => c.ContactgegevenId) .ToArray(); - } public static void Apply(IEvent contactgegevenWerdGewijzigd, BeheerVerenigingDetailDocument document) @@ -179,7 +177,7 @@ public static void Apply(IEvent contactgegevenWerdG document.Contactgegevens = document.Contactgegevens .UpdateSingle( identityFunc: c => c.ContactgegevenId == contactgegevenWerdGewijzigd.Data.ContactgegevenId, - c => c with + update: c => c with { Waarde = contactgegevenWerdGewijzigd.Data.Waarde, Beschrijving = contactgegevenWerdGewijzigd.Data.Beschrijving, @@ -187,7 +185,6 @@ public static void Apply(IEvent contactgegevenWerdG }) .OrderBy(c => c.ContactgegevenId) .ToArray(); - } public static void Apply(IEvent contactgegevenWerdVerwijderd, BeheerVerenigingDetailDocument document) @@ -197,7 +194,6 @@ public static void Apply(IEvent contactgegevenWerd c => c.ContactgegevenId != contactgegevenWerdVerwijderd.Data.ContactgegevenId) .OrderBy(c => c.ContactgegevenId) .ToArray(); - } public static void Apply( @@ -211,7 +207,6 @@ public static void Apply( Code = h.Code, Beschrijving = h.Beschrijving, }).ToArray(); - } public static void Apply( @@ -236,7 +231,6 @@ public static void Apply( }) .OrderBy(v => v.VertegenwoordigerId) .ToArray(); - } public static void Apply(IEvent vertegenwoordigerWerdGewijzigd, BeheerVerenigingDetailDocument document) @@ -245,7 +239,7 @@ public static void Apply(IEvent vertegenwoordige .UpdateSingle( identityFunc: v => v.VertegenwoordigerId == vertegenwoordigerWerdGewijzigd.Data.VertegenwoordigerId, - v => v with + update: v => v with { Roepnaam = vertegenwoordigerWerdGewijzigd.Data.Roepnaam, Rol = vertegenwoordigerWerdGewijzigd.Data.Rol, @@ -257,7 +251,6 @@ public static void Apply(IEvent vertegenwoordige }) .OrderBy(v => v.VertegenwoordigerId) .ToArray(); - } public static void Apply( @@ -269,7 +262,6 @@ public static void Apply( c => c.VertegenwoordigerId != vertegenwoordigerWerdVerwijderd.Data.VertegenwoordigerId) .OrderBy(v => v.VertegenwoordigerId) .ToArray(); - } public static void Apply( @@ -277,16 +269,16 @@ public static void Apply( BeheerVerenigingDetailDocument document) { document.Relaties = document.Relaties.Append( - new BeheerVerenigingDetailDocument.Relatie + new BeheerVerenigingDetailDocument.Relatie + { + Type = RelatieType.IsAfdelingVan.InverseBeschrijving, + AndereVereniging = new BeheerVerenigingDetailDocument.Relatie.GerelateerdeVereniging { - Type = RelatieType.IsAfdelingVan.InverseBeschrijving, - AndereVereniging = new BeheerVerenigingDetailDocument.Relatie.GerelateerdeVereniging - { - KboNummer = string.Empty, - Naam = afdelingWerdGeregistreerd.Data.Naam, - VCode = afdelingWerdGeregistreerd.Data.VCode, - }, - }).ToArray(); + KboNummer = string.Empty, + Naam = afdelingWerdGeregistreerd.Data.Naam, + VCode = afdelingWerdGeregistreerd.Data.VCode, + }, + }).ToArray(); } public static void Apply( @@ -294,7 +286,6 @@ public static void Apply( BeheerVerenigingDetailDocument document) { document.IsUitgeschrevenUitPubliekeDatastroom = true; - } public static void Apply( @@ -302,7 +293,6 @@ public static void Apply( BeheerVerenigingDetailDocument document) { document.IsUitgeschrevenUitPubliekeDatastroom = false; - } public static void Apply(IEvent locatieWerdToegevoegd, BeheerVerenigingDetailDocument document) @@ -312,7 +302,6 @@ public static void Apply(IEvent locatieWerdToegevoegd, Be locatieWerdToegevoegd.Data.Bron)) .OrderBy(l => l.LocatieId) .ToArray(); - } public static void Apply(IEvent locatieWerdGewijzigd, BeheerVerenigingDetailDocument document) @@ -320,7 +309,7 @@ public static void Apply(IEvent locatieWerdGewijzigd, Behe document.Locaties = document.Locaties .UpdateSingle( identityFunc: l => l.LocatieId == locatieWerdGewijzigd.Data.Locatie.LocatieId, - l => l with + update: l => l with { IsPrimair = locatieWerdGewijzigd.Data.Locatie.IsPrimair, Locatietype = locatieWerdGewijzigd.Data.Locatie.Locatietype, @@ -331,7 +320,6 @@ public static void Apply(IEvent locatieWerdGewijzigd, Behe }) .OrderBy(l => l.LocatieId) .ToArray(); - } public static void Apply(IEvent locatieWerdVerwijderd, BeheerVerenigingDetailDocument document) @@ -340,7 +328,6 @@ public static void Apply(IEvent locatieWerdVerwijderd, Be .Where(l => l.LocatieId != locatieWerdVerwijderd.Data.Locatie.LocatieId) .OrderBy(l => l.LocatieId) .ToArray(); - } public static void Apply( @@ -352,7 +339,6 @@ public static void Apply( maatschappelijkeZetelWerdOvergenomenUitKbo.Data.Bron)) .OrderBy(l => l.LocatieId) .ToArray(); - } public static void Apply( @@ -362,14 +348,13 @@ public static void Apply( document.Locaties = document.Locaties .UpdateSingle( identityFunc: l => l.LocatieId == maatschappelijkeZetelVolgensKboWerdGewijzigd.Data.LocatieId, - l => l with + update: l => l with { IsPrimair = maatschappelijkeZetelVolgensKboWerdGewijzigd.Data.IsPrimair, Naam = maatschappelijkeZetelVolgensKboWerdGewijzigd.Data.Naam, }) .OrderBy(l => l.LocatieId) .ToArray(); - } public static void Apply( @@ -380,14 +365,13 @@ public static void Apply( new BeheerVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdToegevoegd.Data.ContactgegevenId, - Type = contactgegevenWerdToegevoegd.Data.Type, + Contactgegeventype = contactgegevenWerdToegevoegd.Data.Type, Beschrijving = string.Empty, Waarde = contactgegevenWerdToegevoegd.Data.Waarde, Bron = contactgegevenWerdToegevoegd.Data.Bron, }) .OrderBy(c => c.ContactgegevenId) .ToArray(); - } public static void Apply( @@ -395,8 +379,9 @@ public static void Apply( BeheerVerenigingDetailDocument document) { document.Contactgegevens = document.Contactgegevens.UpdateSingle( - c => c.ContactgegevenId == contactgegevenUitKboWerdGewijzigd.Data.ContactgegevenId, - contactgegeven => contactgegeven with + identityFunc: c + => c.ContactgegevenId == contactgegevenUitKboWerdGewijzigd.Data.ContactgegevenId, + update: contactgegeven => contactgegeven with { IsPrimair = contactgegevenUitKboWerdGewijzigd.Data.IsPrimair, Beschrijving = contactgegevenUitKboWerdGewijzigd.Data.Beschrijving, diff --git a/src/AssociationRegistry.Admin.Schema/Detail/BeheerVerenigingDetailDocument.cs b/src/AssociationRegistry.Admin.Schema/Detail/BeheerVerenigingDetailDocument.cs index 9d3d68c53..f22131dec 100644 --- a/src/AssociationRegistry.Admin.Schema/Detail/BeheerVerenigingDetailDocument.cs +++ b/src/AssociationRegistry.Admin.Schema/Detail/BeheerVerenigingDetailDocument.cs @@ -1,6 +1,5 @@ namespace AssociationRegistry.Admin.Schema.Detail; -using System; using Marten.Schema; public record Doelgroep @@ -11,7 +10,6 @@ public record Doelgroep public record BeheerVerenigingDetailDocument : IVCode, IMetadata { - [Identity] public string VCode { get; init; } = null!; public string Naam { get; set; } = null!; public VerenigingsType Type { get; init; } = null!; public string Roepnaam { get; set; } = null!; @@ -26,12 +24,16 @@ public record BeheerVerenigingDetailDocument : IVCode, IMetadata public Locatie[] Locaties { get; set; } = Array.Empty(); public Contactgegeven[] Contactgegevens { get; set; } = Array.Empty(); public Vertegenwoordiger[] Vertegenwoordigers { get; set; } = Array.Empty(); - public HoofdactiviteitVerenigingsloket[] HoofdactiviteitenVerenigingsloket { get; set; } = Array.Empty(); + + public HoofdactiviteitVerenigingsloket[] HoofdactiviteitenVerenigingsloket { get; set; } = + Array.Empty(); + public Sleutel[] Sleutels { get; set; } = Array.Empty(); - public Metadata Metadata { get; set; } = null!; public Relatie[] Relaties { get; set; } = Array.Empty(); public bool IsUitgeschrevenUitPubliekeDatastroom { get; set; } public string Bron { get; set; } = null!; + public Metadata Metadata { get; set; } = null!; + [Identity] public string VCode { get; init; } = null!; public record VerenigingsType { @@ -42,7 +44,7 @@ public record VerenigingsType public record Contactgegeven : IHasBron { public int ContactgegevenId { get; init; } - public string Type { get; init; } = null!; + public string Contactgegeventype { get; init; } = null!; public string Waarde { get; init; } = null!; public string? Beschrijving { get; init; } public bool IsPrimair { get; init; } @@ -74,10 +76,11 @@ public record Vertegenwoordiger : IHasBron public string Telefoon { get; init; } = null!; public string Mobiel { get; init; } = null!; public string SocialMedia { get; init; } = null!; - public string Bron { get; set; } = null!; public int Identity => VertegenwoordigerId; + + public string Bron { get; set; } = null!; } public record HoofdactiviteitVerenigingsloket diff --git a/src/AssociationRegistry.Public.Api/Verenigingen/Detail/PubliekVerenigingDetailMapper.cs b/src/AssociationRegistry.Public.Api/Verenigingen/Detail/PubliekVerenigingDetailMapper.cs index 7a8090199..bcba6734d 100644 --- a/src/AssociationRegistry.Public.Api/Verenigingen/Detail/PubliekVerenigingDetailMapper.cs +++ b/src/AssociationRegistry.Public.Api/Verenigingen/Detail/PubliekVerenigingDetailMapper.cs @@ -1,9 +1,9 @@ namespace AssociationRegistry.Public.Api.Verenigingen.Detail; -using System.Linq; using Infrastructure.ConfigurationBindings; using ResponseModels; using Schema.Detail; +using System.Linq; public static class PubliekVerenigingDetailMapper { @@ -53,7 +53,7 @@ private static Relatie Map(AppSettings appSettings, PubliekVerenigingDetailDocum private static Contactgegeven Map(PubliekVerenigingDetailDocument.Contactgegeven info) => new() { - Type = info.Type, + Type = info.Contactgegeventype, Waarde = info.Waarde, Beschrijving = info.Beschrijving, IsPrimair = info.IsPrimair, diff --git a/src/AssociationRegistry.Public.ProjectionHost/Projections/Detail/PubliekVerenigingDetailProjector.cs b/src/AssociationRegistry.Public.ProjectionHost/Projections/Detail/PubliekVerenigingDetailProjector.cs index bfafbbcbe..dc9a8f703 100644 --- a/src/AssociationRegistry.Public.ProjectionHost/Projections/Detail/PubliekVerenigingDetailProjector.cs +++ b/src/AssociationRegistry.Public.ProjectionHost/Projections/Detail/PubliekVerenigingDetailProjector.cs @@ -35,7 +35,7 @@ public static PubliekVerenigingDetailDocument Create( c => new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = c.ContactgegevenId, - Type = c.Type.ToString(), + Contactgegeventype = c.Type.ToString(), Waarde = c.Waarde, Beschrijving = c.Beschrijving, IsPrimair = c.IsPrimair, @@ -66,7 +66,7 @@ public static PubliekVerenigingDetailDocument Create(IEvent new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = c.ContactgegevenId, - Type = c.Type.ToString(), + Contactgegeventype = c.Type.ToString(), Waarde = c.Waarde, Beschrijving = c.Beschrijving, IsPrimair = c.IsPrimair, @@ -194,7 +194,7 @@ public static void Apply(IEvent contactgegevenWerd new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdToegevoegd.Data.ContactgegevenId, - Type = contactgegevenWerdToegevoegd.Data.Type, + Contactgegeventype = contactgegevenWerdToegevoegd.Data.Type, Waarde = contactgegevenWerdToegevoegd.Data.Waarde, Beschrijving = contactgegevenWerdToegevoegd.Data.Beschrijving, IsPrimair = contactgegevenWerdToegevoegd.Data.IsPrimair, @@ -211,7 +211,7 @@ public static void Apply(IEvent contactgegevenWerdG new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdGewijzigd.Data.ContactgegevenId, - Type = contactgegevenWerdGewijzigd.Data.Type, + Contactgegeventype = contactgegevenWerdGewijzigd.Data.Type, Waarde = contactgegevenWerdGewijzigd.Data.Waarde, Beschrijving = contactgegevenWerdGewijzigd.Data.Beschrijving, IsPrimair = contactgegevenWerdGewijzigd.Data.IsPrimair, @@ -357,7 +357,7 @@ public static void Apply( new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdOvergenomenUitKBO.Data.ContactgegevenId, - Type = contactgegevenWerdOvergenomenUitKBO.Data.Type, + Contactgegeventype = contactgegevenWerdOvergenomenUitKBO.Data.Type, Beschrijving = string.Empty, Waarde = contactgegevenWerdOvergenomenUitKBO.Data.Waarde, }) diff --git a/src/AssociationRegistry.Public.Schema/Detail/VerenigingDetailDocument.cs b/src/AssociationRegistry.Public.Schema/Detail/VerenigingDetailDocument.cs index d5f6a3b1d..93f42b581 100644 --- a/src/AssociationRegistry.Public.Schema/Detail/VerenigingDetailDocument.cs +++ b/src/AssociationRegistry.Public.Schema/Detail/VerenigingDetailDocument.cs @@ -1,6 +1,5 @@ namespace AssociationRegistry.Public.Schema.Detail; -using System; using Marten.Schema; public record Doelgroep @@ -11,7 +10,6 @@ public record Doelgroep public class PubliekVerenigingDetailDocument : IVCode, ICanBeUitgeschrevenUitPubliekeDatastroom { - [Identity] public string VCode { get; set; } = null!; public VerenigingsType Type { get; set; } = null!; public string Naam { get; set; } = null!; public string? Roepnaam { get; set; } @@ -24,10 +22,14 @@ public class PubliekVerenigingDetailDocument : IVCode, ICanBeUitgeschrevenUitPub public string DatumLaatsteAanpassing { get; set; } = null!; public Locatie[] Locaties { get; set; } = null!; public Contactgegeven[] Contactgegevens { get; set; } = Array.Empty(); - public HoofdactiviteitVerenigingsloket[] HoofdactiviteitenVerenigingsloket { get; set; } = Array.Empty(); + + public HoofdactiviteitVerenigingsloket[] HoofdactiviteitenVerenigingsloket { get; set; } = + Array.Empty(); + public Sleutel[] Sleutels { get; set; } = Array.Empty(); public Relatie[] Relaties { get; set; } = Array.Empty(); public bool IsUitgeschrevenUitPubliekeDatastroom { get; set; } + [Identity] public string VCode { get; set; } = null!; public class VerenigingsType { @@ -38,7 +40,7 @@ public class VerenigingsType public class Contactgegeven { public int ContactgegevenId { get; set; } - public string Type { get; set; } = null!; + public string Contactgegeventype { get; set; } = null!; public string Waarde { get; set; } = null!; public string Beschrijving { get; set; } = null!; public bool IsPrimair { get; set; } diff --git a/src/AssociationRegistry/Events/ContactgegevenWerdGewijzigd.cs b/src/AssociationRegistry/Events/ContactgegevenWerdGewijzigd.cs index ef010dc8b..4babffa94 100644 --- a/src/AssociationRegistry/Events/ContactgegevenWerdGewijzigd.cs +++ b/src/AssociationRegistry/Events/ContactgegevenWerdGewijzigd.cs @@ -13,7 +13,7 @@ public record ContactgegevenWerdGewijzigd( public static ContactgegevenWerdGewijzigd With(Contactgegeven contactgegeven) => new( contactgegeven.ContactgegevenId, - contactgegeven.Type, + contactgegeven.Contactgegeventype, contactgegeven.Waarde, contactgegeven.Beschrijving, contactgegeven.IsPrimair); diff --git a/src/AssociationRegistry/Events/ContactgegevenWerdOvergenomenUitKBO.cs b/src/AssociationRegistry/Events/ContactgegevenWerdOvergenomenUitKBO.cs index 0d684e3d5..b30460403 100644 --- a/src/AssociationRegistry/Events/ContactgegevenWerdOvergenomenUitKBO.cs +++ b/src/AssociationRegistry/Events/ContactgegevenWerdOvergenomenUitKBO.cs @@ -1,7 +1,7 @@ namespace AssociationRegistry.Events; -using System.Runtime.Serialization; using Framework; +using System.Runtime.Serialization; using Vereniging; using Vereniging.Bronnen; @@ -14,10 +14,11 @@ public record ContactgegevenWerdOvergenomenUitKBO( [IgnoreDataMember] public Bron Bron => Bron.KBO; - public static ContactgegevenWerdOvergenomenUitKBO With(Contactgegeven contactgegeven, ContactgegevenTypeVolgensKbo typeVolgensKbo) + + public static ContactgegevenWerdOvergenomenUitKBO With(Contactgegeven contactgegeven, ContactgegeventypeVolgensKbo typeVolgensKbo) => new( contactgegeven.ContactgegevenId, - contactgegeven.Type, + contactgegeven.Contactgegeventype, typeVolgensKbo.Waarde, contactgegeven.Waarde); } diff --git a/src/AssociationRegistry/Events/ContactgegevenWerdToegevoegd.cs b/src/AssociationRegistry/Events/ContactgegevenWerdToegevoegd.cs index 268ede284..e757948ae 100644 --- a/src/AssociationRegistry/Events/ContactgegevenWerdToegevoegd.cs +++ b/src/AssociationRegistry/Events/ContactgegevenWerdToegevoegd.cs @@ -1,7 +1,7 @@ namespace AssociationRegistry.Events; -using System.Runtime.Serialization; using Framework; +using System.Runtime.Serialization; using Vereniging; using Vereniging.Bronnen; @@ -15,10 +15,11 @@ public record ContactgegevenWerdToegevoegd( [IgnoreDataMember] public Bron Bron => Bron.Initiator; + public static ContactgegevenWerdToegevoegd With(Contactgegeven contactgegeven) => new( contactgegeven.ContactgegevenId, - contactgegeven.Type, + contactgegeven.Contactgegeventype, contactgegeven.Waarde, contactgegeven.Beschrijving, contactgegeven.IsPrimair); diff --git a/src/AssociationRegistry/Events/ContactgegevenWerdVerwijderd.cs b/src/AssociationRegistry/Events/ContactgegevenWerdVerwijderd.cs index 92a62dcf1..790cb0f3d 100644 --- a/src/AssociationRegistry/Events/ContactgegevenWerdVerwijderd.cs +++ b/src/AssociationRegistry/Events/ContactgegevenWerdVerwijderd.cs @@ -8,7 +8,7 @@ public record ContactgegevenWerdVerwijderd(int ContactgegevenId, string Type, st public static ContactgegevenWerdVerwijderd With(Contactgegeven contactgegeven) => new( contactgegeven.ContactgegevenId, - contactgegeven.Type, + contactgegeven.Contactgegeventype, contactgegeven.Waarde, contactgegeven.Beschrijving, contactgegeven.IsPrimair); diff --git a/src/AssociationRegistry/Events/Registratiedata.cs b/src/AssociationRegistry/Events/Registratiedata.cs index c54b9059b..cb7c945aa 100644 --- a/src/AssociationRegistry/Events/Registratiedata.cs +++ b/src/AssociationRegistry/Events/Registratiedata.cs @@ -9,10 +9,10 @@ public record Contactgegeven( string Beschrijving, bool IsPrimair) { - public static Contactgegeven With(AssociationRegistry.Vereniging.Contactgegeven contactgegeven) + public static Contactgegeven With(Vereniging.Contactgegeven contactgegeven) => new( contactgegeven.ContactgegevenId, - contactgegeven.Type, + contactgegeven.Contactgegeventype, contactgegeven.Waarde, contactgegeven.Beschrijving, contactgegeven.IsPrimair); @@ -26,7 +26,7 @@ public record Locatie( Adres? Adres, AdresId? AdresId) { - public static Locatie With(AssociationRegistry.Vereniging.Locatie locatie) + public static Locatie With(Vereniging.Locatie locatie) => new( locatie.LocatieId, locatie.Locatietype, @@ -44,7 +44,7 @@ public record Adres( string Gemeente, string Land) { - public static Adres? With(AssociationRegistry.Vereniging.Adres? adres) + public static Adres? With(Vereniging.Adres? adres) { if (adres is null) return null; @@ -61,7 +61,7 @@ public record Adres( public record AdresId(string Broncode, string Bronwaarde) { - public static AdresId? With(AssociationRegistry.Vereniging.AdresId? adresId) + public static AdresId? With(Vereniging.AdresId? adresId) { if (adresId is null) return null; @@ -74,7 +74,7 @@ public record AdresId(string Broncode, string Bronwaarde) public record Doelgroep(int Minimumleeftijd, int Maximumleeftijd) { - public static Doelgroep With(AssociationRegistry.Vereniging.Doelgroep doelgroep) + public static Doelgroep With(Vereniging.Doelgroep doelgroep) => new(doelgroep.Minimumleeftijd, doelgroep.Maximumleeftijd); } @@ -91,7 +91,7 @@ public record Vertegenwoordiger( string Mobiel, string SocialMedia) { - public static Vertegenwoordiger With(AssociationRegistry.Vereniging.Vertegenwoordiger vertegenwoordiger) + public static Vertegenwoordiger With(Vereniging.Vertegenwoordiger vertegenwoordiger) => new( vertegenwoordiger.VertegenwoordigerId, vertegenwoordiger.Insz, @@ -110,7 +110,7 @@ public record HoofdactiviteitVerenigingsloket( string Code, string Beschrijving) { - public static HoofdactiviteitVerenigingsloket With(AssociationRegistry.Vereniging.HoofdactiviteitVerenigingsloket activiteit) + public static HoofdactiviteitVerenigingsloket With(Vereniging.HoofdactiviteitVerenigingsloket activiteit) => new(activiteit.Code, activiteit.Beschrijving); } } diff --git a/src/AssociationRegistry/Vereniging/ContactGegevens/Contactgegeven.cs b/src/AssociationRegistry/Vereniging/ContactGegevens/Contactgegeven.cs index e2f59dc22..9b1f5d95e 100644 --- a/src/AssociationRegistry/Vereniging/ContactGegevens/Contactgegeven.cs +++ b/src/AssociationRegistry/Vereniging/ContactGegevens/Contactgegeven.cs @@ -2,106 +2,112 @@ using Be.Vlaanderen.Basisregisters.AggregateSource; using Bronnen; -using Framework; using Emails; using Exceptions; +using Framework; using SocialMedias; using TelefoonNummers; using Websites; public record Contactgegeven { - public int ContactgegevenId { get; init; } - public ContactgegevenType Type { get; init; } - public string Waarde { get; } - public string Beschrijving { get; init; } - public bool IsPrimair { get; init; } - public Bron Bron { get; init; } - - protected Contactgegeven(ContactgegevenType type, string waarde, string beschrijving, bool isPrimair) + protected Contactgegeven(Contactgegeventype contactgegeventype, string waarde, string beschrijving, bool isPrimair) { ContactgegevenId = 0; - Type = type; + Contactgegeventype = contactgegeventype; Waarde = waarde; Beschrijving = beschrijving; IsPrimair = isPrimair; } - private Contactgegeven(int contactgegevenId, ContactgegevenType type, string waarde, string beschrijving, bool isPrimair, Bron bron) + private Contactgegeven( + int contactgegevenId, + Contactgegeventype contactgegeventype, + string waarde, + string beschrijving, + bool isPrimair, + Bron bron) { ContactgegevenId = contactgegevenId; - Type = type; + Contactgegeventype = contactgegeventype; Waarde = waarde; Beschrijving = beschrijving; IsPrimair = isPrimair; Bron = bron; } + public int ContactgegevenId { get; init; } + public Contactgegeventype Contactgegeventype { get; init; } + public string Waarde { get; } + public string Beschrijving { get; init; } + public bool IsPrimair { get; init; } + public Bron Bron { get; init; } + + public virtual bool Equals(Contactgegeven? other) + { + if (ReferenceEquals(objA: null, other)) return false; + if (ReferenceEquals(this, other)) return true; + + return ContactgegevenId == other.ContactgegevenId && + Contactgegeventype.Equals(other.Contactgegeventype) && + Waarde == other.Waarde && + Beschrijving == other.Beschrijving && + IsPrimair == other.IsPrimair && + Bron == other.Bron; + } + public static Contactgegeven Hydrate( int contactgegevenId, - ContactgegevenType type, + Contactgegeventype type, string waarde, string beschrijving, bool isPrimair, Bron bron) => new(contactgegevenId, type, waarde, beschrijving, isPrimair, bron); - public static Contactgegeven CreateFromInitiator(ContactgegevenType type, string waarde, string? beschrijving, bool isPrimair) + public static Contactgegeven CreateFromInitiator(Contactgegeventype type, string waarde, string? beschrijving, bool isPrimair) { beschrijving ??= string.Empty; Contactgegeven contactgegeven = type switch { - { Waarde: ContactgegevenType.Labels.Email } => Email.Create(waarde, beschrijving, isPrimair), - { Waarde: ContactgegevenType.Labels.Telefoon } => TelefoonNummer.Create(waarde, beschrijving, isPrimair), - { Waarde: ContactgegevenType.Labels.Website } => Website.Create(waarde, beschrijving, isPrimair), - { Waarde: ContactgegevenType.Labels.SocialMedia } => SocialMedia.Create(waarde, beschrijving, isPrimair), + { Waarde: Contactgegeventype.Labels.Email } => Email.Create(waarde, beschrijving, isPrimair), + { Waarde: Contactgegeventype.Labels.Telefoon } => TelefoonNummer.Create(waarde, beschrijving, isPrimair), + { Waarde: Contactgegeventype.Labels.Website } => Website.Create(waarde, beschrijving, isPrimair), + { Waarde: Contactgegeventype.Labels.SocialMedia } => SocialMedia.Create(waarde, beschrijving, isPrimair), _ => throw new ContactTypeIsOngeldig(), }; return contactgegeven with { Bron = Bron.Initiator }; } - public static Contactgegeven CreateFromKbo(ContactgegevenType type, string waarde) - => CreateFromInitiator(type, waarde, string.Empty, false) with { Bron = Bron.KBO }; + public static Contactgegeven CreateFromKbo(Contactgegeventype type, string waarde) + => CreateFromInitiator(type, waarde, string.Empty, isPrimair: false) with { Bron = Bron.KBO }; public static Contactgegeven Create(string type, string waarde, string? beschrijving, bool isPrimair) { Throw.IfNot(IsKnownType(type)); - return CreateFromInitiator(ContactgegevenType.Parse(type), waarde, beschrijving, isPrimair); + return CreateFromInitiator(Contactgegeventype.Parse(type), waarde, beschrijving, isPrimair); } public bool IsEquivalentTo(Contactgegeven contactgegeven) - => Type == contactgegeven.Type && + => Contactgegeventype == contactgegeven.Contactgegeventype && Waarde == contactgegeven.Waarde && Beschrijving == contactgegeven.Beschrijving; private static bool IsKnownType(string type) - => ContactgegevenType.CanParse(type); + => Contactgegeventype.CanParse(type); public Contactgegeven CopyWithValuesIfNotNull(string? waarde, string? beschrijving, bool? isPrimair) - => CreateFromInitiator(Type, waarde ?? Waarde, beschrijving ?? Beschrijving, isPrimair ?? IsPrimair) with + => CreateFromInitiator(Contactgegeventype, waarde ?? Waarde, beschrijving ?? Beschrijving, isPrimair ?? IsPrimair) with { ContactgegevenId = ContactgegevenId, Bron = Bron, }; - public virtual bool Equals(Contactgegeven? other) - { - if (ReferenceEquals(null, other)) return false; - if (ReferenceEquals(this, other)) return true; - - return ContactgegevenId == other.ContactgegevenId && - Type.Equals(other.Type) && - Waarde == other.Waarde && - Beschrijving == other.Beschrijving && - IsPrimair == other.IsPrimair && - Bron == other.Bron; - } - public override int GetHashCode() - => HashCode.Combine(ContactgegevenId, Type, Waarde, Beschrijving, IsPrimair, Bron); + => HashCode.Combine(ContactgegevenId, Contactgegeventype, Waarde, Beschrijving, IsPrimair, Bron); public bool WouldBeEquivalent(string? waarde, string? beschrijving, bool? isPrimair, out Contactgegeven contactgegeven) { @@ -110,11 +116,11 @@ public bool WouldBeEquivalent(string? waarde, string? beschrijving, bool? isPrim return this == contactgegeven; } - public static Contactgegeven? TryCreateFromKbo(string waarde, ContactgegevenTypeVolgensKbo type) + public static Contactgegeven? TryCreateFromKbo(string waarde, ContactgegeventypeVolgensKbo type) { try { - return CreateFromKbo(type.ContactgegevenType, waarde); + return CreateFromKbo(type.Contactgegeventype, waarde); } catch (DomainException) { diff --git a/src/AssociationRegistry/Vereniging/ContactGegevens/Contactgegevens.cs b/src/AssociationRegistry/Vereniging/ContactGegevens/Contactgegevens.cs index 7cfee3824..d7508e6a0 100644 --- a/src/AssociationRegistry/Vereniging/ContactGegevens/Contactgegevens.cs +++ b/src/AssociationRegistry/Vereniging/ContactGegevens/Contactgegevens.cs @@ -1,23 +1,27 @@ namespace AssociationRegistry.Vereniging; -using System.Collections.ObjectModel; using Bronnen; -using Framework; using Exceptions; +using Framework; +using System.Collections.ObjectModel; public class Contactgegevens : ReadOnlyCollection { private const int InitialId = 1; - private int NextId { get; } - - public static Contactgegevens Empty - => new(Array.Empty(), InitialId); private Contactgegevens(IEnumerable contactgegevens, int nextId) : base(contactgegevens.ToArray()) { NextId = nextId; } + private int NextId { get; } + + public static Contactgegevens Empty + => new(Array.Empty(), InitialId); + + private new Contactgegeven this[int contactgegevenId] + => this.Single(x => x.ContactgegevenId == contactgegevenId); + public Contactgegevens Hydrate(IEnumerable contactgegevens) { contactgegevens = contactgegevens.ToArray(); @@ -73,7 +77,7 @@ public Contactgegeven VoegToe(Contactgegeven toeTeVoegenContactgegeven) var teWijzigenContactgegeven = this[contactgegevenId]; - if (teWijzigenContactgegeven.WouldBeEquivalent(null, beschrijving, isPrimair, out var gewijzigdContactgegeven)) + if (teWijzigenContactgegeven.WouldBeEquivalent(waarde: null, beschrijving, isPrimair, out var gewijzigdContactgegeven)) return null; ThrowIfCannotAppendOrUpdate(gewijzigdContactgegeven); @@ -100,9 +104,6 @@ private void ThrowIfCannotAppendOrUpdate(Contactgegeven contactgegeven) public bool ContainsMetZelfdeWaarden(Contactgegeven contactgegeven) => this.Any(contactgegeven.IsEquivalentTo); - private new Contactgegeven this[int contactgegevenId] - => this.Single(x => x.ContactgegevenId == contactgegevenId); - private bool HasKey(int contactgegevenId) => this.Any(contactgegeven => contactgegeven.ContactgegevenId == contactgegevenId); @@ -116,7 +117,7 @@ private void MustNotHaveDuplicateOf(Contactgegeven contactgegeven) Throw.If( this.Without(contactgegeven) .ContainsMetZelfdeWaarden(contactgegeven), - contactgegeven.Type); + contactgegeven.Contactgegeventype); } private void MustNotHavePrimairOfTheSameTypeAs(Contactgegeven updatedContactgegeven) @@ -124,8 +125,8 @@ private void MustNotHavePrimairOfTheSameTypeAs(Contactgegeven updatedContactgege Throw.If( updatedContactgegeven.IsPrimair && this.Without(updatedContactgegeven) - .HasPrimairForType(updatedContactgegeven.Type), - updatedContactgegeven.Type); + .HasPrimairForType(updatedContactgegeven.Contactgegeventype), + updatedContactgegeven.Contactgegeventype); } } @@ -137,13 +138,14 @@ public static IEnumerable Without(this IEnumerable Without(this IEnumerable source, int contactgegevenId) => source.Where(c => c.ContactgegevenId != contactgegevenId); - public static bool HasPrimairForType(this IEnumerable source, ContactgegevenType type) - => source.Any(contactgegeven => contactgegeven.Type == type && contactgegeven.IsPrimair); + public static bool HasPrimairForType(this IEnumerable source, Contactgegeventype type) + => source.Any(contactgegeven => contactgegeven.Contactgegeventype == type && contactgegeven.IsPrimair); public static bool ContainsMetZelfdeWaarden(this IEnumerable source, Contactgegeven contactgegeven) => source.Any(contactgegeven.IsEquivalentTo); public static bool WouldGiveMultiplePrimaryOfType(this IEnumerable source, Contactgegeven contactgegevenToEvaluate) => source.Without(contactgegevenToEvaluate) - .Any(contactgegeven => contactgegeven.Type == contactgegevenToEvaluate.Type && contactgegeven.IsPrimair); + .Any(contactgegeven => contactgegeven.Contactgegeventype == contactgegevenToEvaluate.Contactgegeventype && + contactgegeven.IsPrimair); } diff --git a/src/AssociationRegistry/Vereniging/ContactGegevens/ContactgegevenType.cs b/src/AssociationRegistry/Vereniging/ContactGegevens/Contactgegeventype.cs similarity index 59% rename from src/AssociationRegistry/Vereniging/ContactGegevens/ContactgegevenType.cs rename to src/AssociationRegistry/Vereniging/ContactGegevens/Contactgegeventype.cs index 125e2e529..aa36d139d 100644 --- a/src/AssociationRegistry/Vereniging/ContactGegevens/ContactgegevenType.cs +++ b/src/AssociationRegistry/Vereniging/ContactGegevens/Contactgegeventype.cs @@ -1,87 +1,75 @@ namespace AssociationRegistry.Vereniging; -public sealed class ContactgegevenType : IEquatable +public sealed class Contactgegeventype : IEquatable { - public static class Labels - { - public const string Email = "E-mail"; - public const string Website = "Website"; - public const string SocialMedia = "SocialMedia"; - public const string Telefoon = "Telefoon"; - - } - - public static readonly ContactgegevenType Email = + public static readonly Contactgegeventype Email = new( Labels.Email ); - public static readonly ContactgegevenType Website = + public static readonly Contactgegeventype Website = new( Labels.Website ); - public static readonly ContactgegevenType SocialMedia = + public static readonly Contactgegeventype SocialMedia = new( Labels.SocialMedia ); - public static readonly ContactgegevenType Telefoon = + public static readonly Contactgegeventype Telefoon = new( Labels.Telefoon ); - public static readonly ContactgegevenType[] All = + public static readonly Contactgegeventype[] All = { Email, Website, SocialMedia, Telefoon, }; - public string Waarde { get; } - - private ContactgegevenType(string value) + private Contactgegeventype(string value) { Waarde = value; } + public string Waarde { get; } + + public bool Equals(Contactgegeventype? other) + => other is not null && string.Equals(other.Waarde, Waarde, StringComparison.InvariantCultureIgnoreCase); public static bool CanParse(string? value) { if (value is null) return false; - return Array.Find(All, candidate => candidate == value) is not null; + return Array.Find(All, match: candidate => candidate == value) is not null; } - public static bool TryParse(string? value, out ContactgegevenType? parsed) + public static bool TryParse(string? value, out Contactgegeventype? parsed) { parsed = null; + if (value is null) return false; - parsed = Array.Find(All, candidate => candidate == value) ?? null; + parsed = Array.Find(All, match: candidate => candidate == value) ?? null; + return parsed is not null; } - public static ContactgegevenType Parse(string value) + public static Contactgegeventype Parse(string value) { if (value == null) - { throw new ArgumentNullException(nameof(value)); - } if (!TryParse(value, out var parsed)) - { throw new FormatException($"De waarde {value} is geen gekend contactgegeven type."); - } return parsed!; } - public bool Equals(ContactgegevenType? other) - => other is not null && string.Equals(other.Waarde, Waarde, StringComparison.InvariantCultureIgnoreCase); - public override bool Equals(object? obj) - => obj is ContactgegevenType type && Equals(type); + => obj is Contactgegeventype type && Equals(type); public override int GetHashCode() => Waarde.GetHashCode(); @@ -89,27 +77,35 @@ public override int GetHashCode() public override string ToString() => Waarde; - public static implicit operator string(ContactgegevenType instance) + public static implicit operator string(Contactgegeventype instance) => instance.ToString(); - public static implicit operator ContactgegevenType(string instance) + public static implicit operator Contactgegeventype(string instance) => Parse(instance); - public static bool operator ==(ContactgegevenType left, ContactgegevenType right) + public static bool operator ==(Contactgegeventype left, Contactgegeventype right) => Equals(left, right); - public static bool operator !=(ContactgegevenType left, ContactgegevenType right) + public static bool operator !=(Contactgegeventype left, Contactgegeventype right) => !(left == right); - public static bool operator ==(ContactgegevenType left, string right) + public static bool operator ==(Contactgegeventype left, string right) => string.Equals(left.Waarde, right, StringComparison.InvariantCultureIgnoreCase); - public static bool operator !=(ContactgegevenType left, string right) + public static bool operator !=(Contactgegeventype left, string right) => !(left == right); - public static bool operator ==(string left, ContactgegevenType right) + public static bool operator ==(string left, Contactgegeventype right) => string.Equals(left, right.Waarde, StringComparison.InvariantCultureIgnoreCase); - public static bool operator !=(string left, ContactgegevenType right) + public static bool operator !=(string left, Contactgegeventype right) => !(left == right); + + public static class Labels + { + public const string Email = "E-mail"; + public const string Website = "Website"; + public const string SocialMedia = "SocialMedia"; + public const string Telefoon = "Telefoon"; + } } diff --git a/src/AssociationRegistry/Vereniging/ContactGegevens/ContactgegevenTypeVolgensKbo.cs b/src/AssociationRegistry/Vereniging/ContactGegevens/ContactgegeventypeVolgensKbo.cs similarity index 52% rename from src/AssociationRegistry/Vereniging/ContactGegevens/ContactgegevenTypeVolgensKbo.cs rename to src/AssociationRegistry/Vereniging/ContactGegevens/ContactgegeventypeVolgensKbo.cs index 4a263b722..29bf5fb1d 100644 --- a/src/AssociationRegistry/Vereniging/ContactGegevens/ContactgegevenTypeVolgensKbo.cs +++ b/src/AssociationRegistry/Vereniging/ContactGegevens/ContactgegeventypeVolgensKbo.cs @@ -1,100 +1,87 @@ namespace AssociationRegistry.Vereniging; -public sealed class ContactgegevenTypeVolgensKbo : IEquatable +public sealed class ContactgegeventypeVolgensKbo : IEquatable { - public static class Labels - { - public const string Email = "E-mail"; - public const string Website = "Website"; - public const string SocialMedia = "SocialMedia"; - public const string Telefoon = "Telefoon"; - public const string GSM = "GSM"; - - } - - public static readonly ContactgegevenTypeVolgensKbo Email = + public static readonly ContactgegeventypeVolgensKbo Email = new( Labels.Email, - ContactgegevenType.Email + Contactgegeventype.Email ); - public static readonly ContactgegevenTypeVolgensKbo Website = + public static readonly ContactgegeventypeVolgensKbo Website = new( Labels.Website, - ContactgegevenType.Website + Contactgegeventype.Website ); - public static readonly ContactgegevenTypeVolgensKbo SocialMedia = + public static readonly ContactgegeventypeVolgensKbo SocialMedia = new( Labels.SocialMedia, - ContactgegevenType.SocialMedia + Contactgegeventype.SocialMedia ); - public static readonly ContactgegevenTypeVolgensKbo Telefoon = + public static readonly ContactgegeventypeVolgensKbo Telefoon = new( Labels.Telefoon, - ContactgegevenType.Telefoon + Contactgegeventype.Telefoon ); - public static readonly ContactgegevenTypeVolgensKbo GSM = + public static readonly ContactgegeventypeVolgensKbo GSM = new( Labels.GSM, - ContactgegevenType.Telefoon + Contactgegeventype.Telefoon ); - public static readonly ContactgegevenTypeVolgensKbo[] All = + public static readonly ContactgegeventypeVolgensKbo[] All = { Email, Website, SocialMedia, Telefoon, }; - public string Waarde { get; } - public ContactgegevenType ContactgegevenType { get; } - - private ContactgegevenTypeVolgensKbo(string waarde, ContactgegevenType contactgegevenType) + private ContactgegeventypeVolgensKbo(string waarde, Contactgegeventype contactgegeventype) { Waarde = waarde; - ContactgegevenType = contactgegevenType; + Contactgegeventype = contactgegeventype; } + public string Waarde { get; } + public Contactgegeventype Contactgegeventype { get; } + + public bool Equals(ContactgegeventypeVolgensKbo? other) + => other is not null && string.Equals(other.Waarde, Waarde, StringComparison.InvariantCultureIgnoreCase); public static bool CanParse(string? value) { if (value is null) return false; - return Array.Find(All, candidate => candidate == value) is not null; + return Array.Find(All, match: candidate => candidate == value) is not null; } - public static bool TryParse(string? value, out ContactgegevenTypeVolgensKbo? parsed) + public static bool TryParse(string? value, out ContactgegeventypeVolgensKbo? parsed) { parsed = null; + if (value is null) return false; - parsed = Array.Find(All, candidate => candidate == value) ?? null; + parsed = Array.Find(All, match: candidate => candidate == value) ?? null; + return parsed is not null; } - public static ContactgegevenTypeVolgensKbo Parse(string value) + public static ContactgegeventypeVolgensKbo Parse(string value) { if (value == null) - { throw new ArgumentNullException(nameof(value)); - } if (!TryParse(value, out var parsed)) - { throw new FormatException($"De waarde {value} is geen gekend contactgegeven type."); - } return parsed!; } - public bool Equals(ContactgegevenTypeVolgensKbo? other) - => other is not null && string.Equals(other.Waarde, Waarde, StringComparison.InvariantCultureIgnoreCase); - public override bool Equals(object? obj) - => obj is ContactgegevenTypeVolgensKbo type && Equals(type); + => obj is ContactgegeventypeVolgensKbo type && Equals(type); public override int GetHashCode() => Waarde.GetHashCode(); @@ -102,27 +89,36 @@ public override int GetHashCode() public override string ToString() => Waarde; - public static implicit operator string(ContactgegevenTypeVolgensKbo instance) + public static implicit operator string(ContactgegeventypeVolgensKbo instance) => instance.ToString(); - public static implicit operator ContactgegevenTypeVolgensKbo(string instance) + public static implicit operator ContactgegeventypeVolgensKbo(string instance) => Parse(instance); - public static bool operator ==(ContactgegevenTypeVolgensKbo left, ContactgegevenTypeVolgensKbo right) + public static bool operator ==(ContactgegeventypeVolgensKbo left, ContactgegeventypeVolgensKbo right) => Equals(left, right); - public static bool operator !=(ContactgegevenTypeVolgensKbo left, ContactgegevenTypeVolgensKbo right) + public static bool operator !=(ContactgegeventypeVolgensKbo left, ContactgegeventypeVolgensKbo right) => !(left == right); - public static bool operator ==(ContactgegevenTypeVolgensKbo left, string right) + public static bool operator ==(ContactgegeventypeVolgensKbo left, string right) => string.Equals(left.Waarde, right, StringComparison.InvariantCultureIgnoreCase); - public static bool operator !=(ContactgegevenTypeVolgensKbo left, string right) + public static bool operator !=(ContactgegeventypeVolgensKbo left, string right) => !(left == right); - public static bool operator ==(string left, ContactgegevenTypeVolgensKbo right) + public static bool operator ==(string left, ContactgegeventypeVolgensKbo right) => string.Equals(left, right.Waarde, StringComparison.InvariantCultureIgnoreCase); - public static bool operator !=(string left, ContactgegevenTypeVolgensKbo right) + public static bool operator !=(string left, ContactgegeventypeVolgensKbo right) => !(left == right); + + public static class Labels + { + public const string Email = "E-mail"; + public const string Website = "Website"; + public const string SocialMedia = "SocialMedia"; + public const string Telefoon = "Telefoon"; + public const string GSM = "GSM"; + } } diff --git a/src/AssociationRegistry/Vereniging/ContactGegevens/Emails/Email.cs b/src/AssociationRegistry/Vereniging/ContactGegevens/Emails/Email.cs index 1fc325f8b..0bcb67be6 100644 --- a/src/AssociationRegistry/Vereniging/ContactGegevens/Emails/Email.cs +++ b/src/AssociationRegistry/Vereniging/ContactGegevens/Emails/Email.cs @@ -1,32 +1,33 @@ namespace AssociationRegistry.Vereniging.Emails; -using System.Text.RegularExpressions; -using Framework; using Exceptions; +using Framework; +using System.Text.RegularExpressions; public record Email(string Waarde, string Beschrijving, bool IsPrimair) - : Contactgegeven(ContactgegevenType.Email, Waarde, Beschrijving, IsPrimair) + : Contactgegeven(Contactgegeventype.Email, Waarde, Beschrijving, IsPrimair) { - public static readonly Email Leeg = new(string.Empty, string.Empty, false); + public static readonly Email Leeg = new(string.Empty, string.Empty, IsPrimair: false); private static readonly Regex EmailRegex = new( - @"^(([a-z0-9]+[\.!#$%&'*+/=?^_`{|}~-]*)*[a-z0-9]+)@(([a-z0-9]+[\.-]?)*[a-z0-9]\.)+[a-z]{2,}$", + pattern: @"^(([a-z0-9]+[\.!#$%&'*+/=?^_`{|}~-]*)*[a-z0-9]+)@(([a-z0-9]+[\.-]?)*[a-z0-9]\.)+[a-z]{2,}$", RegexOptions.IgnoreCase); public static Email Create(string? email) - => Create(email, string.Empty, false); - + => Create(email, string.Empty, isPrimair: false); public static Email Create(string? email, string beschrijving, bool isPrimair) { if (string.IsNullOrEmpty(email)) return Leeg; + Throw.IfNot(MatchWithRegex(email)); + return new Email(email, beschrijving, isPrimair); } public static Email Hydrate(string email) - => new(email, string.Empty, false); + => new(email, string.Empty, IsPrimair: false); private static bool MatchWithRegex(string email) => EmailRegex.IsMatch(email); diff --git a/src/AssociationRegistry/Vereniging/ContactGegevens/SocialMedias/SocialMedia.cs b/src/AssociationRegistry/Vereniging/ContactGegevens/SocialMedias/SocialMedia.cs index ca7a999a7..e87bf199e 100644 --- a/src/AssociationRegistry/Vereniging/ContactGegevens/SocialMedias/SocialMedia.cs +++ b/src/AssociationRegistry/Vereniging/ContactGegevens/SocialMedias/SocialMedia.cs @@ -1,15 +1,15 @@ namespace AssociationRegistry.Vereniging.SocialMedias; -using Framework; using Exceptions; +using Framework; public record SocialMedia(string Waarde, string Beschrijving, bool IsPrimair) - : Contactgegeven(ContactgegevenType.SocialMedia, Waarde, Beschrijving, IsPrimair) + : Contactgegeven(Contactgegeventype.SocialMedia, Waarde, Beschrijving, IsPrimair) { - public static readonly SocialMedia Leeg = new(string.Empty, string.Empty, false); + public static readonly SocialMedia Leeg = new(string.Empty, string.Empty, IsPrimair: false); public static SocialMedia Create(string? socialMedia) - => Create(socialMedia, string.Empty, false); + => Create(socialMedia, string.Empty, isPrimair: false); public static SocialMedia Create(string? socialMedia, string beschrijving, bool isPrimair) { @@ -18,11 +18,12 @@ public static SocialMedia Create(string? socialMedia, string beschrijving, bool Throw.IfNot(UrlHasCorrectStartingCharacters(socialMedia)); Throw.IfNot(UrlContainsAPeriod(socialMedia)); + return new SocialMedia(socialMedia, beschrijving, isPrimair); } public static SocialMedia Hydrate(string socialMedia) - => new(socialMedia, string.Empty, false); + => new(socialMedia, string.Empty, IsPrimair: false); private static bool UrlContainsAPeriod(string urlString) => urlString.Contains('.'); diff --git a/src/AssociationRegistry/Vereniging/ContactGegevens/TelefoonNummers/TelefoonNummer.cs b/src/AssociationRegistry/Vereniging/ContactGegevens/TelefoonNummers/TelefoonNummer.cs index da9175ebf..8e2b7c429 100644 --- a/src/AssociationRegistry/Vereniging/ContactGegevens/TelefoonNummers/TelefoonNummer.cs +++ b/src/AssociationRegistry/Vereniging/ContactGegevens/TelefoonNummers/TelefoonNummer.cs @@ -1,37 +1,41 @@ namespace AssociationRegistry.Vereniging.TelefoonNummers; -using Framework; using Exceptions; +using Framework; public record TelefoonNummer(string Waarde, string Beschrijving, bool IsPrimair) - : Contactgegeven(ContactgegevenType.Telefoon, Waarde, Beschrijving, IsPrimair) + : Contactgegeven(Contactgegeventype.Telefoon, Waarde, Beschrijving, IsPrimair) { - public static readonly TelefoonNummer Leeg = new(string.Empty, string.Empty, false); + public static readonly TelefoonNummer Leeg = new(string.Empty, string.Empty, IsPrimair: false); - private static readonly string[] AllowedCharacters = { + private static readonly string[] AllowedCharacters = + { " ", ".", "(", ")", "/", "-", "+", }; public static TelefoonNummer Create(string? telefoonNummer) - => Create(telefoonNummer, string.Empty,false); + => Create(telefoonNummer, string.Empty, isPrimair: false); public static TelefoonNummer Create(string? telefoonNummer, string beschrijving, bool isPrimair) { if (string.IsNullOrEmpty(telefoonNummer)) return Leeg; + Throw.IfNot(IsNumber(Sanitize(telefoonNummer))); Throw.IfNot(HasNumber(telefoonNummer)); + return new TelefoonNummer(telefoonNummer, beschrijving, isPrimair); } public static TelefoonNummer Hydrate(string telefoonNummer) - => new(telefoonNummer, string.Empty,false); + => new(telefoonNummer, string.Empty, IsPrimair: false); private static bool HasNumber(string telefoonNummer) => telefoonNummer.Any(char.IsNumber); private static string Sanitize(string telefoonNummer) - => AllowedCharacters.Aggregate(telefoonNummer, (current, allowedCharacter) => current.Replace(allowedCharacter, string.Empty)); + => AllowedCharacters.Aggregate(telefoonNummer, + func: (current, allowedCharacter) => current.Replace(allowedCharacter, string.Empty)); private static bool IsNumber(string sanitizedNummer) => sanitizedNummer.All(char.IsNumber); diff --git a/src/AssociationRegistry/Vereniging/ContactGegevens/Websites/Website.cs b/src/AssociationRegistry/Vereniging/ContactGegevens/Websites/Website.cs index 25eace8ed..4a3119e73 100644 --- a/src/AssociationRegistry/Vereniging/ContactGegevens/Websites/Website.cs +++ b/src/AssociationRegistry/Vereniging/ContactGegevens/Websites/Website.cs @@ -1,15 +1,15 @@ namespace AssociationRegistry.Vereniging.Websites; -using Framework; using Exceptions; +using Framework; public record Website(string Waarde, string Beschrijving, bool IsPrimair) - : Contactgegeven(ContactgegevenType.Website, Waarde, Beschrijving, IsPrimair) + : Contactgegeven(Contactgegeventype.Website, Waarde, Beschrijving, IsPrimair) { - public static readonly Website Leeg = new(string.Empty, string.Empty, false); + public static readonly Website Leeg = new(string.Empty, string.Empty, IsPrimair: false); public static Website Create(string? website) - => Create(website, string.Empty, false); + => Create(website, string.Empty, isPrimair: false); public static Website Create(string? website, string beschrijving, bool isPrimair) { @@ -18,6 +18,7 @@ public static Website Create(string? website, string beschrijving, bool isPrimai Throw.IfNot(UrlHasCorrectStartingCharacters(website)); Throw.IfNot(UrlContainsAPeriod(website)); + return new Website(website, beschrijving, isPrimair); } diff --git a/src/AssociationRegistry/Vereniging/VerenigingMetRechtspersoonlijkheid.cs b/src/AssociationRegistry/Vereniging/VerenigingMetRechtspersoonlijkheid.cs index 969ecfe54..f4e58664a 100644 --- a/src/AssociationRegistry/Vereniging/VerenigingMetRechtspersoonlijkheid.cs +++ b/src/AssociationRegistry/Vereniging/VerenigingMetRechtspersoonlijkheid.cs @@ -10,6 +10,22 @@ public class VerenigingMetRechtspersoonlijkheid : VerenigingsBase, IHydrate.If( + !_allowedTypes.Contains(obj.Verenigingstype)); + + State = obj; + } + public static VerenigingMetRechtspersoonlijkheid Registreer(VCode vCode, VerenigingVolgensKbo verenigingVolgensKbo) { var vereniging = new VerenigingMetRechtspersoonlijkheid(); @@ -27,10 +43,10 @@ public static VerenigingMetRechtspersoonlijkheid Registreer(VCode vCode, Verenig if (verenigingVolgensKbo.Contactgegevens is not null) // TODO: question: is this only for test purposes? { - vereniging.VoegContactgegevenToe(verenigingVolgensKbo.Contactgegevens.Email, ContactgegevenTypeVolgensKbo.Email); - vereniging.VoegContactgegevenToe(verenigingVolgensKbo.Contactgegevens.Website, ContactgegevenTypeVolgensKbo.Website); - vereniging.VoegContactgegevenToe(verenigingVolgensKbo.Contactgegevens.Telefoonnummer, ContactgegevenTypeVolgensKbo.Telefoon); - vereniging.VoegContactgegevenToe(verenigingVolgensKbo.Contactgegevens.GSM, ContactgegevenTypeVolgensKbo.GSM); + vereniging.VoegContactgegevenToe(verenigingVolgensKbo.Contactgegevens.Email, ContactgegeventypeVolgensKbo.Email); + vereniging.VoegContactgegevenToe(verenigingVolgensKbo.Contactgegevens.Website, ContactgegeventypeVolgensKbo.Website); + vereniging.VoegContactgegevenToe(verenigingVolgensKbo.Contactgegevens.Telefoonnummer, ContactgegeventypeVolgensKbo.Telefoon); + vereniging.VoegContactgegevenToe(verenigingVolgensKbo.Contactgegevens.GSM, ContactgegeventypeVolgensKbo.GSM); } vereniging.VoegVertegenwoordigersToe(verenigingVolgensKbo.Vertegenwoordigers); @@ -113,16 +129,16 @@ public void WijzigMaatschappelijkeZetel(int locatieId, string? naam, bool? isPri AddEvent(MaatschappelijkeZetelVolgensKBOWerdGewijzigd.With(gewijzigdeLocatie)); } - private void VoegContactgegevenToe(Contactgegeven contactgegeven, ContactgegevenTypeVolgensKbo typeVolgensKbo) + private void VoegContactgegevenToe(Contactgegeven contactgegeven, ContactgegeventypeVolgensKbo typeVolgensKbo) { var toegevoegdContactgegeven = State.Contactgegevens.VoegToe(contactgegeven); AddEvent(ContactgegevenWerdOvergenomenUitKBO.With(toegevoegdContactgegeven, typeVolgensKbo)); } - private void VoegFoutiefContactgegevenToe(ContactgegevenTypeVolgensKbo type, string waarde) + private void VoegFoutiefContactgegevenToe(ContactgegeventypeVolgensKbo type, string waarde) { - AddEvent(new ContactgegevenKonNietOvergenomenWordenUitKBO(type.ContactgegevenType.Waarde, type.Waarde, waarde)); + AddEvent(new ContactgegevenKonNietOvergenomenWordenUitKBO(type.Contactgegeventype.Waarde, type.Waarde, waarde)); } private void VoegFoutieveMaatschappelijkeZetelToe(AdresVolgensKbo adres) @@ -130,7 +146,7 @@ private void VoegFoutieveMaatschappelijkeZetelToe(AdresVolgensKbo adres) AddEvent(MaatschappelijkeZetelKonNietOvergenomenWordenUitKbo.With(adres)); } - private void VoegContactgegevenToe(string? waarde, ContactgegevenTypeVolgensKbo type) + private void VoegContactgegevenToe(string? waarde, ContactgegeventypeVolgensKbo type) { if (waarde is null) return; @@ -173,20 +189,4 @@ private void VoegMaatschappelijkeZetelToe(AdresVolgensKbo? adresVolgensKbo) VoegMaatschappelijkeZetelToe(adres); } - - public void Hydrate(VerenigingState obj) - { - _allowedTypes = new[] - { - Verenigingstype.VZW, - Verenigingstype.IVZW, - Verenigingstype.PrivateStichting, - Verenigingstype.StichtingVanOpenbaarNut, - }; - - Throw.If( - !_allowedTypes.Contains(obj.Verenigingstype)); - - State = obj; - } } diff --git a/src/AssociationRegistry/Vereniging/VerenigingState.cs b/src/AssociationRegistry/Vereniging/VerenigingState.cs index 5163a415f..bc512187e 100644 --- a/src/AssociationRegistry/Vereniging/VerenigingState.cs +++ b/src/AssociationRegistry/Vereniging/VerenigingState.cs @@ -10,8 +10,6 @@ namespace AssociationRegistry.Vereniging; public record VerenigingState : IHasVersion { - public long Version { get; set; } - [Identity] public string Identity { @@ -37,6 +35,7 @@ public string Identity HoofdactiviteitenVerenigingsloket.Empty; public bool IsGestopt => Einddatum is not null; + public long Version { get; set; } public VerenigingState Apply(FeitelijkeVerenigingWerdGeregistreerd @event) => new() @@ -55,7 +54,7 @@ public VerenigingState Apply(FeitelijkeVerenigingWerdGeregistreerd @event) lijst.Append( Contactgegeven.Hydrate( c.ContactgegevenId, - ContactgegevenType.Parse(c.Type), + Contactgegeventype.Parse(c.Type), c.Waarde, c.Beschrijving, c.IsPrimair, @@ -122,7 +121,7 @@ public VerenigingState Apply(AfdelingWerdGeregistreerd @event) lijst.Append( Contactgegeven.Hydrate( c.ContactgegevenId, - ContactgegevenType.Parse(c.Type), + Contactgegeventype.Parse(c.Type), c.Waarde, c.Beschrijving, c.IsPrimair, @@ -215,7 +214,7 @@ public VerenigingState Apply(ContactgegevenWerdToegevoegd @event) Contactgegevens.Append( Contactgegeven.Hydrate( @event.ContactgegevenId, - ContactgegevenType.Parse(@event.Type), + Contactgegeventype.Parse(@event.Type), @event.Waarde, @event.Beschrijving, @event.IsPrimair, @@ -238,7 +237,7 @@ public VerenigingState Apply(ContactgegevenWerdGewijzigd @event) .Append( Contactgegeven.Hydrate( @event.ContactgegevenId, - ContactgegevenType.Parse(@event.Type), + Contactgegeventype.Parse(@event.Type), @event.Waarde, @event.Beschrijving, @event.IsPrimair, @@ -406,7 +405,7 @@ public VerenigingState Apply(ContactgegevenWerdOvergenomenUitKBO @event) Contactgegevens.Append( Contactgegeven.Hydrate( @event.ContactgegevenId, - ContactgegevenType.Parse(@event.Type), + Contactgegeventype.Parse(@event.Type), @event.Waarde, string.Empty, isPrimair: false, diff --git a/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/CommandHandling/With_All_Fields.cs b/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/CommandHandling/With_All_Fields.cs index b9a18aff1..87380050b 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/CommandHandling/With_All_Fields.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/CommandHandling/With_All_Fields.cs @@ -59,7 +59,7 @@ public void Then_it_saves_the_event() (c, i) => new Registratiedata.Contactgegeven( i + 1, - c.Type, + c.Contactgegeventype, c.Waarde, c.Beschrijving, c.IsPrimair diff --git a/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/RequestMapping/To_A_RegistreerVerenigingCommand.cs b/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/RequestMapping/To_A_RegistreerVerenigingCommand.cs index 50a418544..1b1051cba 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/RequestMapping/To_A_RegistreerVerenigingCommand.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/RequestMapping/To_A_RegistreerVerenigingCommand.cs @@ -76,7 +76,7 @@ private static void AssertContactgegevens(Contactgegeven[] contactgegevens, Regi { contactgegevens[0].Should().BeEquivalentTo( Contactgegeven.CreateFromInitiator( - ContactgegevenType.Parse(request.Contactgegevens[0].Type), + Contactgegeventype.Parse(request.Contactgegevens[0].Type), request.Contactgegevens[0].Waarde, request.Contactgegevens[0].Beschrijving, request.Contactgegevens[0].IsPrimair)); diff --git a/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/RequestValidating/Contactgegevens/Type/Is_Valid.cs b/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/RequestValidating/Contactgegevens/Type/Is_Valid.cs index ac50c7a81..2a2678afe 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/RequestValidating/Contactgegevens/Type/Is_Valid.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/RequestValidating/Contactgegevens/Type/Is_Valid.cs @@ -4,9 +4,9 @@ using AssociationRegistry.Admin.Api.Verenigingen.Registreer.Afdeling; using AssociationRegistry.Admin.Api.Verenigingen.Registreer.Afdeling.RequestModels; using Fakes; +using FluentValidation.TestHelper; using Framework; using Vereniging; -using FluentValidation.TestHelper; using Xunit; public class Is_Valid : ValidatorTest @@ -15,6 +15,7 @@ public class Is_Valid : ValidatorTest public void Has_no_validation_error() { var validator = new RegistreerAfdelingRequestValidator(new ClockStub(DateOnly.MaxValue)); + var result = validator.TestValidate( new RegistreerAfdelingRequest { @@ -23,11 +24,12 @@ public void Has_no_validation_error() { new ToeTeVoegenContactgegeven { - Type = ContactgegevenType.Email, + Type = Contactgegeventype.Email, }, }, }); - result.ShouldNotHaveValidationErrorFor($"{nameof(RegistreerAfdelingRequest.Contactgegevens)}[0].{nameof(ToeTeVoegenContactgegeven.Type)}"); + result.ShouldNotHaveValidationErrorFor( + $"{nameof(RegistreerAfdelingRequest.Contactgegevens)}[0].{nameof(ToeTeVoegenContactgegeven.Type)}"); } } diff --git a/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/With_All_Fields.cs b/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/With_All_Fields.cs index 1f5fe0dee..2522659c8 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/With_All_Fields.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Afdeling/When_RegistreerAfdeling/With_All_Fields.cs @@ -1,23 +1,24 @@ namespace AssociationRegistry.Test.Admin.Api.Afdeling.When_RegistreerAfdeling; -using System.Net; using AssociationRegistry.Admin.Api.Constants; using AssociationRegistry.Admin.Api.Infrastructure; using AssociationRegistry.Admin.Api.Infrastructure.ConfigurationBindings; using AssociationRegistry.Admin.Api.Verenigingen.Common; using AssociationRegistry.Admin.Api.Verenigingen.Registreer.Afdeling.RequestModels; +using AutoFixture; using Events; using Fixtures; -using Framework; -using Vereniging; -using AutoFixture; using FluentAssertions; +using Framework; using JasperFx.Core; using Microsoft.Extensions.DependencyInjection; using Microsoft.Net.Http.Headers; using Newtonsoft.Json; +using System.Net; +using Vereniging; using Xunit; using Xunit.Categories; +using Adres = AssociationRegistry.Admin.Api.Verenigingen.Common.Adres; using AdresId = AssociationRegistry.Admin.Api.Verenigingen.Common.AdresId; public sealed class When_RegistreerAfdeling_WithAllFields @@ -29,6 +30,7 @@ public sealed class When_RegistreerAfdeling_WithAllFields private When_RegistreerAfdeling_WithAllFields(AdminApiFixture fixture) { var autoFixture = new Fixture().CustomizeAdminApi(); + Request = new RegistreerAfdelingRequest { Naam = autoFixture.Create(), @@ -45,7 +47,7 @@ private When_RegistreerAfdeling_WithAllFields(AdminApiFixture fixture) { new() { - Type = ContactgegevenType.Email, + Type = Contactgegeventype.Email, Waarde = "random@example.org", Beschrijving = "Algemeen", IsPrimair = false, @@ -56,7 +58,7 @@ private When_RegistreerAfdeling_WithAllFields(AdminApiFixture fixture) new ToeTeVoegenLocatie { Naam = "Kantoor", - Adres = new AssociationRegistry.Admin.Api.Verenigingen.Common.Adres + Adres = new Adres { Straatnaam = "dorpstraat", Huisnummer = "69", @@ -76,7 +78,7 @@ private When_RegistreerAfdeling_WithAllFields(AdminApiFixture fixture) Broncode = "AR", Bronwaarde = AssociationRegistry.Vereniging.AdresId.DataVlaanderenAdresPrefix + "1", }, - Adres = new AssociationRegistry.Admin.Api.Verenigingen.Common.Adres + Adres = new Adres { Straatnaam = "dorpelstraat", Huisnummer = "169", @@ -140,18 +142,19 @@ public static When_RegistreerAfdeling_WithAllFields Called(AdminApiFixture fixtu private string GetJsonBody(RegistreerAfdelingRequest request) => GetType() - .GetAssociatedResourceJson("files.request.with_all_fields") - .Replace("{{vereniging.naam}}", request.Naam) - .Replace("{{vereniging.kboNummerMoedervereniging}}", request.KboNummerMoedervereniging) - .Replace("{{vereniging.korteNaam}}", request.KorteNaam) - .Replace("{{vereniging.korteBeschrijving}}", request.KorteBeschrijving) - .Replace("{{vereniging.startdatum}}", request.Startdatum!.Value.ToString(WellknownFormats.DateOnly)) - .Replace("{{vereniging.doelgroep.minimumleeftijd}}", request.Doelgroep!.Minimumleeftijd.ToString()) - .Replace("{{vereniging.doelgroep.maximumleeftijd}}", request.Doelgroep!.Maximumleeftijd.ToString()) - .Replace("{{vereniging.contactgegevens}}", JsonConvert.SerializeObject(request.Contactgegevens)) - .Replace("{{vereniging.locaties}}", JsonConvert.SerializeObject(request.Locaties)) - .Replace("{{vereniging.vertegenwoordigers}}", JsonConvert.SerializeObject(request.Vertegenwoordigers)) - .Replace("{{vereniging.hoofdactiviteitenLijst}}", JsonConvert.SerializeObject(request.HoofdactiviteitenVerenigingsloket)); + .GetAssociatedResourceJson("files.request.with_all_fields") + .Replace(oldValue: "{{vereniging.naam}}", request.Naam) + .Replace(oldValue: "{{vereniging.kboNummerMoedervereniging}}", request.KboNummerMoedervereniging) + .Replace(oldValue: "{{vereniging.korteNaam}}", request.KorteNaam) + .Replace(oldValue: "{{vereniging.korteBeschrijving}}", request.KorteBeschrijving) + .Replace(oldValue: "{{vereniging.startdatum}}", request.Startdatum!.Value.ToString(WellknownFormats.DateOnly)) + .Replace(oldValue: "{{vereniging.doelgroep.minimumleeftijd}}", request.Doelgroep!.Minimumleeftijd.ToString()) + .Replace(oldValue: "{{vereniging.doelgroep.maximumleeftijd}}", request.Doelgroep!.Maximumleeftijd.ToString()) + .Replace(oldValue: "{{vereniging.contactgegevens}}", JsonConvert.SerializeObject(request.Contactgegevens)) + .Replace(oldValue: "{{vereniging.locaties}}", JsonConvert.SerializeObject(request.Locaties)) + .Replace(oldValue: "{{vereniging.vertegenwoordigers}}", JsonConvert.SerializeObject(request.Vertegenwoordigers)) + .Replace(oldValue: "{{vereniging.hoofdactiviteitenLijst}}", + JsonConvert.SerializeObject(request.HoofdactiviteitenVerenigingsloket)); } [Collection(nameof(AdminApiCollection))] @@ -176,11 +179,11 @@ private HttpResponseMessage Response public void Then_it_saves_the_events() { using var session = _fixture.DocumentStore - .LightweightSession(); + .LightweightSession(); var savedEvent = session.Events - .QueryRawEventDataOnly() - .Single(e => e.Naam == Request.Naam); + .QueryRawEventDataOnly() + .Single(e => e.Naam == Request.Naam); savedEvent.KorteNaam.Should().Be(Request.KorteNaam); savedEvent.Moedervereniging.KboNummer.Should().Be(Request.KboNummerMoedervereniging); @@ -188,25 +191,34 @@ public void Then_it_saves_the_events() savedEvent.Moedervereniging.Naam.Should().NotBeEmpty(); savedEvent.KorteBeschrijving.Should().Be(Request.KorteBeschrijving); savedEvent.Startdatum.Should().Be(Request.Startdatum!.Value); + savedEvent.Doelgroep.Should().BeEquivalentTo(new Registratiedata.Doelgroep( - Request.Doelgroep!.Minimumleeftijd!.Value, - Request.Doelgroep.Maximumleeftijd!.Value)); + Request.Doelgroep!.Minimumleeftijd!.Value, + Request.Doelgroep.Maximumleeftijd!.Value)); + savedEvent.Contactgegevens.Should().HaveCount(expected: 1); - savedEvent.Contactgegevens[0].Should().BeEquivalentTo(Request.Contactgegevens[0], options => options.ComparingEnumsByName()); + + savedEvent.Contactgegevens[0].Should() + .BeEquivalentTo(Request.Contactgegevens[0], config: options => options.ComparingEnumsByName()); + savedEvent.Locaties.Should().HaveCount(expected: 3); savedEvent.Locaties[0].Should().BeEquivalentTo(Request.Locaties[0]); savedEvent.Locaties[1].Should().BeEquivalentTo(Request.Locaties[1]); savedEvent.Locaties[2].Should().BeEquivalentTo(Request.Locaties[2]); savedEvent.Locaties.ForEach(x => x.LocatieId.Should().BePositive()); savedEvent.Locaties.Select(x => x.LocatieId).ToList().Should().OnlyHaveUniqueItems(); - savedEvent.Vertegenwoordigers.Should().BeEquivalentTo(Request.Vertegenwoordigers, options => options.ComparingEnumsByName()); + + savedEvent.Vertegenwoordigers.Should() + .BeEquivalentTo(Request.Vertegenwoordigers, config: options => options.ComparingEnumsByName()); + savedEvent.Vertegenwoordigers.ForEach(x => x.VertegenwoordigerId.Should().BePositive()); savedEvent.Vertegenwoordigers.Select(x => x.VertegenwoordigerId).ToList().Should().OnlyHaveUniqueItems(); + savedEvent.HoofdactiviteitenVerenigingsloket.Should().BeEquivalentTo( new[] { - new Registratiedata.HoofdactiviteitVerenigingsloket("BIAG", "Burgerinitiatief & Actiegroep"), - new Registratiedata.HoofdactiviteitVerenigingsloket("BWWC", "Buurtwerking & Wijkcomité"), + new Registratiedata.HoofdactiviteitVerenigingsloket(Code: "BIAG", Beschrijving: "Burgerinitiatief & Actiegroep"), + new Registratiedata.HoofdactiviteitVerenigingsloket(Code: "BWWC", Beschrijving: "Buurtwerking & Wijkcomité"), }); } @@ -221,8 +233,9 @@ public void Then_it_returns_an_accepted_response() public void Then_it_returns_a_location_header() { Response.Headers.Should().ContainKey(HeaderNames.Location); + Response.Headers.Location!.OriginalString.Should() - .StartWith($"{_fixture.ServiceProvider.GetRequiredService().BaseUrl}/v1/verenigingen/V"); + .StartWith($"{_fixture.ServiceProvider.GetRequiredService().BaseUrl}/v1/verenigingen/V"); } [Fact] diff --git a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_All_Fields.cs b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_All_Fields.cs index e6cdf129a..23fb254ae 100644 --- a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_All_Fields.cs +++ b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_All_Fields.cs @@ -27,7 +27,10 @@ public With_All_Fields() var clock = new ClockStub(_command.Startdatum.Value); var commandMetadata = fixture.Create(); - var commandHandler = new RegistreerFeitelijkeVerenigingCommandHandler(_verenigingRepositoryMock, _vCodeService, new NoDuplicateVerenigingDetectionService(), clock); + + var commandHandler = + new RegistreerFeitelijkeVerenigingCommandHandler(_verenigingRepositoryMock, _vCodeService, + new NoDuplicateVerenigingDetectionService(), clock); commandHandler .Handle(new CommandEnvelope(_command, commandMetadata), CancellationToken.None) @@ -51,7 +54,7 @@ public void Then_it_saves_the_event() (c, i) => new Registratiedata.Contactgegeven( i + 1, - c.Type, + c.Contactgegeventype, c.Waarde, c.Beschrijving, c.IsPrimair diff --git a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Duplicate_Contactgegevens.cs b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Duplicate_Contactgegevens.cs index 03e455e63..36b2cfc7e 100644 --- a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Duplicate_Contactgegevens.cs +++ b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Duplicate_Contactgegevens.cs @@ -22,7 +22,9 @@ public With_Two_Duplicate_Contactgegevens() var fixture = new Fixture().CustomizeAdminApi(); var repositoryMock = new VerenigingRepositoryMock(); - var contactgegeven = Contactgegeven.CreateFromInitiator(ContactgegevenType.Email, waarde: "test@example.org", fixture.Create(), isPrimair: true); + var contactgegeven = + Contactgegeven.CreateFromInitiator(Contactgegeventype.Email, waarde: "test@example.org", fixture.Create(), + isPrimair: true); var command = fixture.Create() with { diff --git a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Primair_Contactgegevens_Of_Different_Type.cs b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Primair_Contactgegevens_Of_Different_Type.cs index 135aa3415..bdd58a288 100644 --- a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Primair_Contactgegevens_Of_Different_Type.cs +++ b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Primair_Contactgegevens_Of_Different_Type.cs @@ -28,8 +28,10 @@ public With_Two_Primair_Contactgegevens_Of_Different_Type() { Contactgegevens = new[] { - Contactgegeven.CreateFromInitiator(ContactgegevenType.Email, waarde: "test@example.org", _fixture.Create(), isPrimair: true), - Contactgegeven.CreateFromInitiator(ContactgegevenType.Website, waarde: "http://example.org", _fixture.Create(), isPrimair: true), + Contactgegeven.CreateFromInitiator(Contactgegeventype.Email, waarde: "test@example.org", _fixture.Create(), + isPrimair: true), + Contactgegeven.CreateFromInitiator(Contactgegeventype.Website, waarde: "http://example.org", _fixture.Create(), + isPrimair: true), }, }; @@ -45,7 +47,9 @@ public With_Two_Primair_Contactgegevens_Of_Different_Type() public async Task InitializeAsync() { var commandMetadata = _fixture.Create(); - await _commandHandler.Handle(new CommandEnvelope(_command, commandMetadata), CancellationToken.None); + + await _commandHandler.Handle(new CommandEnvelope(_command, commandMetadata), + CancellationToken.None); } public Task DisposeAsync() @@ -67,14 +71,14 @@ public void Then_it_saves_the_event() { new Registratiedata.Contactgegeven( ContactgegevenId: 1, - ContactgegevenType.Email, + Contactgegeventype.Email, _command.Contactgegevens[0].Waarde, _command.Contactgegevens[0].Beschrijving, _command.Contactgegevens[0].IsPrimair ), new Registratiedata.Contactgegeven( ContactgegevenId: 2, - ContactgegevenType.Website, + Contactgegeventype.Website, _command.Contactgegevens[1].Waarde, _command.Contactgegevens[1].Beschrijving, _command.Contactgegevens[1].IsPrimair diff --git a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Primair_Contactgegevens_Of_The_Same_Type.cs b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Primair_Contactgegevens_Of_The_Same_Type.cs index 7a00f7f3f..8ab958d74 100644 --- a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Primair_Contactgegevens_Of_The_Same_Type.cs +++ b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/CommandHandling/With_Two_Primair_Contactgegevens_Of_The_Same_Type.cs @@ -22,8 +22,13 @@ public With_Two_Primair_Contactgegevens_Of_The_Same_Type() var fixture = new Fixture().CustomizeAdminApi(); var repositoryMock = new VerenigingRepositoryMock(); - var contactgegeven = Contactgegeven.CreateFromInitiator(ContactgegevenType.Email, waarde: "test@example.org", fixture.Create(), isPrimair: true); - var contactgegeven2 = Contactgegeven.CreateFromInitiator(ContactgegevenType.Email, waarde: "test2@example.org", fixture.Create(), isPrimair: true); + var contactgegeven = + Contactgegeven.CreateFromInitiator(Contactgegeventype.Email, waarde: "test@example.org", fixture.Create(), + isPrimair: true); + + var contactgegeven2 = + Contactgegeven.CreateFromInitiator(Contactgegeventype.Email, waarde: "test2@example.org", fixture.Create(), + isPrimair: true); var command = fixture.Create() with { diff --git a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/RequestMapping/To_A_RegistreerVerenigingCommand.cs b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/RequestMapping/To_A_RegistreerVerenigingCommand.cs index f2190d5c8..c63f0707f 100644 --- a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/RequestMapping/To_A_RegistreerVerenigingCommand.cs +++ b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/RequestMapping/To_A_RegistreerVerenigingCommand.cs @@ -2,13 +2,13 @@ namespace AssociationRegistry.Test.Admin.Api.FeitelijkeVereniging.When_Registree using AssociationRegistry.Admin.Api.Verenigingen.Common; using AssociationRegistry.Admin.Api.Verenigingen.Registreer.FeitelijkeVereniging.RequetsModels; +using AutoFixture; +using FluentAssertions; using Framework; using Vereniging; using Vereniging.Emails; using Vereniging.SocialMedias; using Vereniging.TelefoonNummers; -using AutoFixture; -using FluentAssertions; using Xunit; using Xunit.Categories; @@ -56,20 +56,20 @@ private static void AssertVertegenwoordigers(Vertegenwoordiger[] vertegenwoordig { vertegenwoordigers.Should().BeEquivalentTo( request.Vertegenwoordigers - .Select( - v => - Vertegenwoordiger.Create( - Insz.Create(v.Insz), - v.IsPrimair, - v.Roepnaam, - v.Rol, - Voornaam.Create(v.Voornaam), - Achternaam.Create(v.Achternaam), - Email.Create(v.Email), - TelefoonNummer.Create(v.Telefoon), - TelefoonNummer.Create(v.Mobiel), - SocialMedia.Create(v.SocialMedia) - ))); + .Select( + v => + Vertegenwoordiger.Create( + Insz.Create(v.Insz), + v.IsPrimair, + v.Roepnaam, + v.Rol, + Voornaam.Create(v.Voornaam), + Achternaam.Create(v.Achternaam), + Email.Create(v.Email), + TelefoonNummer.Create(v.Telefoon), + TelefoonNummer.Create(v.Mobiel), + SocialMedia.Create(v.SocialMedia) + ))); } private static void AssertLocaties(Locatie[] locaties, RegistreerFeitelijkeVerenigingRequest request) @@ -99,7 +99,7 @@ private static void AssertContactgegevens(Contactgegeven[] contactgegevens, Regi { contactgegevens[0].Should().BeEquivalentTo( Contactgegeven.CreateFromInitiator( - ContactgegevenType.Parse(request.Contactgegevens[0].Type), + Contactgegeventype.Parse(request.Contactgegevens[0].Type), request.Contactgegevens[0].Waarde, request.Contactgegevens[0].Beschrijving, request.Contactgegevens[0].IsPrimair)); diff --git a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/RequestValidating/Contactgegevens/Type/Is_Valid.cs b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/RequestValidating/Contactgegevens/Type/Is_Valid.cs index 05e66ffd3..43b0e820f 100644 --- a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/RequestValidating/Contactgegevens/Type/Is_Valid.cs +++ b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/RequestValidating/Contactgegevens/Type/Is_Valid.cs @@ -1,11 +1,12 @@ -namespace AssociationRegistry.Test.Admin.Api.FeitelijkeVereniging.When_RegistreerFeitelijkeVereniging.RequestValidating.Contactgegevens.Type; +namespace AssociationRegistry.Test.Admin.Api.FeitelijkeVereniging.When_RegistreerFeitelijkeVereniging.RequestValidating.Contactgegevens. + Type; using AssociationRegistry.Admin.Api.Verenigingen.Common; using AssociationRegistry.Admin.Api.Verenigingen.Registreer.FeitelijkeVereniging; using AssociationRegistry.Admin.Api.Verenigingen.Registreer.FeitelijkeVereniging.RequetsModels; -using Vereniging; using FluentValidation.TestHelper; using Test.Framework; +using Vereniging; using Xunit; using ValidatorTest = Framework.ValidatorTest; @@ -15,6 +16,7 @@ public class Is_Valid : ValidatorTest public void Has_no_validation_error() { var validator = new RegistreerFeitelijkeVerenigingRequestValidator(new ClockStub(DateOnly.MaxValue)); + var result = validator.TestValidate( new RegistreerFeitelijkeVerenigingRequest { @@ -23,11 +25,12 @@ public void Has_no_validation_error() { new ToeTeVoegenContactgegeven { - Type = ContactgegevenType.Email, + Type = Contactgegeventype.Email, }, }, }); - result.ShouldNotHaveValidationErrorFor($"{nameof(RegistreerFeitelijkeVerenigingRequest.Contactgegevens)}[0].{nameof(ToeTeVoegenContactgegeven.Type)}"); + result.ShouldNotHaveValidationErrorFor( + $"{nameof(RegistreerFeitelijkeVerenigingRequest.Contactgegevens)}[0].{nameof(ToeTeVoegenContactgegeven.Type)}"); } } diff --git a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/With_All_Fields.cs b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/With_All_Fields.cs index 01cdb9121..be8f80532 100644 --- a/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/With_All_Fields.cs +++ b/test/AssociationRegistry.Test.Admin.Api/FeitelijkeVereniging/When_RegistreerFeitelijkeVereniging/With_All_Fields.cs @@ -1,23 +1,24 @@ namespace AssociationRegistry.Test.Admin.Api.FeitelijkeVereniging.When_RegistreerFeitelijkeVereniging; -using System.Net; using AssociationRegistry.Admin.Api.Constants; using AssociationRegistry.Admin.Api.Infrastructure; using AssociationRegistry.Admin.Api.Infrastructure.ConfigurationBindings; using AssociationRegistry.Admin.Api.Verenigingen.Common; using AssociationRegistry.Admin.Api.Verenigingen.Registreer.FeitelijkeVereniging.RequetsModels; +using AutoFixture; using Events; using Fixtures; -using Framework; -using Vereniging; -using AutoFixture; using FluentAssertions; +using Framework; using JasperFx.Core; using Microsoft.Extensions.DependencyInjection; using Microsoft.Net.Http.Headers; using Newtonsoft.Json; +using System.Net; +using Vereniging; using Xunit; using Xunit.Categories; +using Adres = AssociationRegistry.Admin.Api.Verenigingen.Common.Adres; using AdresId = AssociationRegistry.Admin.Api.Verenigingen.Common.AdresId; public sealed class When_RegistreerFeitelijkeVereniging_WithAllFields @@ -29,6 +30,7 @@ public sealed class When_RegistreerFeitelijkeVereniging_WithAllFields private When_RegistreerFeitelijkeVereniging_WithAllFields(AdminApiFixture fixture) { var autoFixture = new Fixture().CustomizeAdminApi(); + Request = new RegistreerFeitelijkeVerenigingRequest { Naam = autoFixture.Create(), @@ -45,7 +47,7 @@ private When_RegistreerFeitelijkeVereniging_WithAllFields(AdminApiFixture fixtur { new() { - Type = ContactgegevenType.Email, + Type = Contactgegeventype.Email, Waarde = "random@example.org", Beschrijving = "Algemeen", IsPrimair = false, @@ -56,7 +58,7 @@ private When_RegistreerFeitelijkeVereniging_WithAllFields(AdminApiFixture fixtur new ToeTeVoegenLocatie { Naam = "Kantoor", - Adres = new AssociationRegistry.Admin.Api.Verenigingen.Common.Adres + Adres = new Adres { Straatnaam = "dorpstraat", Huisnummer = "69", @@ -76,7 +78,7 @@ private When_RegistreerFeitelijkeVereniging_WithAllFields(AdminApiFixture fixtur Broncode = "AR", Bronwaarde = AssociationRegistry.Vereniging.AdresId.DataVlaanderenAdresPrefix + "1", }, - Adres = new AssociationRegistry.Admin.Api.Verenigingen.Common.Adres + Adres = new Adres { Straatnaam = "dorpelstraat", Huisnummer = "169", @@ -140,18 +142,20 @@ public static When_RegistreerFeitelijkeVereniging_WithAllFields Called(AdminApiF private string GetJsonBody(RegistreerFeitelijkeVerenigingRequest request) => GetType() - .GetAssociatedResourceJson("files.request.with_all_fields") - .Replace("{{vereniging.naam}}", request.Naam) - .Replace("{{vereniging.korteNaam}}", request.KorteNaam) - .Replace("{{vereniging.korteBeschrijving}}", request.KorteBeschrijving) - .Replace("{{vereniging.isUitgeschrevenUitPubliekeDatastroom}}", request.IsUitgeschrevenUitPubliekeDatastroom.ToString().ToLower()) - .Replace("{{vereniging.startdatum}}", request.Startdatum!.Value.ToString(WellknownFormats.DateOnly)) - .Replace("{{vereniging.doelgroep.minimumleeftijd}}", request.Doelgroep!.Minimumleeftijd.ToString()) - .Replace("{{vereniging.doelgroep.maximumleeftijd}}", request.Doelgroep!.Maximumleeftijd.ToString()) - .Replace("{{vereniging.contactgegevens}}", JsonConvert.SerializeObject(request.Contactgegevens)) - .Replace("{{vereniging.locaties}}", JsonConvert.SerializeObject(request.Locaties)) - .Replace("{{vereniging.vertegenwoordigers}}", JsonConvert.SerializeObject(request.Vertegenwoordigers)) - .Replace("{{vereniging.hoofdactiviteitenLijst}}", JsonConvert.SerializeObject(request.HoofdactiviteitenVerenigingsloket)); + .GetAssociatedResourceJson("files.request.with_all_fields") + .Replace(oldValue: "{{vereniging.naam}}", request.Naam) + .Replace(oldValue: "{{vereniging.korteNaam}}", request.KorteNaam) + .Replace(oldValue: "{{vereniging.korteBeschrijving}}", request.KorteBeschrijving) + .Replace(oldValue: "{{vereniging.isUitgeschrevenUitPubliekeDatastroom}}", + request.IsUitgeschrevenUitPubliekeDatastroom.ToString().ToLower()) + .Replace(oldValue: "{{vereniging.startdatum}}", request.Startdatum!.Value.ToString(WellknownFormats.DateOnly)) + .Replace(oldValue: "{{vereniging.doelgroep.minimumleeftijd}}", request.Doelgroep!.Minimumleeftijd.ToString()) + .Replace(oldValue: "{{vereniging.doelgroep.maximumleeftijd}}", request.Doelgroep!.Maximumleeftijd.ToString()) + .Replace(oldValue: "{{vereniging.contactgegevens}}", JsonConvert.SerializeObject(request.Contactgegevens)) + .Replace(oldValue: "{{vereniging.locaties}}", JsonConvert.SerializeObject(request.Locaties)) + .Replace(oldValue: "{{vereniging.vertegenwoordigers}}", JsonConvert.SerializeObject(request.Vertegenwoordigers)) + .Replace(oldValue: "{{vereniging.hoofdactiviteitenLijst}}", + JsonConvert.SerializeObject(request.HoofdactiviteitenVerenigingsloket)); } [Collection(nameof(AdminApiCollection))] @@ -176,11 +180,11 @@ private HttpResponseMessage Response public void Then_it_saves_the_events() { using var session = _fixture.DocumentStore - .LightweightSession(); + .LightweightSession(); var savedEvent = session.Events - .QueryRawEventDataOnly() - .Single(e => e.Naam == Request.Naam); + .QueryRawEventDataOnly() + .Single(e => e.Naam == Request.Naam); savedEvent.KorteNaam.Should().Be(Request.KorteNaam); savedEvent.KorteBeschrijving.Should().Be(Request.KorteBeschrijving); @@ -188,21 +192,28 @@ public void Then_it_saves_the_events() savedEvent.Contactgegevens.Should().HaveCount(expected: 1); savedEvent.Doelgroep.Should().BeEquivalentTo(Request.Doelgroep); savedEvent.IsUitgeschrevenUitPubliekeDatastroom.Should().BeTrue(); - savedEvent.Contactgegevens[0].Should().BeEquivalentTo(Request.Contactgegevens[0], options => options.ComparingEnumsByName()); + + savedEvent.Contactgegevens[0].Should() + .BeEquivalentTo(Request.Contactgegevens[0], config: options => options.ComparingEnumsByName()); + savedEvent.Locaties.Should().HaveCount(expected: 3); savedEvent.Locaties[0].Should().BeEquivalentTo(Request.Locaties[0]); savedEvent.Locaties[1].Should().BeEquivalentTo(Request.Locaties[1]); savedEvent.Locaties[2].Should().BeEquivalentTo(Request.Locaties[2]); savedEvent.Locaties.ForEach(x => x.LocatieId.Should().BePositive()); savedEvent.Locaties.Select(x => x.LocatieId).ToList().Should().OnlyHaveUniqueItems(); - savedEvent.Vertegenwoordigers.Should().BeEquivalentTo(Request.Vertegenwoordigers, options => options.ComparingEnumsByName()); + + savedEvent.Vertegenwoordigers.Should() + .BeEquivalentTo(Request.Vertegenwoordigers, config: options => options.ComparingEnumsByName()); + savedEvent.Vertegenwoordigers.ForEach(x => x.VertegenwoordigerId.Should().BePositive()); savedEvent.Vertegenwoordigers.Select(x => x.VertegenwoordigerId).ToList().Should().OnlyHaveUniqueItems(); + savedEvent.HoofdactiviteitenVerenigingsloket.Should().BeEquivalentTo( new[] { - new Registratiedata.HoofdactiviteitVerenigingsloket("BIAG", "Burgerinitiatief & Actiegroep"), - new Registratiedata.HoofdactiviteitVerenigingsloket("BWWC", "Buurtwerking & Wijkcomité"), + new Registratiedata.HoofdactiviteitVerenigingsloket(Code: "BIAG", Beschrijving: "Burgerinitiatief & Actiegroep"), + new Registratiedata.HoofdactiviteitVerenigingsloket(Code: "BWWC", Beschrijving: "Buurtwerking & Wijkcomité"), }); } @@ -216,8 +227,9 @@ public void Then_it_returns_an_accepted_response() public void Then_it_returns_a_location_header() { Response.Headers.Should().ContainKey(HeaderNames.Location); + Response.Headers.Location!.OriginalString.Should() - .StartWith($"{_fixture.ServiceProvider.GetRequiredService().BaseUrl}/v1/verenigingen/V"); + .StartWith($"{_fixture.ServiceProvider.GetRequiredService().BaseUrl}/v1/verenigingen/V"); } [Fact] diff --git a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/CommandHandling/FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.cs b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/CommandHandling/FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.cs index e5d261d92..ac6d2df49 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/CommandHandling/FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/CommandHandling/FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.cs @@ -1,7 +1,7 @@ namespace AssociationRegistry.Test.Admin.Api.Fixtures.Scenarios.CommandHandling; -using Events; using AssociationRegistry.Framework; +using Events; using Vereniging; public class FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario : CommandhandlerScenarioBase @@ -13,11 +13,10 @@ public class FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegeve public readonly string Initiator = "Een initiator"; public readonly string KorteBeschrijving = string.Empty; public readonly string KorteNaam = "FOud"; - public readonly string Naam = "Hulste Huldigt"; public readonly DateOnly Startdatum = new(year: 2023, month: 3, day: 6); - public readonly ContactgegevenType Type = ContactgegevenType.Email; - public override VCode VCode =>VCode.Create("V0009002"); + public readonly Contactgegeventype Type = Contactgegeventype.Email; + public override VCode VCode => VCode.Create("V0009002"); public override IEnumerable Events() { @@ -30,7 +29,7 @@ public override IEnumerable Events() KorteBeschrijving, Startdatum, Registratiedata.Doelgroep.With(Doelgroep.Null), - false, + IsUitgeschrevenUitPubliekeDatastroom: false, Array.Empty(), Array.Empty(), Array.Empty(), diff --git a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/CommandHandling/FeitelijkeVerenigingWerdGeregistreerd_WithMultipleContactgegevens_Commandhandler_Scenario.cs b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/CommandHandling/FeitelijkeVerenigingWerdGeregistreerd_WithMultipleContactgegevens_Commandhandler_Scenario.cs index 1f4687deb..a22c198cb 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/CommandHandling/FeitelijkeVerenigingWerdGeregistreerd_WithMultipleContactgegevens_Commandhandler_Scenario.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/CommandHandling/FeitelijkeVerenigingWerdGeregistreerd_WithMultipleContactgegevens_Commandhandler_Scenario.cs @@ -1,16 +1,19 @@ namespace AssociationRegistry.Test.Admin.Api.Fixtures.Scenarios.CommandHandling; -using Events; using AssociationRegistry.Framework; +using Events; using Vereniging; public class FeitelijkeVerenigingWerdGeregistreerd_WithMultipleContactgegevens_Commandhandler_Scenario : CommandhandlerScenarioBase { public readonly string Initiator = "Een initiator"; - public override VCode VCode =>VCode.Create("V0009002"); + public override VCode VCode => VCode.Create("V0009002"); + + public ContactgegevenWerdToegevoegd ContactgegevenWerdToegevoegd1 { get; } = + new(ContactgegevenId: 1, Contactgegeventype.Email, Waarde: "test1@example.org", Beschrijving: "", IsPrimair: true); - public ContactgegevenWerdToegevoegd ContactgegevenWerdToegevoegd1 { get; } = new(ContactgegevenId: 1, ContactgegevenType.Email, "test1@example.org", "", IsPrimair: true); - public ContactgegevenWerdToegevoegd ContactgegevenWerdToegevoegd2 { get; } = new(ContactgegevenId: 2, ContactgegevenType.Email, "test2@example.org", "", IsPrimair: false); + public ContactgegevenWerdToegevoegd ContactgegevenWerdToegevoegd2 { get; } = + new(ContactgegevenId: 2, Contactgegeventype.Email, Waarde: "test2@example.org", Beschrijving: "", IsPrimair: false); public override IEnumerable Events() { @@ -18,12 +21,12 @@ public override IEnumerable Events() { new FeitelijkeVerenigingWerdGeregistreerd( VCode, - "Hulste Huldigt", - "FOud", + Naam: "Hulste Huldigt", + KorteNaam: "FOud", string.Empty, new DateOnly(year: 2023, month: 3, day: 6), Registratiedata.Doelgroep.With(Doelgroep.Null), - false, + IsUitgeschrevenUitPubliekeDatastroom: false, Array.Empty(), Array.Empty(), Array.Empty(), diff --git a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V001_FeitelijkeVerenigingWerdGeregistreerd_WithAllFields.cs b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V001_FeitelijkeVerenigingWerdGeregistreerd_WithAllFields.cs index 43f26cc77..819af6060 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V001_FeitelijkeVerenigingWerdGeregistreerd_WithAllFields.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V001_FeitelijkeVerenigingWerdGeregistreerd_WithAllFields.cs @@ -1,10 +1,10 @@ namespace AssociationRegistry.Test.Admin.Api.Fixtures.Scenarios.EventsInDb; +using AssociationRegistry.Framework; +using AutoFixture; using Events; using EventStore; -using AssociationRegistry.Framework; using Framework; -using AutoFixture; using Vereniging; public class V001_FeitelijkeVerenigingWerdGeregistreerd_WithAllFields : IEventsInDbScenario @@ -19,75 +19,75 @@ public V001_FeitelijkeVerenigingWerdGeregistreerd_WithAllFields() FeitelijkeVerenigingWerdGeregistreerd = new FeitelijkeVerenigingWerdGeregistreerd( VCode, - "Feestcommittee Oudenaarde", - "FOud", - "Het feestcommittee van Oudenaarde", + Naam: "Feestcommittee Oudenaarde", + KorteNaam: "FOud", + KorteBeschrijving: "Het feestcommittee van Oudenaarde", DateOnly.FromDateTime(new DateTime(year: 2022, month: 11, day: 9)), - new Registratiedata.Doelgroep(18, 90), - false, + new Registratiedata.Doelgroep(Minimumleeftijd: 18, Maximumleeftijd: 90), + IsUitgeschrevenUitPubliekeDatastroom: false, new[] { new Registratiedata.Contactgegeven( ContactgegevenId: 1, - ContactgegevenType.Email, - "info@FOud.be", - "Algemeen", + Contactgegeventype.Email, + Waarde: "info@FOud.be", + Beschrijving: "Algemeen", IsPrimair: true), }, new[] { new Registratiedata.Locatie( - 1, - "Correspondentie", + LocatieId: 1, + Locatietype: "Correspondentie", IsPrimair: true, Naam: "Correspondentie", - Adres: new Registratiedata.Adres( - "Stationsstraat", - "1", - "B", - "1790", - "Affligem", - "België"), - AdresId: new Registratiedata.AdresId(Adresbron.AR.Code, "https://data.vlaanderen.be/id/adres/0")), + new Registratiedata.Adres( + Straatnaam: "Stationsstraat", + Huisnummer: "1", + Busnummer: "B", + Postcode: "1790", + Gemeente: "Affligem", + Land: "België"), + new Registratiedata.AdresId(Adresbron.AR.Code, Bronwaarde: "https://data.vlaanderen.be/id/adres/0")), new Registratiedata.Locatie( - 2, - "Activiteiten", + LocatieId: 2, + Locatietype: "Activiteiten", IsPrimair: false, Naam: "Activiteiten", Adres: null, - AdresId: new Registratiedata.AdresId(Adresbron.AR.Code, "https://data.vlaanderen.be/id/adres/0")), + new Registratiedata.AdresId(Adresbron.AR.Code, Bronwaarde: "https://data.vlaanderen.be/id/adres/0")), new Registratiedata.Locatie( - 3, - "Activiteiten", + LocatieId: 3, + Locatietype: "Activiteiten", IsPrimair: false, Naam: "Activiteiten", - Adres: new Registratiedata.Adres( - "Dorpstraat", - "1", - "B", - "1790", - "Affligem", - "België"), + new Registratiedata.Adres( + Straatnaam: "Dorpstraat", + Huisnummer: "1", + Busnummer: "B", + Postcode: "1790", + Gemeente: "Affligem", + Land: "België"), AdresId: null), }, new[] { new Registratiedata.Vertegenwoordiger( VertegenwoordigerId: 1, - "01234567890", + Insz: "01234567890", IsPrimair: true, - "father", - "Leader", - "Odin", - "Allfather", - "asgard@world.tree", - "", - "", - ""), + Roepnaam: "father", + Rol: "Leader", + Voornaam: "Odin", + Achternaam: "Allfather", + Email: "asgard@world.tree", + Telefoon: "", + Mobiel: "", + SocialMedia: ""), }, new Registratiedata.HoofdactiviteitVerenigingsloket[] { - new("BLA", "Buitengewoon Leuke Afkortingen"), + new(Code: "BLA", Beschrijving: "Buitengewoon Leuke Afkortingen"), }); Metadata = fixture.Create() with { ExpectedVersion = null }; diff --git a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V023_LocatieWerdToegevoegd.cs b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V023_LocatieWerdToegevoegd.cs index d4bf974d6..a360e24e4 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V023_LocatieWerdToegevoegd.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V023_LocatieWerdToegevoegd.cs @@ -1,10 +1,10 @@ namespace AssociationRegistry.Test.Admin.Api.Fixtures.Scenarios.EventsInDb; +using AssociationRegistry.Framework; +using AutoFixture; using Events; using EventStore; -using AssociationRegistry.Framework; using Framework; -using AutoFixture; using Vereniging; public class V023_LocatieWerdToegevoegd : IEventsInDbScenario @@ -17,94 +17,96 @@ public V023_LocatieWerdToegevoegd() { var fixture = new Fixture().CustomizeAdminApi(); VCode = "V9999023"; + FeitelijkeVerenigingWerdGeregistreerd = new FeitelijkeVerenigingWerdGeregistreerd( VCode, - "Party in Brakeldorp", - "FBD", - "De party van Brakeldorp", + Naam: "Party in Brakeldorp", + KorteNaam: "FBD", + KorteBeschrijving: "De party van Brakeldorp", DateOnly.FromDateTime(new DateTime(year: 2022, month: 11, day: 9)), Registratiedata.Doelgroep.With(Doelgroep.Null), - false, + IsUitgeschrevenUitPubliekeDatastroom: false, new[] { new Registratiedata.Contactgegeven( ContactgegevenId: 1, - ContactgegevenType.Email, - "info@FOud.be", - "Algemeen", + Contactgegeventype.Email, + Waarde: "info@FOud.be", + Beschrijving: "Algemeen", IsPrimair: true), }, new[] { new Registratiedata.Locatie( - 1, - "Correspondentie", + LocatieId: 1, + Locatietype: "Correspondentie", IsPrimair: true, Naam: "Correspondentie", - Adres: new Registratiedata.Adres( - "Stationsstraat", - "1", - "B", - "1790", - "Affligem", - "België"), - AdresId: new Registratiedata.AdresId(Adresbron.AR.Code, "https://data.vlaanderen.be/id/adres/0")), + new Registratiedata.Adres( + Straatnaam: "Stationsstraat", + Huisnummer: "1", + Busnummer: "B", + Postcode: "1790", + Gemeente: "Affligem", + Land: "België"), + new Registratiedata.AdresId(Adresbron.AR.Code, Bronwaarde: "https://data.vlaanderen.be/id/adres/0")), new Registratiedata.Locatie( - 2, - "Activiteiten", + LocatieId: 2, + Locatietype: "Activiteiten", IsPrimair: false, Naam: "Activiteiten", Adres: null, - AdresId: new Registratiedata.AdresId(Adresbron.AR.Code, "https://data.vlaanderen.be/id/adres/0")), + new Registratiedata.AdresId(Adresbron.AR.Code, Bronwaarde: "https://data.vlaanderen.be/id/adres/0")), new Registratiedata.Locatie( - 3, - "Activiteiten", + LocatieId: 3, + Locatietype: "Activiteiten", IsPrimair: false, Naam: "Activiteiten", - Adres: new Registratiedata.Adres( - "Dorpstraat", - "1", - "B", - "1790", - "Affligem", - "België"), + new Registratiedata.Adres( + Straatnaam: "Dorpstraat", + Huisnummer: "1", + Busnummer: "B", + Postcode: "1790", + Gemeente: "Affligem", + Land: "België"), AdresId: null), }, new[] { new Registratiedata.Vertegenwoordiger( VertegenwoordigerId: 1, - "01234567890", + Insz: "01234567890", IsPrimair: true, - "father", - "Leader", - "Odin", - "Allfather", - "asgard@world.tree", - "", - "", - ""), + Roepnaam: "father", + Rol: "Leader", + Voornaam: "Odin", + Achternaam: "Allfather", + Email: "asgard@world.tree", + Telefoon: "", + Mobiel: "", + SocialMedia: ""), }, new Registratiedata.HoofdactiviteitVerenigingsloket[] { - new("BLA", "Buitengewoon Leuke Afkortingen"), + new(Code: "BLA", Beschrijving: "Buitengewoon Leuke Afkortingen"), }); LocatieWerdToegevoegd = new LocatieWerdToegevoegd( new Registratiedata.Locatie( - 4, + LocatieId: 4, Locatietype.Activiteiten, - false, - "Toegevoegd", + IsPrimair: false, + Naam: "Toegevoegd", new Registratiedata.Adres( - "straatnaam", - "1", - "B", - "0123", - "Zonnedorp", - "Frankrijk"), + Straatnaam: "straatnaam", + Huisnummer: "1", + Busnummer: "B", + Postcode: "0123", + Gemeente: "Zonnedorp", + Land: "Frankrijk"), new Registratiedata.AdresId(Adresbron.AR, AdresId.DataVlaanderenAdresPrefix) )); + Metadata = fixture.Create() with { ExpectedVersion = null }; } diff --git a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V025_LocatieWerdVerwijderd.cs b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V025_LocatieWerdVerwijderd.cs index c6ffc1002..4752859ed 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V025_LocatieWerdVerwijderd.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V025_LocatieWerdVerwijderd.cs @@ -17,79 +17,80 @@ public V025_LocatieWerdVerwijderd() { var fixture = new Fixture().CustomizeAdminApi(); VCode = "V9999025"; + var teVerwijderenLocatie = new Registratiedata.Locatie( - 1, - "Correspondentie", + LocatieId: 1, + Locatietype: "Correspondentie", IsPrimair: true, Naam: "Correspondentie", - Adres: new Registratiedata.Adres( - "Stationsstraat", - "1", - "B", - "1790", - "Affligem", - "België"), - AdresId: new Registratiedata.AdresId(Adresbron.AR.Code, "https://data.vlaanderen.be/id/adres/0")); + new Registratiedata.Adres( + Straatnaam: "Stationsstraat", + Huisnummer: "1", + Busnummer: "B", + Postcode: "1790", + Gemeente: "Affligem", + Land: "België"), + new Registratiedata.AdresId(Adresbron.AR.Code, Bronwaarde: "https://data.vlaanderen.be/id/adres/0")); FeitelijkeVerenigingWerdGeregistreerd = new FeitelijkeVerenigingWerdGeregistreerd( VCode, - "Party in Brakeldorp", - "FBD", - "De party van Brakeldorp", + Naam: "Party in Brakeldorp", + KorteNaam: "FBD", + KorteBeschrijving: "De party van Brakeldorp", DateOnly.FromDateTime(new DateTime(year: 2022, month: 11, day: 9)), Registratiedata.Doelgroep.With(Doelgroep.Null), - false, + IsUitgeschrevenUitPubliekeDatastroom: false, new[] { new Registratiedata.Contactgegeven( ContactgegevenId: 1, - ContactgegevenType.Email, - "info@FOud.be", - "Algemeen", + Contactgegeventype.Email, + Waarde: "info@FOud.be", + Beschrijving: "Algemeen", IsPrimair: true), }, new[] { teVerwijderenLocatie, new Registratiedata.Locatie( - 2, - "Activiteiten", + LocatieId: 2, + Locatietype: "Activiteiten", IsPrimair: false, Naam: "Activiteiten", Adres: null, - AdresId: new Registratiedata.AdresId(Adresbron.AR.Code, "https://data.vlaanderen.be/id/adres/0")), + new Registratiedata.AdresId(Adresbron.AR.Code, Bronwaarde: "https://data.vlaanderen.be/id/adres/0")), new Registratiedata.Locatie( - 3, - "Activiteiten", + LocatieId: 3, + Locatietype: "Activiteiten", IsPrimair: false, Naam: "Activiteiten", - Adres: new Registratiedata.Adres( - "Dorpstraat", - "1", - "B", - "1790", - "Affligem", - "België"), + new Registratiedata.Adres( + Straatnaam: "Dorpstraat", + Huisnummer: "1", + Busnummer: "B", + Postcode: "1790", + Gemeente: "Affligem", + Land: "België"), AdresId: null), }, new[] { new Registratiedata.Vertegenwoordiger( VertegenwoordigerId: 1, - "01234567890", + Insz: "01234567890", IsPrimair: true, - "father", - "Leader", - "Odin", - "Allfather", - "asgard@world.tree", - "", - "", - ""), + Roepnaam: "father", + Rol: "Leader", + Voornaam: "Odin", + Achternaam: "Allfather", + Email: "asgard@world.tree", + Telefoon: "", + Mobiel: "", + SocialMedia: ""), }, new Registratiedata.HoofdactiviteitVerenigingsloket[] { - new("BLA", "Buitengewoon Leuke Afkortingen"), + new(Code: "BLA", Beschrijving: "Buitengewoon Leuke Afkortingen"), }); LocatieWerdVerwijderd = new LocatieWerdVerwijderd(teVerwijderenLocatie); diff --git a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V029_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data.cs b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V029_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data.cs index 5a19f8b9d..97c2f1f79 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V029_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V029_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data.cs @@ -9,16 +9,15 @@ public class V029_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data : IEventsInDbScenario { - public readonly VerenigingMetRechtspersoonlijkheidWerdGeregistreerd VerenigingMetRechtspersoonlijkheidWerdGeregistreerd; - public readonly MaatschappelijkeZetelWerdOvergenomenUitKbo MaatschappelijkeZetelWerdOvergenomenUitKbo; + public readonly ContactgegevenUitKBOWerdGewijzigd EmailWerdGewijzigd; public readonly ContactgegevenWerdOvergenomenUitKBO EmailWerdOvergenomenUitKBO; - public readonly ContactgegevenWerdOvergenomenUitKBO WebsiteWerdOvergenomenUitKBO; - public readonly ContactgegevenWerdOvergenomenUitKBO TelefoonWerdOvergenomenUitKBO; public readonly ContactgegevenWerdOvergenomenUitKBO GSMWerdOvergenomenUitKBO; - public readonly VertegenwoordigerWerdOvergenomenUitKBO VertegenwoordigerWerdOvergenomenUitKBO; - public readonly ContactgegevenUitKBOWerdGewijzigd EmailWerdGewijzigd; - + public readonly MaatschappelijkeZetelWerdOvergenomenUitKbo MaatschappelijkeZetelWerdOvergenomenUitKbo; public readonly CommandMetadata Metadata; + public readonly ContactgegevenWerdOvergenomenUitKBO TelefoonWerdOvergenomenUitKBO; + public readonly VerenigingMetRechtspersoonlijkheidWerdGeregistreerd VerenigingMetRechtspersoonlijkheidWerdGeregistreerd; + public readonly VertegenwoordigerWerdOvergenomenUitKBO VertegenwoordigerWerdOvergenomenUitKBO; + public readonly ContactgegevenWerdOvergenomenUitKBO WebsiteWerdOvergenomenUitKBO; public V029_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data() { @@ -43,32 +42,37 @@ public V029_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data() Naam = string.Empty, IsPrimair = false, Adres = new Registratiedata.Adres( - "Stationsstraat", - "1", - "B", - "1790", - "Affligem", - "België"), + Straatnaam: "Stationsstraat", + Huisnummer: "1", + Busnummer: "B", + Postcode: "1790", + Gemeente: "Affligem", + Land: "België"), AdresId = null, }); EmailWerdOvergenomenUitKBO = - new ContactgegevenWerdOvergenomenUitKBO(1, ContactgegevenType.Email.Waarde, ContactgegevenTypeVolgensKbo.Email, - "email@testdata.com"); + new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 1, Contactgegeventype.Email.Waarde, + ContactgegeventypeVolgensKbo.Email, + Waarde: "email@testdata.com"); WebsiteWerdOvergenomenUitKBO = - new ContactgegevenWerdOvergenomenUitKBO(2, ContactgegevenType.Website.Waarde, ContactgegevenTypeVolgensKbo.Website, - "https://www.testdata.com"); + new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 2, Contactgegeventype.Website.Waarde, + ContactgegeventypeVolgensKbo.Website, + Waarde: "https://www.testdata.com"); TelefoonWerdOvergenomenUitKBO = - new ContactgegevenWerdOvergenomenUitKBO(3, ContactgegevenType.Telefoon.Waarde, ContactgegevenTypeVolgensKbo.Telefoon, - "0123456789"); + new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 3, Contactgegeventype.Telefoon.Waarde, + ContactgegeventypeVolgensKbo.Telefoon, + Waarde: "0123456789"); - GSMWerdOvergenomenUitKBO = new(4, ContactgegevenType.Telefoon.Waarde, ContactgegevenTypeVolgensKbo.GSM, "0987654321"); + GSMWerdOvergenomenUitKBO = new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 4, Contactgegeventype.Telefoon.Waarde, + ContactgegeventypeVolgensKbo.GSM, Waarde: "0987654321"); - VertegenwoordigerWerdOvergenomenUitKBO = new VertegenwoordigerWerdOvergenomenUitKBO(1, "0123456789", "Jhon", "Doo"); + VertegenwoordigerWerdOvergenomenUitKBO = + new VertegenwoordigerWerdOvergenomenUitKBO(VertegenwoordigerId: 1, Insz: "0123456789", Voornaam: "Jhon", Achternaam: "Doo"); - EmailWerdGewijzigd = new ContactgegevenUitKBOWerdGewijzigd(1, "TestEmail", true); + EmailWerdGewijzigd = new ContactgegevenUitKBOWerdGewijzigd(ContactgegevenId: 1, Beschrijving: "TestEmail", IsPrimair: true); KboNummer = VerenigingMetRechtspersoonlijkheidWerdGeregistreerd.KboNummer; Metadata = fixture.Create() with { ExpectedVersion = null }; diff --git a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V030_VerenigingeMetRechtspersoonlijkheidWerdGeregistreerd_With_Invalid_Data.cs b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V030_VerenigingeMetRechtspersoonlijkheidWerdGeregistreerd_With_Invalid_Data.cs index 20145e9ff..18e254d43 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V030_VerenigingeMetRechtspersoonlijkheidWerdGeregistreerd_With_Invalid_Data.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V030_VerenigingeMetRechtspersoonlijkheidWerdGeregistreerd_With_Invalid_Data.cs @@ -9,13 +9,13 @@ public class V030_VerenigingeMetRechtspersoonlijkheidWerdGeregistreerd_With_Invalid_Data : IEventsInDbScenario { - public readonly VerenigingMetRechtspersoonlijkheidWerdGeregistreerd VerenigingMetRechtspersoonlijkheidWerdGeregistreerd; - public readonly MaatschappelijkeZetelKonNietOvergenomenWordenUitKbo MaatschappelijkeZetelKonNietOvergenomenWordenUitKbo; public readonly ContactgegevenKonNietOvergenomenWordenUitKBO EmailKonNietOvergenomenWordenUitKbo; - public readonly ContactgegevenKonNietOvergenomenWordenUitKBO WebsiteKonNietOvergenomenWordenUitKbo; - public readonly ContactgegevenKonNietOvergenomenWordenUitKBO TelefoonKonNietOvergenomenWordenUitKbo; - public readonly CommandMetadata Metadata; public readonly ContactgegevenKonNietOvergenomenWordenUitKBO GsmKonNietOvergenomenWordenUitKbo; + public readonly MaatschappelijkeZetelKonNietOvergenomenWordenUitKbo MaatschappelijkeZetelKonNietOvergenomenWordenUitKbo; + public readonly CommandMetadata Metadata; + public readonly ContactgegevenKonNietOvergenomenWordenUitKBO TelefoonKonNietOvergenomenWordenUitKbo; + public readonly VerenigingMetRechtspersoonlijkheidWerdGeregistreerd VerenigingMetRechtspersoonlijkheidWerdGeregistreerd; + public readonly ContactgegevenKonNietOvergenomenWordenUitKBO WebsiteKonNietOvergenomenWordenUitKbo; public V030_VerenigingeMetRechtspersoonlijkheidWerdGeregistreerd_With_Invalid_Data() { @@ -23,6 +23,7 @@ public V030_VerenigingeMetRechtspersoonlijkheidWerdGeregistreerd_With_Invalid_Da VCode = "V9999030"; Naam = "Recht door zee"; + VerenigingMetRechtspersoonlijkheidWerdGeregistreerd = fixture.Create() with { VCode = VCode, @@ -30,27 +31,37 @@ public V030_VerenigingeMetRechtspersoonlijkheidWerdGeregistreerd_With_Invalid_Da KorteNaam = "RDZ", KboNummer = "7981199887", }; + MaatschappelijkeZetelKonNietOvergenomenWordenUitKbo = new MaatschappelijkeZetelKonNietOvergenomenWordenUitKbo( - "Stationsstraat", - "1", - "B", - "1790", - "Affligem", - "België"); - EmailKonNietOvergenomenWordenUitKbo = new ContactgegevenKonNietOvergenomenWordenUitKBO(ContactgegevenType.Email.Waarde, ContactgegevenTypeVolgensKbo.Email.Waarde, fixture.Create()); - WebsiteKonNietOvergenomenWordenUitKbo = new ContactgegevenKonNietOvergenomenWordenUitKBO(ContactgegevenType.Website.Waarde, ContactgegevenTypeVolgensKbo.Website.Waarde, fixture.Create()); - TelefoonKonNietOvergenomenWordenUitKbo = new ContactgegevenKonNietOvergenomenWordenUitKBO(ContactgegevenType.Telefoon.Waarde, ContactgegevenTypeVolgensKbo.Telefoon.Waarde, fixture.Create()); - GsmKonNietOvergenomenWordenUitKbo = new ContactgegevenKonNietOvergenomenWordenUitKBO(ContactgegevenType.Telefoon.Waarde, ContactgegevenTypeVolgensKbo.GSM.Waarde, fixture.Create()); + Straatnaam: "Stationsstraat", + Huisnummer: "1", + Busnummer: "B", + Postcode: "1790", + Gemeente: "Affligem", + Land: "België"); + + EmailKonNietOvergenomenWordenUitKbo = + new ContactgegevenKonNietOvergenomenWordenUitKBO(Contactgegeventype.Email.Waarde, ContactgegeventypeVolgensKbo.Email.Waarde, + fixture.Create()); + + WebsiteKonNietOvergenomenWordenUitKbo = + new ContactgegevenKonNietOvergenomenWordenUitKBO(Contactgegeventype.Website.Waarde, ContactgegeventypeVolgensKbo.Website.Waarde, + fixture.Create()); + + TelefoonKonNietOvergenomenWordenUitKbo = new ContactgegevenKonNietOvergenomenWordenUitKBO( + Contactgegeventype.Telefoon.Waarde, ContactgegeventypeVolgensKbo.Telefoon.Waarde, fixture.Create()); + + GsmKonNietOvergenomenWordenUitKbo = + new ContactgegevenKonNietOvergenomenWordenUitKBO(Contactgegeventype.Telefoon.Waarde, ContactgegeventypeVolgensKbo.GSM.Waarde, + fixture.Create()); + KboNummer = VerenigingMetRechtspersoonlijkheidWerdGeregistreerd.KboNummer; Metadata = fixture.Create() with { ExpectedVersion = null }; } public string KboNummer { get; set; } - public string Naam { get; set; } - public string VCode { get; set; } - public StreamActionResult Result { get; set; } = null!; public IEvent[] GetEvents() diff --git a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V045_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_ContactgegevenFromKbo_For_Wijzigen.cs b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V045_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_ContactgegevenFromKbo_For_Wijzigen.cs index a00357e9f..cce30e715 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V045_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_ContactgegevenFromKbo_For_Wijzigen.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Fixtures/Scenarios/EventsInDb/V045_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_ContactgegevenFromKbo_For_Wijzigen.cs @@ -9,9 +9,9 @@ public class V045_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_ContactgegevenFromKbo_For_Wijzigen : IEventsInDbScenario { - public readonly VerenigingMetRechtspersoonlijkheidWerdGeregistreerd VerenigingMetRechtspersoonlijkheidWerdGeregistreerd; public readonly ContactgegevenWerdOvergenomenUitKBO ContactgegevenWerdOvergenomenUitKBO; public readonly CommandMetadata Metadata; + public readonly VerenigingMetRechtspersoonlijkheidWerdGeregistreerd VerenigingMetRechtspersoonlijkheidWerdGeregistreerd; public V045_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_ContactgegevenFromKbo_For_Wijzigen() { @@ -30,10 +30,10 @@ public V045_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_Contactgege }; ContactgegevenWerdOvergenomenUitKBO = new ContactgegevenWerdOvergenomenUitKBO( - 1, - ContactgegevenType.Email.Waarde, - ContactgegevenType.Email.Waarde, - "test@example.org"); + ContactgegevenId: 1, + Contactgegeventype.Email.Waarde, + Contactgegeventype.Email.Waarde, + Waarde: "test@example.org"); KboNummer = VerenigingMetRechtspersoonlijkheidWerdGeregistreerd.KboNummer; Metadata = fixture.Create() with { ExpectedVersion = null }; diff --git a/test/AssociationRegistry.Test.Admin.Api/Framework/AdminApiAutoFixtureCustomizations.cs b/test/AssociationRegistry.Test.Admin.Api/Framework/AdminApiAutoFixtureCustomizations.cs index 88a1b2789..4d811282b 100644 --- a/test/AssociationRegistry.Test.Admin.Api/Framework/AdminApiAutoFixtureCustomizations.cs +++ b/test/AssociationRegistry.Test.Admin.Api/Framework/AdminApiAutoFixtureCustomizations.cs @@ -69,14 +69,16 @@ private static void CustomizeWijzigBasisgegevensRequest(this IFixture fixture) .ToArray(), }).OmitAutoProperties()); - fixture.Customize( - composer => composer.With( - propertyPicker: e => e.HoofdactiviteitenVerenigingsloket, - valueFactory: () => fixture - .CreateMany() - .Distinct() - .Select(h => h.Code) - .ToArray())); + fixture + .Customize( + composer => composer.With( + propertyPicker: e => e.HoofdactiviteitenVerenigingsloket, + valueFactory: () => fixture + .CreateMany() + .Distinct() + .Select(h => h.Code) + .ToArray())); } private static void CustomizeRegistreerFeitelijkeVerenigingRequest(this IFixture fixture) @@ -110,7 +112,7 @@ private static void CustomizeToeTeVoegenContactgegeven(this IFixture fixture) return new ToeTeVoegenContactgegeven { - Type = contactgegeven.Type, + Type = contactgegeven.Contactgegeventype, Waarde = contactgegeven.Waarde, Beschrijving = fixture.Create(), IsPrimair = false, diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/CommandHandling/With_VerenigingVolgensKbo_Contactgegevens.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/CommandHandling/With_VerenigingVolgensKbo_Contactgegevens.cs index 919b865e9..64533adf8 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/CommandHandling/With_VerenigingVolgensKbo_Contactgegevens.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/CommandHandling/With_VerenigingVolgensKbo_Contactgegevens.cs @@ -1,4 +1,5 @@ -namespace AssociationRegistry.Test.Admin.Api.VerenigingMetRechtspersoonlijkheid.When_RegistreerVerenigingMetRechtspersoonlijkheid.CommandHandling; +namespace AssociationRegistry.Test.Admin.Api.VerenigingMetRechtspersoonlijkheid.When_RegistreerVerenigingMetRechtspersoonlijkheid. + CommandHandling; using Acties.RegistreerVerenigingUitKbo; using AssociationRegistry.Framework; @@ -26,7 +27,6 @@ public With_VerenigingVolgensKbo_Contactgegevens() var fixture = new Fixture().CustomizeAdminApi(); - var commandMetadata = fixture.Create(); _verenigingVolgensKbo = fixture.Create(); _verenigingVolgensKbo.Contactgegevens = fixture.Create(); @@ -41,9 +41,9 @@ public With_VerenigingVolgensKbo_Contactgegevens() )); commandHandler - .Handle(new CommandEnvelope(_command, commandMetadata), CancellationToken.None) - .GetAwaiter() - .GetResult(); + .Handle(new CommandEnvelope(_command, commandMetadata), CancellationToken.None) + .GetAwaiter() + .GetResult(); } [Fact] @@ -58,27 +58,27 @@ public void Then_it_saves_the_events() _verenigingVolgensKbo.KorteNaam!, _verenigingVolgensKbo.Startdatum), new ContactgegevenWerdOvergenomenUitKBO( - 1, - ContactgegevenType.Email.Waarde, - ContactgegevenTypeVolgensKbo.Email, + ContactgegevenId: 1, + Contactgegeventype.Email.Waarde, + ContactgegeventypeVolgensKbo.Email, _verenigingVolgensKbo.Contactgegevens.Email! ), new ContactgegevenWerdOvergenomenUitKBO( - 2, - ContactgegevenType.Website.Waarde, - ContactgegevenTypeVolgensKbo.Website, + ContactgegevenId: 2, + Contactgegeventype.Website.Waarde, + ContactgegeventypeVolgensKbo.Website, _verenigingVolgensKbo.Contactgegevens.Website! ), new ContactgegevenWerdOvergenomenUitKBO( - 3, - ContactgegevenType.Telefoon.Waarde, - ContactgegevenTypeVolgensKbo.Telefoon, + ContactgegevenId: 3, + Contactgegeventype.Telefoon.Waarde, + ContactgegeventypeVolgensKbo.Telefoon, _verenigingVolgensKbo.Contactgegevens.Telefoonnummer! ), new ContactgegevenWerdOvergenomenUitKBO( - 4, - ContactgegevenType.Telefoon.Waarde, - ContactgegevenTypeVolgensKbo.GSM, + ContactgegevenId: 4, + Contactgegeventype.Telefoon.Waarde, + ContactgegeventypeVolgensKbo.GSM, _verenigingVolgensKbo.Contactgegevens.GSM! ) ); @@ -100,9 +100,9 @@ public With_VerenigingVolgensKbo_No_Contactgegevens() var fixture = new Fixture().CustomizeAdminApi(); - var commandMetadata = fixture.Create(); _verenigingVolgensKbo = fixture.Create(); + _verenigingVolgensKbo.Contactgegevens = new ContactgegevensVolgensKbo { Email = null, @@ -121,9 +121,9 @@ public With_VerenigingVolgensKbo_No_Contactgegevens() )); commandHandler - .Handle(new CommandEnvelope(_command, commandMetadata), CancellationToken.None) - .GetAwaiter() - .GetResult(); + .Handle(new CommandEnvelope(_command, commandMetadata), CancellationToken.None) + .GetAwaiter() + .GetResult(); } [Fact] diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/CommandHandling/With_VerenigingVolgensKbo_Invalid_Contactgegevens.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/CommandHandling/With_VerenigingVolgensKbo_Invalid_Contactgegevens.cs index 47500c725..080a1c9ce 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/CommandHandling/With_VerenigingVolgensKbo_Invalid_Contactgegevens.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/CommandHandling/With_VerenigingVolgensKbo_Invalid_Contactgegevens.cs @@ -1,4 +1,5 @@ -namespace AssociationRegistry.Test.Admin.Api.VerenigingMetRechtspersoonlijkheid.When_RegistreerVerenigingMetRechtspersoonlijkheid.CommandHandling; +namespace AssociationRegistry.Test.Admin.Api.VerenigingMetRechtspersoonlijkheid.When_RegistreerVerenigingMetRechtspersoonlijkheid. + CommandHandling; using Acties.RegistreerVerenigingUitKbo; using AssociationRegistry.Framework; @@ -26,9 +27,9 @@ public With_VerenigingVolgensKbo_Invalid_Contactgegevens() var fixture = new Fixture().CustomizeAdminApi(); - var commandMetadata = fixture.Create(); _verenigingVolgensKbo = fixture.Create(); + _verenigingVolgensKbo.Contactgegevens = new ContactgegevensVolgensKbo { Email = fixture.Create(), @@ -47,9 +48,9 @@ public With_VerenigingVolgensKbo_Invalid_Contactgegevens() )); commandHandler - .Handle(new CommandEnvelope(_command, commandMetadata), CancellationToken.None) - .GetAwaiter() - .GetResult(); + .Handle(new CommandEnvelope(_command, commandMetadata), CancellationToken.None) + .GetAwaiter() + .GetResult(); } [Fact] @@ -64,23 +65,23 @@ public void Then_it_saves_the_events() _verenigingVolgensKbo.KorteNaam!, _verenigingVolgensKbo.Startdatum), new ContactgegevenKonNietOvergenomenWordenUitKBO( - ContactgegevenType.Email.Waarde, - ContactgegevenTypeVolgensKbo.Email.Waarde, + Contactgegeventype.Email.Waarde, + ContactgegeventypeVolgensKbo.Email.Waarde, _verenigingVolgensKbo.Contactgegevens.Email! ), new ContactgegevenKonNietOvergenomenWordenUitKBO( - ContactgegevenType.Website.Waarde, - ContactgegevenTypeVolgensKbo.Website.Waarde, + Contactgegeventype.Website.Waarde, + ContactgegeventypeVolgensKbo.Website.Waarde, _verenigingVolgensKbo.Contactgegevens.Website! ), new ContactgegevenKonNietOvergenomenWordenUitKBO( - ContactgegevenType.Telefoon.Waarde, - ContactgegevenTypeVolgensKbo.Telefoon.Waarde, + Contactgegeventype.Telefoon.Waarde, + ContactgegeventypeVolgensKbo.Telefoon.Waarde, _verenigingVolgensKbo.Contactgegevens.Telefoonnummer! ), new ContactgegevenKonNietOvergenomenWordenUitKBO( - ContactgegevenType.Telefoon.Waarde, - ContactgegevenTypeVolgensKbo.GSM.Waarde, + Contactgegeventype.Telefoon.Waarde, + ContactgegeventypeVolgensKbo.GSM.Waarde, _verenigingVolgensKbo.Contactgegevens.GSM! ) ); diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/With_Kbo_Nummer_For_Supported_Rechtsvorm/With_KboNummer_For_StichtingVanOpenbaarNut.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/With_Kbo_Nummer_For_Supported_Rechtsvorm/With_KboNummer_For_StichtingVanOpenbaarNut.cs index a29294953..188e2e8df 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/With_Kbo_Nummer_For_Supported_Rechtsvorm/With_KboNummer_For_StichtingVanOpenbaarNut.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingMetRechtspersoonlijkheid/When_RegistreerVerenigingMetRechtspersoonlijkheid/With_Kbo_Nummer_For_Supported_Rechtsvorm/With_KboNummer_For_StichtingVanOpenbaarNut.cs @@ -55,20 +55,20 @@ public void Then_it_saves_the_events() contactgegevensWerdOvergenomenUitKbo.Should().HaveCount(4); contactgegevensWerdOvergenomenUitKbo.Should().ContainEquivalentOf( - new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 1, ContactgegevenType.Email.Waarde, - ContactgegevenTypeVolgensKbo.Email, Waarde: "info@opdebosuil.be")); + new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 1, Contactgegeventype.Email.Waarde, + ContactgegeventypeVolgensKbo.Email, Waarde: "info@opdebosuil.be")); contactgegevensWerdOvergenomenUitKbo.Should().ContainEquivalentOf( - new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 2, ContactgegevenType.Website.Waarde, - ContactgegevenTypeVolgensKbo.Website, Waarde: "https://www.opdebosuil.be")); + new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 2, Contactgegeventype.Website.Waarde, + ContactgegeventypeVolgensKbo.Website, Waarde: "https://www.opdebosuil.be")); contactgegevensWerdOvergenomenUitKbo.Should().ContainEquivalentOf( - new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 3, ContactgegevenType.Telefoon.Waarde, - ContactgegevenTypeVolgensKbo.Telefoon, Waarde: "011642985")); + new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 3, Contactgegeventype.Telefoon.Waarde, + ContactgegeventypeVolgensKbo.Telefoon, Waarde: "011642985")); contactgegevensWerdOvergenomenUitKbo.Should().ContainEquivalentOf( - new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 4, ContactgegevenType.Telefoon.Waarde, - ContactgegevenTypeVolgensKbo.GSM, Waarde: "0987654321")); + new ContactgegevenWerdOvergenomenUitKBO(ContactgegevenId: 4, Contactgegeventype.Telefoon.Waarde, + ContactgegeventypeVolgensKbo.GSM, Waarde: "0987654321")); } [Fact] diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Contactgegeven_Was_Removed.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Contactgegeven_Was_Removed.cs index 17382b4cb..7d6ac6876 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Contactgegeven_Was_Removed.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Contactgegeven_Was_Removed.cs @@ -1,22 +1,22 @@ namespace AssociationRegistry.Test.Admin.Api.VerenigingOfAnyKind.When_Adding_Contactgegeven.CommandHandling; using Acties.VoegContactgegevenToe; -using Events; using AssociationRegistry.Framework; +using AutoFixture; +using Events; using Fakes; -using AssociationRegistry.Test.Admin.Api.Fixtures.Scenarios.CommandHandling; +using Fixtures.Scenarios.CommandHandling; using Framework; -using AutoFixture; using Xunit; using Xunit.Categories; [UnitTest] public class Given_A_Contactgegeven_Was_Removed { - private readonly VerenigingRepositoryMock _verenigingRepositoryMock; private readonly VoegContactgegevenToeCommandHandler _commandHandler; private readonly Fixture _fixture; private readonly FeitelijkeVerenigingWerdGeregistreerdWithRemovedContactgegevenScenario _scenario; + private readonly VerenigingRepositoryMock _verenigingRepositoryMock; public Given_A_Contactgegeven_Was_Removed() { @@ -36,7 +36,8 @@ public async Task Then_A_ContactgegevenWerdToegevoegd_Event_Is_Saved_With_The_Ne await _commandHandler.Handle(new CommandEnvelope(command, _fixture.Create())); _verenigingRepositoryMock.ShouldHaveSaved( - new ContactgegevenWerdToegevoegd(2, command.Contactgegeven.Type, command.Contactgegeven.Waarde, command.Contactgegeven.Beschrijving, false) + new ContactgegevenWerdToegevoegd(ContactgegevenId: 2, command.Contactgegeven.Contactgegeventype, command.Contactgegeven.Waarde, + command.Contactgegeven.Beschrijving, IsPrimair: false) ); } } diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Duplicate_Contactgegeven.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Duplicate_Contactgegeven.cs index f04f471d7..666f0f283 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Duplicate_Contactgegeven.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Duplicate_Contactgegeven.cs @@ -2,12 +2,12 @@ using Acties.VoegContactgegevenToe; using AssociationRegistry.Framework; +using AutoFixture; using Fakes; -using AssociationRegistry.Test.Admin.Api.Fixtures.Scenarios.CommandHandling; +using Fixtures.Scenarios.CommandHandling; +using FluentAssertions; using Framework; using Vereniging.Exceptions; -using AutoFixture; -using FluentAssertions; using Xunit; using Xunit.Categories; @@ -34,10 +34,12 @@ public async Task Then_A_DuplicateContactgegeven_Is_Thrown() var command = _fixture.Create() with { VCode = _scenario.VCode }; await _commandHandler.Handle(new CommandEnvelope(command, _fixture.Create())); - var handleCall = async () => await _commandHandler.Handle(new CommandEnvelope(command, _fixture.Create())); + + var handleCall = async () + => await _commandHandler.Handle(new CommandEnvelope(command, _fixture.Create())); await handleCall.Should() - .ThrowAsync() - .WithMessage(new ContactgegevenIsDuplicaat(command.Contactgegeven.Type).Message); + .ThrowAsync() + .WithMessage(new ContactgegevenIsDuplicaat(command.Contactgegeven.Contactgegeventype).Message); } } diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_NietPrimair_Contactgegeven.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_NietPrimair_Contactgegeven.cs index dd0c98dd5..8a8e91c13 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_NietPrimair_Contactgegeven.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_NietPrimair_Contactgegeven.cs @@ -1,13 +1,13 @@ namespace AssociationRegistry.Test.Admin.Api.VerenigingOfAnyKind.When_Adding_Contactgegeven.CommandHandling; using Acties.VoegContactgegevenToe; -using Events; using AssociationRegistry.Framework; +using AutoFixture; +using Events; using Fakes; -using AssociationRegistry.Test.Admin.Api.Fixtures.Scenarios.CommandHandling; +using Fixtures.Scenarios.CommandHandling; using Framework; using Vereniging; -using AutoFixture; using Xunit; using Xunit.Categories; @@ -27,23 +27,24 @@ public async Task Then_A_ContactgegevenWerdToegevoegd_Event_Is_Saved(string type var fixture = new Fixture().CustomizeAdminApi(); var commandHandler = new VoegContactgegevenToeCommandHandler(verenigingRepositoryMock); + var command = new VoegContactgegevenToeCommand( scenario.VCode, Contactgegeven.Create( type, waarde, fixture.Create(), - false)); + isPrimair: false)); await commandHandler.Handle(new CommandEnvelope(command, fixture.Create())); verenigingRepositoryMock.ShouldHaveSaved( new ContactgegevenWerdToegevoegd( scenario.FeitelijkeVerenigingWerdGeregistreerd.Contactgegevens.Max(c => c.ContactgegevenId) + 1, - command.Contactgegeven.Type, + command.Contactgegeven.Contactgegeventype, command.Contactgegeven.Waarde, command.Contactgegeven.Beschrijving, - false) + IsPrimair: false) ); } } diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Second_NietPrimair_Contactgegeven.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Second_NietPrimair_Contactgegeven.cs index 93e599df3..7a2ccc41f 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Second_NietPrimair_Contactgegeven.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Second_NietPrimair_Contactgegeven.cs @@ -1,23 +1,23 @@ namespace AssociationRegistry.Test.Admin.Api.VerenigingOfAnyKind.When_Adding_Contactgegeven.CommandHandling; using Acties.VoegContactgegevenToe; -using Events; using AssociationRegistry.Framework; +using AutoFixture; +using Events; using Fakes; -using AssociationRegistry.Test.Admin.Api.Fixtures.Scenarios.CommandHandling; +using Fixtures.Scenarios.CommandHandling; using Framework; using Vereniging; -using AutoFixture; using Xunit; using Xunit.Categories; [UnitTest] public class Given_A_Second_NietPrimair_Contactgegeven { - private readonly VerenigingRepositoryMock _verenigingRepositoryMock; private readonly VoegContactgegevenToeCommandHandler _commandHandler; private readonly Fixture _fixture; private readonly FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario _scenario; + private readonly VerenigingRepositoryMock _verenigingRepositoryMock; public Given_A_Second_NietPrimair_Contactgegeven() { @@ -39,15 +39,16 @@ public async Task Then_A_ContactgegevenWerdToegevoegd_Event_Is_Saved(string type var command = new VoegContactgegevenToeCommand( _scenario.VCode, Contactgegeven.CreateFromInitiator( - ContactgegevenType.Parse(type), + Contactgegeventype.Parse(type), waarde, _fixture.Create(), - false)); + isPrimair: false)); await _commandHandler.Handle(new CommandEnvelope(command, _fixture.Create())); _verenigingRepositoryMock.ShouldHaveSaved( - new ContactgegevenWerdToegevoegd(2, command.Contactgegeven.Type, command.Contactgegeven.Waarde, command.Contactgegeven.Beschrijving, false) + new ContactgegevenWerdToegevoegd(ContactgegevenId: 2, command.Contactgegeven.Contactgegeventype, command.Contactgegeven.Waarde, + command.Contactgegeven.Beschrijving, IsPrimair: false) ); } } diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Second_Primair_Contactgegeven_Of_The_Same_Type.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Second_Primair_Contactgegeven_Of_The_Same_Type.cs index dac5697d7..c8febc029 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Second_Primair_Contactgegeven_Of_The_Same_Type.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/CommandHandling/Given_A_Second_Primair_Contactgegeven_Of_The_Same_Type.cs @@ -2,13 +2,13 @@ using Acties.VoegContactgegevenToe; using AssociationRegistry.Framework; +using AutoFixture; using Fakes; -using AssociationRegistry.Test.Admin.Api.Fixtures.Scenarios.CommandHandling; +using Fixtures.Scenarios.CommandHandling; +using FluentAssertions; using Framework; using Vereniging; using Vereniging.Exceptions; -using AutoFixture; -using FluentAssertions; using Xunit; using Xunit.Categories; @@ -35,15 +35,16 @@ public async Task Then_A_MultiplePrimaryContactgegevens_Is_Thrown() var command = new VoegContactgegevenToeCommand( _scenario.VCode, Contactgegeven.Create( - ContactgegevenType.Labels.Email, - "test2@example.org", + Contactgegeventype.Labels.Email, + waarde: "test2@example.org", _fixture.Create(), - true)); + isPrimair: true)); - var handleCall = async () => await _commandHandler.Handle(new CommandEnvelope(command, _fixture.Create())); + var handleCall = async () + => await _commandHandler.Handle(new CommandEnvelope(command, _fixture.Create())); await handleCall.Should() - .ThrowAsync() - .WithMessage(new MeerderePrimaireContactgegevensZijnNietToegestaan(ContactgegevenType.Email.ToString()).Message); + .ThrowAsync() + .WithMessage(new MeerderePrimaireContactgegevensZijnNietToegestaan(Contactgegeventype.Email.ToString()).Message); } } diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/Given_A_FeitelijkeVereniging.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/Given_A_FeitelijkeVereniging.cs index 6309b108f..3eac93879 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/Given_A_FeitelijkeVereniging.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/Given_A_FeitelijkeVereniging.cs @@ -1,12 +1,12 @@ namespace AssociationRegistry.Test.Admin.Api.VerenigingOfAnyKind.When_Adding_Contactgegeven; -using System.Net; using Events; using Fixtures; using Fixtures.Scenarios.EventsInDb; -using Vereniging; using FluentAssertions; using Marten; +using System.Net; +using Vereniging; using Xunit; using Xunit.Categories; @@ -14,10 +14,6 @@ public class Post_A_New_Contactgegeven : IAsyncLifetime { private readonly EventsInDbScenariosFixture _fixture; private readonly string _jsonBody; - public V002_FeitelijkeVerenigingWerdGeregistreerd_WithMinimalFields Scenario { get; } - public IDocumentStore DocumentStore { get; } - public HttpResponseMessage Response { get; private set; } = null!; - public Post_A_New_Contactgegeven(EventsInDbScenariosFixture fixture) { @@ -26,18 +22,22 @@ public Post_A_New_Contactgegeven(EventsInDbScenariosFixture fixture) Scenario = fixture.V002FeitelijkeVerenigingWerdGeregistreerdWithMinimalFields; DocumentStore = _fixture.DocumentStore; - _jsonBody = $@"{{ + _jsonBody = @"{ ""contactgegeven"": - {{ + { ""type"":""e-mail"", ""waarde"": ""test@example.org"", ""beschrijving"": ""algemeen"", ""isPrimair"": false - }}, + }, ""initiator"": ""OVO000001"" - }}"; + }"; } + public V002_FeitelijkeVerenigingWerdGeregistreerd_WithMinimalFields Scenario { get; } + public IDocumentStore DocumentStore { get; } + public HttpResponseMessage Response { get; private set; } = null!; + public async Task InitializeAsync() { Response = await _fixture.AdminApiClient.PostContactgegevens(Scenario.VCode, _jsonBody); @@ -63,17 +63,19 @@ public Given_A_FeitelijkeVereniging(Post_A_New_Contactgegeven classFixture) public async Task Then_it_saves_the_events() { await using var session = _classFixture.DocumentStore.LightweightSession(); + var contactgegevenWerdToegevoegd = (await session.Events - .FetchStreamAsync(_classFixture.Scenario.VCode)).Single(e => e.Data.GetType() == typeof(ContactgegevenWerdToegevoegd)); + .FetchStreamAsync(_classFixture.Scenario.VCode)) + .Single(e => e.Data.GetType() == typeof(ContactgegevenWerdToegevoegd)); contactgegevenWerdToegevoegd.Data.Should() - .BeEquivalentTo( - new ContactgegevenWerdToegevoegd( - 1, - ContactgegevenType.Email, - "test@example.org", - "algemeen", - false)); + .BeEquivalentTo( + new ContactgegevenWerdToegevoegd( + ContactgegevenId: 1, + Contactgegeventype.Email, + Waarde: "test@example.org", + Beschrijving: "algemeen", + IsPrimair: false)); } [Fact] diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/Given_A_VerenigingMetRechtspersoonlijkheid.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/Given_A_VerenigingMetRechtspersoonlijkheid.cs index 8a0dddcc5..ce3e201d4 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/Given_A_VerenigingMetRechtspersoonlijkheid.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/Given_A_VerenigingMetRechtspersoonlijkheid.cs @@ -1,12 +1,12 @@ namespace AssociationRegistry.Test.Admin.Api.VerenigingOfAnyKind.When_Adding_Contactgegeven; -using System.Net; using Events; using Fixtures; using Fixtures.Scenarios.EventsInDb; -using Vereniging; using FluentAssertions; using Marten; +using System.Net; +using Vereniging; using Xunit; using Xunit.Categories; @@ -14,10 +14,6 @@ public class Post_A_New_Contactgegeven_To_VerenigingMetRechtspersoonlijkheid : I { private readonly EventsInDbScenariosFixture _fixture; private readonly string _jsonBody; - public V035_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_WithMinimalFields_ForAddingContactgegeven Scenario { get; } - public IDocumentStore DocumentStore { get; } - public HttpResponseMessage Response { get; private set; } = null!; - public Post_A_New_Contactgegeven_To_VerenigingMetRechtspersoonlijkheid(EventsInDbScenariosFixture fixture) { @@ -26,18 +22,22 @@ public Post_A_New_Contactgegeven_To_VerenigingMetRechtspersoonlijkheid(EventsInD Scenario = fixture.V035VerenigingMetRechtspersoonlijkheidWerdGeregistreerdWithMinimalFieldsForAddingContactgegeven; DocumentStore = _fixture.DocumentStore; - _jsonBody = $@"{{ + _jsonBody = @"{ ""contactgegeven"": - {{ + { ""type"":""e-mail"", ""waarde"": ""test@example.org"", ""beschrijving"": ""algemeen"", ""isPrimair"": false - }}, + }, ""initiator"": ""OVO000001"" - }}"; + }"; } + public V035_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_WithMinimalFields_ForAddingContactgegeven Scenario { get; } + public IDocumentStore DocumentStore { get; } + public HttpResponseMessage Response { get; private set; } = null!; + public async Task InitializeAsync() { Response = await _fixture.AdminApiClient.PostContactgegevens(Scenario.VCode, _jsonBody); @@ -63,18 +63,19 @@ public Given_A_VerenigingMetRechtspersoonlijkheid(Post_A_New_Contactgegeven_To_V public async Task Then_it_saves_the_events() { await using var session = _classFixture.DocumentStore.LightweightSession(); + var contactgegevenWerdToegevoegd = (await session.Events - .FetchStreamAsync(_classFixture.Scenario.VCode)) - .Single(e => e.Data.GetType() == typeof(ContactgegevenWerdToegevoegd)); + .FetchStreamAsync(_classFixture.Scenario.VCode)) + .Single(e => e.Data.GetType() == typeof(ContactgegevenWerdToegevoegd)); contactgegevenWerdToegevoegd.Data.Should() - .BeEquivalentTo( - new ContactgegevenWerdToegevoegd( - 1, - ContactgegevenType.Email, - "test@example.org", - "algemeen", - false)); + .BeEquivalentTo( + new ContactgegevenWerdToegevoegd( + ContactgegevenId: 1, + Contactgegeventype.Email, + Waarde: "test@example.org", + Beschrijving: "algemeen", + IsPrimair: false)); } [Fact] diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/RequestMapping/To_VoegContactgegevenToeCommand.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/RequestMapping/To_VoegContactgegevenToeCommand.cs index 66f8a3311..a8994a2b2 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/RequestMapping/To_VoegContactgegevenToeCommand.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/RequestMapping/To_VoegContactgegevenToeCommand.cs @@ -1,10 +1,10 @@ namespace AssociationRegistry.Test.Admin.Api.VerenigingOfAnyKind.When_Adding_Contactgegeven.RequestMapping; using AssociationRegistry.Admin.Api.Verenigingen.Contactgegevens.FeitelijkeVereniging.VoegContactGegevenToe.RequestsModels; -using Framework; -using Vereniging; using AutoFixture; using FluentAssertions; +using Framework; +using Vereniging; using Xunit; using Xunit.Categories; @@ -22,9 +22,8 @@ public void Then_We_Get_A_Correct_Command() var vCode = fixture.Create(); var command = request.ToCommand(vCode); - command.VCode.Should().Be(vCode); - command.Contactgegeven.Type.Should().Be(ContactgegevenType.Parse(request.Contactgegeven.Type)); + command.Contactgegeven.Contactgegeventype.Should().Be(Contactgegeventype.Parse(request.Contactgegeven.Type)); command.Contactgegeven.Waarde.Should().Be(request.Contactgegeven.Waarde); command.Contactgegeven.Beschrijving.Should().Be(request.Contactgegeven.Beschrijving); command.Contactgegeven.IsPrimair.Should().Be(request.Contactgegeven.IsPrimair); diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/RequestValidating/ContactGegeven/Type/Is_Valid.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/RequestValidating/ContactGegeven/Type/Is_Valid.cs index 1ad57950f..72df53127 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/RequestValidating/ContactGegeven/Type/Is_Valid.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Adding_Contactgegeven/RequestValidating/ContactGegeven/Type/Is_Valid.cs @@ -3,9 +3,9 @@ using AssociationRegistry.Admin.Api.Verenigingen.Common; using AssociationRegistry.Admin.Api.Verenigingen.Contactgegevens.FeitelijkeVereniging.VoegContactGegevenToe; using AssociationRegistry.Admin.Api.Verenigingen.Contactgegevens.FeitelijkeVereniging.VoegContactGegevenToe.RequestsModels; +using FluentValidation.TestHelper; using Framework; using Vereniging; -using FluentValidation.TestHelper; using Xunit; public class Is_Valid : ValidatorTest @@ -14,15 +14,17 @@ public class Is_Valid : ValidatorTest public void Has_no_validation_error() { var validator = new VoegContactgegevenToeValidator(); + var result = validator.TestValidate( new VoegContactgegevenToeRequest { Contactgegeven = new ToeTeVoegenContactgegeven - { - Type = ContactgegevenType.Email, - }, + { + Type = Contactgegeventype.Email, + }, }); - result.ShouldNotHaveValidationErrorFor(nameof(VoegContactgegevenToeRequest.Contactgegeven) + "." + nameof(ToeTeVoegenContactgegeven.Type)); + result.ShouldNotHaveValidationErrorFor(nameof(VoegContactgegevenToeRequest.Contactgegeven) + "." + + nameof(ToeTeVoegenContactgegeven.Type)); } } diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Wijzig_Contactgegeven/CommandHandling/Given_A_Contactgegeven.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Wijzig_Contactgegeven/CommandHandling/Given_A_Contactgegeven.cs index 173d80499..0240d1b33 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Wijzig_Contactgegeven/CommandHandling/Given_A_Contactgegeven.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Wijzig_Contactgegeven/CommandHandling/Given_A_Contactgegeven.cs @@ -1,14 +1,14 @@ namespace AssociationRegistry.Test.Admin.Api.VerenigingOfAnyKind.When_Wijzig_Contactgegeven.CommandHandling; using Acties.WijzigContactgegeven; -using Events; using AssociationRegistry.Framework; +using AutoFixture; +using Events; using Fakes; -using AssociationRegistry.Test.Admin.Api.Fixtures.Scenarios.CommandHandling; +using Fixtures.Scenarios.CommandHandling; using Framework; using Vereniging; using Vereniging.Emails; -using AutoFixture; using Xunit; using Xunit.Categories; @@ -45,8 +45,8 @@ public async Task Then_A_ContactgegevenWerdToegevoegd_Event_Is_Saved_With_The_Ne _verenigingRepositoryMock.ShouldHaveSaved( new ContactgegevenWerdGewijzigd( - ContactgegevenId: FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.ContactgegevenId, - ContactgegevenType.Email, + FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.ContactgegevenId, + Contactgegeventype.Email, command.Contactgegeven.Waarde!, command.Contactgegeven.Beschrijving ?? string.Empty, IsPrimair: false) diff --git a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Wijzig_Contactgegeven/CommandHandling/Given_Null_Values_Does_Not_Update_Anything.cs b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Wijzig_Contactgegeven/CommandHandling/Given_Null_Values_Does_Not_Update_Anything.cs index c2d4a3b6e..3fd6d17ec 100644 --- a/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Wijzig_Contactgegeven/CommandHandling/Given_Null_Values_Does_Not_Update_Anything.cs +++ b/test/AssociationRegistry.Test.Admin.Api/VerenigingOfAnyKind/When_Wijzig_Contactgegeven/CommandHandling/Given_Null_Values_Does_Not_Update_Anything.cs @@ -1,14 +1,14 @@ namespace AssociationRegistry.Test.Admin.Api.VerenigingOfAnyKind.When_Wijzig_Contactgegeven.CommandHandling; using Acties.WijzigContactgegeven; -using Events; using AssociationRegistry.Framework; +using AutoFixture; +using Events; using Fakes; -using AssociationRegistry.Test.Admin.Api.Fixtures.Scenarios.CommandHandling; +using Fixtures.Scenarios.CommandHandling; using Framework; using Vereniging; using Vereniging.Emails; -using AutoFixture; using Xunit; using Xunit.Categories; @@ -36,7 +36,7 @@ public async Task Then_It_Does_Not_Update_Anything() var command = new WijzigContactgegevenCommand( _scenario.VCode, new WijzigContactgegevenCommand.CommandContactgegeven( - ContacgegevenId: FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.ContactgegevenId, + FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.ContactgegevenId, Waarde: null, Beschrijving: null, IsPrimair: null)); @@ -71,8 +71,8 @@ public async Task Then_It_Does_Not_Update_Anything() var command = new WijzigContactgegevenCommand( _scenario.VCode, new WijzigContactgegevenCommand.CommandContactgegeven( - ContacgegevenId: FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.ContactgegevenId, - Waarde: _fixture.Create().Waarde, + FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.ContactgegevenId, + _fixture.Create().Waarde, Beschrijving: null, IsPrimair: true)); @@ -80,8 +80,8 @@ public async Task Then_It_Does_Not_Update_Anything() _verenigingRepositoryMock.ShouldHaveSaved( new ContactgegevenWerdGewijzigd( - ContactgegevenId: FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.ContactgegevenId, - ContactgegevenType.Email, + FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.ContactgegevenId, + Contactgegeventype.Email, command.Contactgegeven.Waarde!, FeitelijkeVerenigingWerdGeregistreerdWithAPrimairEmailContactgegevenScenario.Beschrijving, // <== this must stay the same IsPrimair: true) diff --git a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_AfdelingWerdGeregistreerd.cs b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_AfdelingWerdGeregistreerd.cs index 3d62024b5..1754be498 100644 --- a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_AfdelingWerdGeregistreerd.cs +++ b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_AfdelingWerdGeregistreerd.cs @@ -17,6 +17,7 @@ using Xunit.Categories; using Adres = AssociationRegistry.Admin.Schema.Detail.Adres; using AdresId = AssociationRegistry.Admin.Schema.Detail.AdresId; +using Doelgroep = AssociationRegistry.Admin.Schema.Detail.Doelgroep; [UnitTest] public class Given_AfdelingWerdGeregistreerd @@ -42,7 +43,7 @@ public void Then_it_creates_a_new_vereniging() KorteNaam = afdelingWerdGeregistreerd.Data.KorteNaam, KorteBeschrijving = afdelingWerdGeregistreerd.Data.KorteBeschrijving, Startdatum = afdelingWerdGeregistreerd.Data.Startdatum?.ToString(WellknownFormats.DateOnly), - Doelgroep = new AssociationRegistry.Admin.Schema.Detail.Doelgroep + Doelgroep = new Doelgroep { Minimumleeftijd = afdelingWerdGeregistreerd.Data.Doelgroep.Minimumleeftijd, Maximumleeftijd = afdelingWerdGeregistreerd.Data.Doelgroep.Maximumleeftijd, @@ -53,7 +54,7 @@ public void Then_it_creates_a_new_vereniging() c => new BeheerVerenigingDetailDocument.Contactgegeven { ContactgegevenId = c.ContactgegevenId, - Type = c.Type.ToString(), + Contactgegeventype = c.Type.ToString(), Waarde = c.Waarde, Beschrijving = c.Beschrijving, IsPrimair = c.IsPrimair, @@ -126,6 +127,7 @@ public void Then_it_creates_a_new_vereniging() Bron = Bron.Initiator, Metadata = new Metadata(afdelingWerdGeregistreerd.Sequence, afdelingWerdGeregistreerd.Version), }); + doc.DatumLaatsteAanpassing.Should().Be(afdelingWerdGeregistreerd.Tijdstip.ToBelgianDate()); doc.Metadata.Should().BeEquivalentTo(new Metadata(afdelingWerdGeregistreerd.Sequence, afdelingWerdGeregistreerd.Version)); } diff --git a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenVolgensKBOWerdGewijzigd.cs b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenVolgensKBOWerdGewijzigd.cs index 53b6fa217..71ee0e9cf 100644 --- a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenVolgensKBOWerdGewijzigd.cs +++ b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenVolgensKBOWerdGewijzigd.cs @@ -39,7 +39,7 @@ public void Then_it_updates_the_contactgegeven() ContactgegevenId = contactgegevenWerdToegevoegd.Data.ContactgegevenId, Beschrijving = contactgegevenWerdGewijzigd.Data.Beschrijving, IsPrimair = contactgegevenWerdGewijzigd.Data.IsPrimair, - Type = contactgegevenWerdToegevoegd.Data.Type, + Contactgegeventype = contactgegevenWerdToegevoegd.Data.Type, Waarde = contactgegevenWerdToegevoegd.Data.Waarde, Bron = Bron.KBO, }); diff --git a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdGewijzigd.cs b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdGewijzigd.cs index edf5cda3a..b5b303cfd 100644 --- a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdGewijzigd.cs +++ b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdGewijzigd.cs @@ -19,12 +19,13 @@ public void Then_it_modifies_the_contactgegeven() var contactgegevenWerdGewijzigd = fixture.Create>(); var doc = fixture.Create(); + doc.Contactgegevens = new[] { new BeheerVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdGewijzigd.Data.ContactgegevenId, - Type = contactgegevenWerdGewijzigd.Data.Type, + Contactgegeventype = contactgegevenWerdGewijzigd.Data.Type, Waarde = fixture.Create(), Beschrijving = fixture.Create(), IsPrimair = true, @@ -39,12 +40,13 @@ public void Then_it_modifies_the_contactgegeven() new BeheerVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdGewijzigd.Data.ContactgegevenId, - Type = contactgegevenWerdGewijzigd.Data.Type, + Contactgegeventype = contactgegevenWerdGewijzigd.Data.Type, Waarde = contactgegevenWerdGewijzigd.Data.Waarde, Beschrijving = contactgegevenWerdGewijzigd.Data.Beschrijving, IsPrimair = contactgegevenWerdGewijzigd.Data.IsPrimair, }, }); + doc.Contactgegevens.Should().BeInAscendingOrder(c => c.ContactgegevenId); } } diff --git a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdOvergenomenUitKBO.cs b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdOvergenomenUitKBO.cs index 91d7e29a6..1fe215ca8 100644 --- a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdOvergenomenUitKBO.cs +++ b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdOvergenomenUitKBO.cs @@ -27,7 +27,7 @@ public void Then_it_adds_the_contactgegeven_to_the_detail() { ContactgegevenId = contactgegevenWerdToegevoegd.Data.ContactgegevenId, Beschrijving = string.Empty, - Type = contactgegevenWerdToegevoegd.Data.Type, + Contactgegeventype = contactgegevenWerdToegevoegd.Data.Type, Waarde = contactgegevenWerdToegevoegd.Data.Waarde, Bron = Bron.KBO, }); diff --git a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdToegevoegd.cs b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdToegevoegd.cs index 191d8c16a..18b6072fb 100644 --- a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdToegevoegd.cs +++ b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdToegevoegd.cs @@ -26,12 +26,13 @@ public void Then_it_adds_the_contactgegeven_to_the_detail() new BeheerVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdToegevoegd.Data.ContactgegevenId, - Type = contactgegevenWerdToegevoegd.Data.Type, + Contactgegeventype = contactgegevenWerdToegevoegd.Data.Type, Waarde = contactgegevenWerdToegevoegd.Data.Waarde, Beschrijving = contactgegevenWerdToegevoegd.Data.Beschrijving, IsPrimair = contactgegevenWerdToegevoegd.Data.IsPrimair, Bron = Bron.Initiator, }); + doc.Contactgegevens.Should().BeInAscendingOrder(c => c.ContactgegevenId); } } diff --git a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdVerwijderd.cs b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdVerwijderd.cs index d66d50f42..a38381468 100644 --- a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdVerwijderd.cs +++ b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdVerwijderd.cs @@ -20,11 +20,12 @@ public void Then_it_removes_the_contactgegeven() var contactgegevenWerdVerwijderd = fixture.Create>(); var doc = fixture.Create(); + doc.Contactgegevens = doc.Contactgegevens.Append( new BeheerVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdVerwijderd.Data.ContactgegevenId, - Type = fixture.Create(), + Contactgegeventype = fixture.Create(), Waarde = fixture.Create(), Beschrijving = fixture.Create(), IsPrimair = true, @@ -37,12 +38,13 @@ public void Then_it_removes_the_contactgegeven() new BeheerVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdVerwijderd.Data.ContactgegevenId, - Type = contactgegevenWerdVerwijderd.Data.Type, + Contactgegeventype = contactgegevenWerdVerwijderd.Data.Type, Waarde = contactgegevenWerdVerwijderd.Data.Waarde, Beschrijving = contactgegevenWerdVerwijderd.Data.Beschrijving, IsPrimair = contactgegevenWerdVerwijderd.Data.IsPrimair, Bron = Bron.Initiator, }); + doc.Contactgegevens.Should().BeInAscendingOrder(c => c.ContactgegevenId); } } diff --git a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_FeitelijkeVerenigingWerdGeregistreerd.cs b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_FeitelijkeVerenigingWerdGeregistreerd.cs index 92f1755e8..b501a2193 100644 --- a/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_FeitelijkeVerenigingWerdGeregistreerd.cs +++ b/test/AssociationRegistry.Test.Admin.Api/When_Retrieving_Detail/Projecting/Given_FeitelijkeVerenigingWerdGeregistreerd.cs @@ -17,6 +17,7 @@ using Xunit.Categories; using Adres = AssociationRegistry.Admin.Schema.Detail.Adres; using AdresId = AssociationRegistry.Admin.Schema.Detail.AdresId; +using Doelgroep = AssociationRegistry.Admin.Schema.Detail.Doelgroep; [UnitTest] public class Given_FeitelijkeVerenigingWerdGeregistreerd @@ -42,7 +43,7 @@ public void Then_it_creates_a_new_vereniging() KorteNaam = feitelijkeVerenigingWerdGeregistreerd.Data.KorteNaam, KorteBeschrijving = feitelijkeVerenigingWerdGeregistreerd.Data.KorteBeschrijving, Startdatum = feitelijkeVerenigingWerdGeregistreerd.Data.Startdatum?.ToString(WellknownFormats.DateOnly), - Doelgroep = new AssociationRegistry.Admin.Schema.Detail.Doelgroep + Doelgroep = new Doelgroep { Minimumleeftijd = feitelijkeVerenigingWerdGeregistreerd.Data.Doelgroep.Minimumleeftijd, Maximumleeftijd = feitelijkeVerenigingWerdGeregistreerd.Data.Doelgroep.Maximumleeftijd, @@ -53,7 +54,7 @@ public void Then_it_creates_a_new_vereniging() c => new BeheerVerenigingDetailDocument.Contactgegeven { ContactgegevenId = c.ContactgegevenId, - Type = c.Type.ToString(), + Contactgegeventype = c.Type.ToString(), Waarde = c.Waarde, Beschrijving = c.Beschrijving, IsPrimair = c.IsPrimair, diff --git a/test/AssociationRegistry.Test.Admin.Api/templates/DetailVerenigingResponse.json b/test/AssociationRegistry.Test.Admin.Api/templates/DetailVerenigingResponse.json index 3f2a45915..bcb869968 100644 --- a/test/AssociationRegistry.Test.Admin.Api/templates/DetailVerenigingResponse.json +++ b/test/AssociationRegistry.Test.Admin.Api/templates/DetailVerenigingResponse.json @@ -30,7 +30,7 @@ {{for contactgegeven in vereniging.contactgegevens}} { "contactgegevenId": {{contactgegeven.id}}, - "type": "{{contactgegeven.type}}", + "contactgegeventype": "{{contactgegeven.contactgegeventype}}", "waarde": "{{contactgegeven.waarde}}", "beschrijving": "{{contactgegeven.beschrijving}}", "isPrimair": {{contactgegeven.isprimair}}, diff --git a/test/AssociationRegistry.Test.Admin.Api/templates/DetailVerenigingResponseTemplate.cs b/test/AssociationRegistry.Test.Admin.Api/templates/DetailVerenigingResponseTemplate.cs index 556932932..5423fa7a5 100644 --- a/test/AssociationRegistry.Test.Admin.Api/templates/DetailVerenigingResponseTemplate.cs +++ b/test/AssociationRegistry.Test.Admin.Api/templates/DetailVerenigingResponseTemplate.cs @@ -5,17 +5,17 @@ using AssociationRegistry.Admin.Schema.Constants; using Events; using Formatters; -using AssociationRegistry.Test.Framework; -using Vereniging; using NodaTime; using Scriban; using System.Dynamic; +using Test.Framework; +using Vereniging; using Vereniging.Bronnen; public class DetailVerenigingResponseTemplate { - private dynamic _vereniging; private object _datumLaatsteAanpassing; + private readonly dynamic _vereniging; public DetailVerenigingResponseTemplate() { @@ -300,17 +300,25 @@ public DetailVerenigingResponseTemplate FromEvent(FeitelijkeVerenigingWerdGeregi .WithBron(e.Bron); foreach (var h in e.HoofdactiviteitenVerenigingsloket) + { WithHoofdactiviteit(h.Code, h.Beschrijving); + } foreach (var c in e.Contactgegevens) + { WithContactgegeven(c.ContactgegevenId, Bron.Initiator, c.Type, c.Waarde, c.Beschrijving, c.IsPrimair); + } foreach (var l in e.Locaties) + { WithLocatie(l, e.Bron); + } foreach (var v in e.Vertegenwoordigers) + { WithVertegenwoordiger(v.VertegenwoordigerId, v.Voornaam, v.Achternaam, v.Roepnaam, v.Rol, v.Insz, v.Email, v.Telefoon, v.Mobiel, v.SocialMedia, v.IsPrimair, e.Bron); + } return this; } @@ -361,13 +369,19 @@ public DetailVerenigingResponseTemplate FromEvent(AfdelingWerdGeregistreerd e) .WithBron(e.Bron); foreach (var h in e.HoofdactiviteitenVerenigingsloket) + { template.WithHoofdactiviteit(h.Code, h.Beschrijving); + } foreach (var c in e.Contactgegevens) + { template.WithContactgegeven(c.ContactgegevenId, Bron.Initiator, c.Type, c.Waarde, c.Beschrijving, c.IsPrimair); + } foreach (var l in e.Locaties) + { WithLocatie(l, e.Bron); + } return template; } @@ -426,7 +440,7 @@ private DetailVerenigingResponseTemplate WithLocatie(Registratiedata.Locatie l, public DetailVerenigingResponseTemplate WithContactgegeven( int id, Bron bron, - string type, + string contactgegeventype, string waarde, string beschrijving = "", bool isPrimair = false) @@ -434,7 +448,7 @@ public DetailVerenigingResponseTemplate WithContactgegeven( _vereniging.contactgegevens.Add(new { id = id, - type = type, + contactgegeventype = contactgegeventype, waarde = waarde, beschrijving = beschrijving, isprimair = isPrimair, diff --git a/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V001_FeitelijkeVerenigingWerdGeregistreerdScenario.cs b/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V001_FeitelijkeVerenigingWerdGeregistreerdScenario.cs index 9d2bac05d..650134d23 100644 --- a/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V001_FeitelijkeVerenigingWerdGeregistreerdScenario.cs +++ b/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V001_FeitelijkeVerenigingWerdGeregistreerdScenario.cs @@ -1,87 +1,87 @@ namespace AssociationRegistry.Test.Public.Api.Fixtures.GivenEvents.Scenarios; -using Events; using AssociationRegistry.Framework; -using Vereniging; +using Events; using NodaTime; +using Vereniging; public class V001_FeitelijkeVerenigingWerdGeregistreerdScenario : IScenario { public readonly FeitelijkeVerenigingWerdGeregistreerd FeitelijkeVerenigingWerdGeregistreerd = new( - "V0001001", - "Feestcommittee Oudenaarde", - "FOud", - "Het feestcommittee van Oudenaarde", + VCode: "V0001001", + Naam: "Feestcommittee Oudenaarde", + KorteNaam: "FOud", + KorteBeschrijving: "Het feestcommittee van Oudenaarde", DateOnly.FromDateTime(new DateTime(year: 2022, month: 11, day: 9)), - new Registratiedata.Doelgroep(20, 71), - false, + new Registratiedata.Doelgroep(Minimumleeftijd: 20, Maximumleeftijd: 71), + IsUitgeschrevenUitPubliekeDatastroom: false, new[] { new Registratiedata.Contactgegeven( ContactgegevenId: 1, - ContactgegevenType.Email, - "info@FOud.be", - "Algemeen", + Contactgegeventype.Email, + Waarde: "info@FOud.be", + Beschrijving: "Algemeen", IsPrimair: true), }, new[] { new( - 1, - "Correspondentie", + LocatieId: 1, + Locatietype: "Correspondentie", IsPrimair: true, Naam: "Correspondentie", - Adres: new Registratiedata.Adres( - "Stationsstraat", - "1", - "B", - "1790", - "Affligem", - "België"), - AdresId: new Registratiedata.AdresId( + new Registratiedata.Adres( + Straatnaam: "Stationsstraat", + Huisnummer: "1", + Busnummer: "B", + Postcode: "1790", + Gemeente: "Affligem", + Land: "België"), + new Registratiedata.AdresId( Adresbron.AR, - "https://data.vlaanderen.be/id/adres/0")), + Bronwaarde: "https://data.vlaanderen.be/id/adres/0")), new( - 2, - "Activiteiten", + LocatieId: 2, + Locatietype: "Activiteiten", IsPrimair: false, Naam: "Activiteiten", Adres: null, - AdresId: new Registratiedata.AdresId( + new Registratiedata.AdresId( Adresbron.AR, - "https://data.vlaanderen.be/id/adres/0")), + Bronwaarde: "https://data.vlaanderen.be/id/adres/0")), new Registratiedata.Locatie( - 3, - "Activiteiten", + LocatieId: 3, + Locatietype: "Activiteiten", IsPrimair: false, Naam: "Activiteiten", - Adres: new Registratiedata.Adres( - "Dorpstraat", - "1", - "B", - "1790", - "Affligem", - "België"), + new Registratiedata.Adres( + Straatnaam: "Dorpstraat", + Huisnummer: "1", + Busnummer: "B", + Postcode: "1790", + Gemeente: "Affligem", + Land: "België"), AdresId: null), }, new[] { new Registratiedata.Vertegenwoordiger( VertegenwoordigerId: 1, - "01234567890", + Insz: "01234567890", IsPrimair: true, - "father", - "Leader", - "Odin", - "Allfather", - "asgard@world.tree", - "", - "", - ""), + Roepnaam: "father", + Rol: "Leader", + Voornaam: "Odin", + Achternaam: "Allfather", + Email: "asgard@world.tree", + Telefoon: "", + Mobiel: "", + SocialMedia: ""), }, new Registratiedata.HoofdactiviteitVerenigingsloket[] { - new("BLA", "Buitengewoon Leuke Afkortingen"), + new(Code: "BLA", Beschrijving: "Buitengewoon Leuke Afkortingen"), }); public VCode VCode @@ -96,5 +96,5 @@ public IEvent[] GetEvents() } public CommandMetadata GetCommandMetadata() - => new("OVO000001", new Instant(), Guid.NewGuid()); + => new(Initiator: "OVO000001", new Instant(), Guid.NewGuid()); } diff --git a/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V005_ContactgegevenWerdToegevoegdScenario.cs b/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V005_ContactgegevenWerdToegevoegdScenario.cs index 987a26ffb..a49cf5cb0 100644 --- a/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V005_ContactgegevenWerdToegevoegdScenario.cs +++ b/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V005_ContactgegevenWerdToegevoegdScenario.cs @@ -1,22 +1,24 @@ namespace AssociationRegistry.Test.Public.Api.Fixtures.GivenEvents.Scenarios; -using Events; using AssociationRegistry.Framework; -using Vereniging; +using Events; using NodaTime.Extensions; +using Vereniging; public class V005_ContactgegevenWerdToegevoegdScenario : IScenario { - public readonly ContactgegevenWerdToegevoegd ContactgegevenWerdToegevoegd = new(ContactgegevenId: 1, ContactgegevenType.Email, "test@example.org", "de email om naar te sturen", IsPrimair: false); + public readonly ContactgegevenWerdToegevoegd ContactgegevenWerdToegevoegd = + new(ContactgegevenId: 1, Contactgegeventype.Email, Waarde: "test@example.org", Beschrijving: "de email om naar te sturen", + IsPrimair: false); public readonly FeitelijkeVerenigingWerdGeregistreerd FeitelijkeVerenigingWerdGeregistreerd = new( - "V0001005", - "Feesten Hulste", + VCode: "V0001005", + Naam: "Feesten Hulste", string.Empty, string.Empty, Startdatum: null, Registratiedata.Doelgroep.With(Doelgroep.Null), - false, + IsUitgeschrevenUitPubliekeDatastroom: false, Array.Empty(), Array.Empty(), Array.Empty(), @@ -35,5 +37,7 @@ public IEvent[] GetEvents() } public CommandMetadata GetCommandMetadata() - => new("OVO000001", new DateTimeOffset(year: 2023, month: 01, day: 25, hour: 0, minute: 0, second: 0, TimeSpan.Zero).ToInstant(), Guid.NewGuid()); + => new(Initiator: "OVO000001", + new DateTimeOffset(year: 2023, month: 01, day: 25, hour: 0, minute: 0, second: 0, TimeSpan.Zero).ToInstant(), + Guid.NewGuid()); } diff --git a/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V007_AfdelingWerdGeregistreerdScenario.cs b/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V007_AfdelingWerdGeregistreerdScenario.cs index ba7b91e87..7b74f2c7d 100644 --- a/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V007_AfdelingWerdGeregistreerdScenario.cs +++ b/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V007_AfdelingWerdGeregistreerdScenario.cs @@ -1,67 +1,67 @@ namespace AssociationRegistry.Test.Public.Api.Fixtures.GivenEvents.Scenarios; -using Events; using AssociationRegistry.Framework; -using Vereniging; +using Events; using NodaTime; +using Vereniging; public class V007_AfdelingWerdGeregistreerdScenario : IScenario { - public VCode VCode - => VCode.Create(AfdelingWerdGeregistreerd.VCode); - public readonly AfdelingWerdGeregistreerd AfdelingWerdGeregistreerd = new( - "V0001007", - "Antwerpse Bijscholing Clickers", - new AfdelingWerdGeregistreerd.MoederverenigingsData("0123456789", string.Empty, "Moeder 0123456789"), - "ABC", - "balpenverzamelaars van antwerpse bijscholingen", + VCode: "V0001007", + Naam: "Antwerpse Bijscholing Clickers", + new AfdelingWerdGeregistreerd.MoederverenigingsData(KboNummer: "0123456789", string.Empty, Naam: "Moeder 0123456789"), + KorteNaam: "ABC", + KorteBeschrijving: "balpenverzamelaars van antwerpse bijscholingen", DateOnly.FromDateTime(new DateTime(year: 2022, month: 11, day: 9)), Registratiedata.Doelgroep.With(Doelgroep.Null), new[] { - (Registratiedata.Contactgegeven)new( + new Registratiedata.Contactgegeven( ContactgegevenId: 1, - ContactgegevenType.Email, - "info@FOud.be", - "Algemeen", + Contactgegeventype.Email, + Waarde: "info@FOud.be", + Beschrijving: "Algemeen", IsPrimair: true), }, new[] { - (Registratiedata.Locatie)new( - 1, - "Correspondentie", + new Registratiedata.Locatie( + LocatieId: 1, + Locatietype: "Correspondentie", IsPrimair: true, Naam: "Correspondentie", - Adres: new Registratiedata.Adres("berglaan", - "12", - "B", - "2000", - "Antwerpen", - "België"), - null), + new Registratiedata.Adres(Straatnaam: "berglaan", + Huisnummer: "12", + Busnummer: "B", + Postcode: "2000", + Gemeente: "Antwerpen", + Land: "België"), + AdresId: null), }, new[] { - (Registratiedata.Vertegenwoordiger)new( + (Registratiedata.Vertegenwoordiger)new Registratiedata.Vertegenwoordiger( VertegenwoordigerId: 1, - "01234567890", + Insz: "01234567890", IsPrimair: true, - "father", - "Leader", - "Odin", - "Allfather", - "asgard@world.tree", - "", - "", - ""), + Roepnaam: "father", + Rol: "Leader", + Voornaam: "Odin", + Achternaam: "Allfather", + Email: "asgard@world.tree", + Telefoon: "", + Mobiel: "", + SocialMedia: ""), }, new Registratiedata.HoofdactiviteitVerenigingsloket[] { - new("BLA", "Buitengewoon Leuke Afkortingen"), + new(Code: "BLA", Beschrijving: "Buitengewoon Leuke Afkortingen"), }); + public VCode VCode + => VCode.Create(AfdelingWerdGeregistreerd.VCode); + public IEvent[] GetEvents() { return new IEvent[] @@ -71,5 +71,5 @@ public IEvent[] GetEvents() } public CommandMetadata GetCommandMetadata() - => new("OVO000001", new Instant(), Guid.NewGuid()); + => new(Initiator: "OVO000001", new Instant(), Guid.NewGuid()); } diff --git a/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V014_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data_Scenario.cs b/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V014_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data_Scenario.cs index 79b10cadf..db40c3973 100644 --- a/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V014_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data_Scenario.cs +++ b/test/AssociationRegistry.Test.Public.Api/Fixtures/GivenEvents/Scenarios/V014_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data_Scenario.cs @@ -7,43 +7,45 @@ public class V014_VerenigingMetRechtspersoonlijkheidWerdGeregistreerd_With_All_Data_Scenario : IScenario { - public readonly VerenigingMetRechtspersoonlijkheidWerdGeregistreerd VerenigingMetRechtspersoonlijkheidWerdGeregistreerd = new( - "V0001014", - "0987654321", - "VZW", - "Feesten Affligem", - string.Empty, - null); + public readonly ContactgegevenUitKBOWerdGewijzigd EmailWerdGewijzigd = + new(ContactgegevenId: 1, Beschrijving: "TestEmail", IsPrimair: true); + + public readonly ContactgegevenWerdOvergenomenUitKBO EmailWerdOvergenomenUitKBO = + new(ContactgegevenId: 1, Contactgegeventype.Email.Waarde, ContactgegeventypeVolgensKbo.Email, Waarde: "email@testdata.com"); + + public readonly ContactgegevenWerdOvergenomenUitKBO GSMWerdOvergenomenUitKBO = + new(ContactgegevenId: 4, Contactgegeventype.Telefoon.Waarde, ContactgegeventypeVolgensKbo.GSM, Waarde: "0987654321"); public readonly MaatschappelijkeZetelWerdOvergenomenUitKbo MaatschappelijkeZetelWerdOvergenomenUitKbo = new( Locatie: new Registratiedata.Locatie( - 1, + LocatieId: 1, Locatietype.MaatschappelijkeZetelVolgensKbo, - false, + IsPrimair: false, string.Empty, new Registratiedata.Adres( - "Stationsstraat", - "1", - "B", - "1790", - "Affligem", - "België"), - null + Straatnaam: "Stationsstraat", + Huisnummer: "1", + Busnummer: "B", + Postcode: "1790", + Gemeente: "Affligem", + Land: "België"), + AdresId: null )); - public readonly ContactgegevenWerdOvergenomenUitKBO EmailWerdOvergenomenUitKBO = - new(1, ContactgegevenType.Email.Waarde, ContactgegevenTypeVolgensKbo.Email, "email@testdata.com"); - - public readonly ContactgegevenWerdOvergenomenUitKBO WebsiteWerdOvergenomenUitKBO = - new(2, ContactgegevenType.Website.Waarde, ContactgegevenTypeVolgensKbo.Website, "https://www.testdata.com"); - public readonly ContactgegevenWerdOvergenomenUitKBO TelefoonWerdOvergenomenUitKBO = - new(3, ContactgegevenType.Telefoon.Waarde, ContactgegevenTypeVolgensKbo.Telefoon, "0123456789"); + new(ContactgegevenId: 3, Contactgegeventype.Telefoon.Waarde, ContactgegeventypeVolgensKbo.Telefoon, Waarde: "0123456789"); - public readonly ContactgegevenWerdOvergenomenUitKBO GSMWerdOvergenomenUitKBO = - new(4, ContactgegevenType.Telefoon.Waarde, ContactgegevenTypeVolgensKbo.GSM, "0987654321"); + public readonly VerenigingMetRechtspersoonlijkheidWerdGeregistreerd VerenigingMetRechtspersoonlijkheidWerdGeregistreerd = new( + VCode: "V0001014", + KboNummer: "0987654321", + Rechtsvorm: "VZW", + Naam: "Feesten Affligem", + string.Empty, + Startdatum: null); - public readonly ContactgegevenUitKBOWerdGewijzigd EmailWerdGewijzigd = new(1, "TestEmail", true); + public readonly ContactgegevenWerdOvergenomenUitKBO WebsiteWerdOvergenomenUitKBO = + new(ContactgegevenId: 2, Contactgegeventype.Website.Waarde, ContactgegeventypeVolgensKbo.Website, + Waarde: "https://www.testdata.com"); public VCode VCode => VCode.Create(VerenigingMetRechtspersoonlijkheidWerdGeregistreerd.VCode); @@ -63,6 +65,7 @@ public IEvent[] GetEvents() } public CommandMetadata GetCommandMetadata() - => new("OVO000001", new DateTimeOffset(year: 2023, month: 01, day: 25, hour: 0, minute: 0, second: 0, TimeSpan.Zero).ToInstant(), + => new(Initiator: "OVO000001", + new DateTimeOffset(year: 2023, month: 01, day: 25, hour: 0, minute: 0, second: 0, TimeSpan.Zero).ToInstant(), Guid.NewGuid()); } diff --git a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_AfdelingWerdGeregistreerd.cs b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_AfdelingWerdGeregistreerd.cs index d9a1673e1..c4a40e32f 100644 --- a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_AfdelingWerdGeregistreerd.cs +++ b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_AfdelingWerdGeregistreerd.cs @@ -13,6 +13,7 @@ using Vereniging; using Xunit; using Xunit.Categories; +using Doelgroep = AssociationRegistry.Public.Schema.Detail.Doelgroep; [UnitTest] public class Given_AfdelingWerdGeregistreerd @@ -39,7 +40,7 @@ public void Then_it_creates_a_new_vereniging() KorteBeschrijving = afdelingWerdGeregistreerd.Data.KorteBeschrijving, IsUitgeschrevenUitPubliekeDatastroom = false, Startdatum = afdelingWerdGeregistreerd.Data.Startdatum, - Doelgroep = new AssociationRegistry.Public.Schema.Detail.Doelgroep + Doelgroep = new Doelgroep { Minimumleeftijd = afdelingWerdGeregistreerd.Data.Doelgroep.Minimumleeftijd, Maximumleeftijd = afdelingWerdGeregistreerd.Data.Doelgroep.Maximumleeftijd, @@ -50,7 +51,7 @@ public void Then_it_creates_a_new_vereniging() c => new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = c.ContactgegevenId, - Type = c.Type.ToString(), + Contactgegeventype = c.Type.ToString(), Waarde = c.Waarde, Beschrijving = c.Beschrijving, IsPrimair = c.IsPrimair, diff --git a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenVolgensKBOWerdGewijzigd.cs b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenVolgensKBOWerdGewijzigd.cs index b80809705..cb198c905 100644 --- a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenVolgensKBOWerdGewijzigd.cs +++ b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenVolgensKBOWerdGewijzigd.cs @@ -1,6 +1,5 @@ namespace AssociationRegistry.Test.Public.Api.When_Retrieving_Detail.Projecting; -using AssociationRegistry.Public.ProjectionHost.Infrastructure.Extensions; using AssociationRegistry.Public.ProjectionHost.Projections.Detail; using AssociationRegistry.Public.Schema.Detail; using AutoFixture; @@ -42,7 +41,7 @@ public void Then_it_updates_the_contactgegeven() new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdOvergenomenUitKbo.Data.ContactgegevenId, - Type = contactgegevenWerdOvergenomenUitKbo.Data.Type, + Contactgegeventype = contactgegevenWerdOvergenomenUitKbo.Data.Type, Waarde = contactgegevenWerdOvergenomenUitKbo.Data.Waarde, Beschrijving = contactgegevenUitKboWerdGewijzigd.Data.Beschrijving, IsPrimair = contactgegevenUitKboWerdGewijzigd.Data.IsPrimair, diff --git a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdGewijzigd.cs b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdGewijzigd.cs index f3820afe4..7db620ea1 100644 --- a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdGewijzigd.cs +++ b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdGewijzigd.cs @@ -1,10 +1,9 @@ namespace AssociationRegistry.Test.Public.Api.When_Retrieving_Detail.Projecting; -using AssociationRegistry.Public.ProjectionHost.Infrastructure.Extensions; using AssociationRegistry.Public.ProjectionHost.Projections.Detail; -using Events; using AssociationRegistry.Public.Schema.Detail; using AutoFixture; +using Events; using FluentAssertions; using Framework; using Xunit; @@ -20,11 +19,12 @@ public void Then_it_modifies_the_contactgegeven() var contactgegevenWerdGewijzigd = fixture.Create>(); var doc = fixture.Create(); + doc.Contactgegevens = doc.Contactgegevens.Append( new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdGewijzigd.Data.ContactgegevenId, - Type = contactgegevenWerdGewijzigd.Data.Type, + Contactgegeventype = contactgegevenWerdGewijzigd.Data.Type, Waarde = fixture.Create(), Beschrijving = fixture.Create(), IsPrimair = fixture.Create(), @@ -33,16 +33,17 @@ public void Then_it_modifies_the_contactgegeven() PubliekVerenigingDetailProjector.Apply(contactgegevenWerdGewijzigd, doc); doc.Contactgegevens.Should() - .ContainSingle(c => c.ContactgegevenId == contactgegevenWerdGewijzigd.Data.ContactgegevenId) - .Which.Should().BeEquivalentTo( + .ContainSingle(c => c.ContactgegevenId == contactgegevenWerdGewijzigd.Data.ContactgegevenId) + .Which.Should().BeEquivalentTo( new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdGewijzigd.Data.ContactgegevenId, - Type = contactgegevenWerdGewijzigd.Data.Type, + Contactgegeventype = contactgegevenWerdGewijzigd.Data.Type, Waarde = contactgegevenWerdGewijzigd.Data.Waarde, Beschrijving = contactgegevenWerdGewijzigd.Data.Beschrijving, IsPrimair = contactgegevenWerdGewijzigd.Data.IsPrimair, }); + doc.Contactgegevens.Should().BeInAscendingOrder(c => c.ContactgegevenId); } } diff --git a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdOvergenomenUitKBO.cs b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdOvergenomenUitKBO.cs index 3988474f0..ec4d8b97c 100644 --- a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdOvergenomenUitKBO.cs +++ b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdOvergenomenUitKBO.cs @@ -1,6 +1,5 @@ namespace AssociationRegistry.Test.Public.Api.When_Retrieving_Detail.Projecting; -using AssociationRegistry.Public.ProjectionHost.Infrastructure.Extensions; using AssociationRegistry.Public.ProjectionHost.Projections.Detail; using AssociationRegistry.Public.Schema.Detail; using AutoFixture; @@ -29,7 +28,7 @@ public void Then_it_adds_the_contactgegeven_to_the_detail() new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdOvergenomenUitKbo.Data.ContactgegevenId, - Type = contactgegevenWerdOvergenomenUitKbo.Data.Type, + Contactgegeventype = contactgegevenWerdOvergenomenUitKbo.Data.Type, Waarde = contactgegevenWerdOvergenomenUitKbo.Data.Waarde, Beschrijving = "", IsPrimair = false, diff --git a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdToegevoegd.cs b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdToegevoegd.cs index 32f3447dd..13757ee8e 100644 --- a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdToegevoegd.cs +++ b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdToegevoegd.cs @@ -1,10 +1,9 @@ namespace AssociationRegistry.Test.Public.Api.When_Retrieving_Detail.Projecting; -using AssociationRegistry.Public.ProjectionHost.Infrastructure.Extensions; using AssociationRegistry.Public.ProjectionHost.Projections.Detail; -using Events; using AssociationRegistry.Public.Schema.Detail; using AutoFixture; +using Events; using FluentAssertions; using Framework; using Xunit; @@ -24,16 +23,17 @@ public void Then_it_adds_the_contactgegeven_to_the_detail() PubliekVerenigingDetailProjector.Apply(contactgegevenWerdToegevoegd, doc); doc.Contactgegevens.Should() - .ContainSingle(c => c.ContactgegevenId == contactgegevenWerdToegevoegd.Data.ContactgegevenId) - .Which.Should().BeEquivalentTo( + .ContainSingle(c => c.ContactgegevenId == contactgegevenWerdToegevoegd.Data.ContactgegevenId) + .Which.Should().BeEquivalentTo( new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdToegevoegd.Data.ContactgegevenId, - Type = contactgegevenWerdToegevoegd.Data.Type, + Contactgegeventype = contactgegevenWerdToegevoegd.Data.Type, Waarde = contactgegevenWerdToegevoegd.Data.Waarde, Beschrijving = contactgegevenWerdToegevoegd.Data.Beschrijving, IsPrimair = contactgegevenWerdToegevoegd.Data.IsPrimair, }); + doc.Contactgegevens.Should().BeInAscendingOrder(c => c.ContactgegevenId); } } diff --git a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdVerwijderd.cs b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdVerwijderd.cs index 63acc9007..f72d4724f 100644 --- a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdVerwijderd.cs +++ b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_ContactgegevenWerdVerwijderd.cs @@ -1,10 +1,9 @@ namespace AssociationRegistry.Test.Public.Api.When_Retrieving_Detail.Projecting; -using AssociationRegistry.Public.ProjectionHost.Infrastructure.Extensions; using AssociationRegistry.Public.ProjectionHost.Projections.Detail; -using Events; using AssociationRegistry.Public.Schema.Detail; using AutoFixture; +using Events; using FluentAssertions; using Framework; using Xunit; @@ -20,11 +19,12 @@ public void Then_it_removes_the_contactgegeven() var contactgegevenWerdVerwijderd = fixture.Create>(); var doc = fixture.Create(); + doc.Contactgegevens = doc.Contactgegevens.Append( new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = contactgegevenWerdVerwijderd.Data.ContactgegevenId, - Type = fixture.Create(), + Contactgegeventype = fixture.Create(), Waarde = fixture.Create(), Beschrijving = fixture.Create(), IsPrimair = fixture.Create(), diff --git a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_FeitelijkeVerenigingWerdGeregistreerd.cs b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_FeitelijkeVerenigingWerdGeregistreerd.cs index 985425684..320c473d1 100644 --- a/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_FeitelijkeVerenigingWerdGeregistreerd.cs +++ b/test/AssociationRegistry.Test.Public.Api/When_Retrieving_Detail/Projecting/Given_FeitelijkeVerenigingWerdGeregistreerd.cs @@ -13,6 +13,7 @@ using Vereniging; using Xunit; using Xunit.Categories; +using Doelgroep = AssociationRegistry.Public.Schema.Detail.Doelgroep; [UnitTest] public class Given_FeitelijkeVerenigingWerdGeregistreerd @@ -21,7 +22,9 @@ public class Given_FeitelijkeVerenigingWerdGeregistreerd public void Then_it_creates_a_new_vereniging() { var fixture = new Fixture().CustomizePublicApi(); - var feitelijkeVerenigingWerdGeregistreerd = new TestEvent(fixture.Create()); + + var feitelijkeVerenigingWerdGeregistreerd = + new TestEvent(fixture.Create()); var doc = PubliekVerenigingDetailProjector.Create(feitelijkeVerenigingWerdGeregistreerd); @@ -38,19 +41,20 @@ public void Then_it_creates_a_new_vereniging() KorteNaam = feitelijkeVerenigingWerdGeregistreerd.Data.KorteNaam, KorteBeschrijving = feitelijkeVerenigingWerdGeregistreerd.Data.KorteBeschrijving, Startdatum = feitelijkeVerenigingWerdGeregistreerd.Data.Startdatum, - Doelgroep = new AssociationRegistry.Public.Schema.Detail.Doelgroep + Doelgroep = new Doelgroep { Minimumleeftijd = feitelijkeVerenigingWerdGeregistreerd.Data.Doelgroep.Minimumleeftijd, Maximumleeftijd = feitelijkeVerenigingWerdGeregistreerd.Data.Doelgroep.Maximumleeftijd, }, - DatumLaatsteAanpassing = feitelijkeVerenigingWerdGeregistreerd.GetHeaderInstant(MetadataHeaderNames.Tijdstip).ToBelgianDate(), + DatumLaatsteAanpassing = + feitelijkeVerenigingWerdGeregistreerd.GetHeaderInstant(MetadataHeaderNames.Tijdstip).ToBelgianDate(), Status = VerenigingStatus.Actief, IsUitgeschrevenUitPubliekeDatastroom = feitelijkeVerenigingWerdGeregistreerd.Data.IsUitgeschrevenUitPubliekeDatastroom, Contactgegevens = feitelijkeVerenigingWerdGeregistreerd.Data.Contactgegevens.Select( c => new PubliekVerenigingDetailDocument.Contactgegeven { ContactgegevenId = c.ContactgegevenId, - Type = c.Type.ToString(), + Contactgegeventype = c.Type.ToString(), Waarde = c.Waarde, Beschrijving = c.Beschrijving, IsPrimair = c.IsPrimair, diff --git a/test/AssociationRegistry.Test/Framework/Customizations/AutoFixtureCustomizations.cs b/test/AssociationRegistry.Test/Framework/Customizations/AutoFixtureCustomizations.cs index 17789a484..83e90279c 100644 --- a/test/AssociationRegistry.Test/Framework/Customizations/AutoFixtureCustomizations.cs +++ b/test/AssociationRegistry.Test/Framework/Customizations/AutoFixtureCustomizations.cs @@ -1,13 +1,13 @@ namespace AssociationRegistry.Test.Framework.Customizations; +using AutoFixture; +using AutoFixture.Dsl; +using NodaTime; using Vereniging; using Vereniging.Emails; using Vereniging.SocialMedias; using Vereniging.TelefoonNummers; using Vereniging.Websites; -using AutoFixture; -using AutoFixture.Dsl; -using NodaTime; public static class AutoFixtureCustomizations { @@ -40,20 +40,18 @@ public static Fixture CustomizeDomain(this Fixture fixture) return fixture; } - public static void CustomizeTestEvent(this Fixture fixture, Type testEventType) { fixture.Customizations.Add(new TestEventSpecimenBuilder(testEventType)); } - public static Contactgegeven CreateContactgegevenVolgensType(this Fixture source, string type) => type switch { - ContactgegevenType.Labels.Telefoon => source.Create(), - ContactgegevenType.Labels.SocialMedia => source.Create(), - ContactgegevenType.Labels.Email => source.Create(), - ContactgegevenType.Labels.Website => source.Create(), + Contactgegeventype.Labels.Telefoon => source.Create(), + Contactgegeventype.Labels.SocialMedia => source.Create(), + Contactgegeventype.Labels.Email => source.Create(), + Contactgegeventype.Labels.Website => source.Create(), _ => throw new ArgumentOutOfRangeException(nameof(type), type, null), }; @@ -80,7 +78,7 @@ private static void CustomizeLocatie(this IFixture fixture) fixture.Customize( composer => composer.FromFactory(_ => Locatietype.Activiteiten) - .OmitAutoProperties() + .OmitAutoProperties() ); fixture.Customize( @@ -100,16 +98,18 @@ private static void CustomizeAchternaam(this IFixture fixture) { fixture.Customize( composerTransformation: composer => composer.FromFactory( - factory: () => Achternaam.Create(string.Join("", fixture.Create().Where(x => !char.IsNumber(x))))) - .OmitAutoProperties()); + factory: () => Achternaam.Create( + string.Join("", fixture.Create().Where(x => !char.IsNumber(x))))) + .OmitAutoProperties()); } private static void CustomizeVoornaam(this IFixture fixture) { fixture.Customize( composerTransformation: composer => composer.FromFactory( - factory: () => Voornaam.Create(string.Join("", fixture.Create().Where(x => !char.IsNumber(x))))) - .OmitAutoProperties()); + factory: () => Voornaam.Create( + string.Join("", fixture.Create().Where(x => !char.IsNumber(x))))) + .OmitAutoProperties()); } private static void CustomizeDateOnly(this IFixture fixture) @@ -140,13 +140,14 @@ private static void CustomizeInsz(this IFixture fixture) { fixture.Customize( composerTransformation: composer => composer.FromFactory( - factory: () => - { - var inszBase = new Random().Next(0, 999999999); - var inszModulo = 97 - inszBase % 97; - return Insz.Create($"{inszBase:D9}{inszModulo:D2}"); - }) - .OmitAutoProperties() + factory: () => + { + var inszBase = new Random().Next(0, 999999999); + var inszModulo = 97 - inszBase % 97; + + return Insz.Create($"{inszBase:D9}{inszModulo:D2}"); + }) + .OmitAutoProperties() ); } @@ -154,63 +155,75 @@ private static void CustomizeContactgegeven(this IFixture fixture) { fixture.Customize( composerTransformation: composer => composer.FromFactory( - factory: () => new Email($"{fixture.Create()}@example.org", fixture.Create(), false)) - .OmitAutoProperties()); + factory: () => new Email( + $"{fixture.Create()}@example.org", fixture.Create(), + false)) + .OmitAutoProperties()); fixture.Customize( composerTransformation: composer => composer.FromFactory( - factory: () => new SocialMedia($"https://{fixture.Create()}.com", fixture.Create(), false)) - .OmitAutoProperties()); + factory: () => new SocialMedia( + $"https://{fixture.Create()}.com", fixture.Create(), + false)) + .OmitAutoProperties()); fixture.Customize( composerTransformation: composer => composer.FromFactory( - factory: () => new Website($"https://{fixture.Create()}.com", fixture.Create(), false)) - .OmitAutoProperties()); + factory: () => new Website( + $"https://{fixture.Create()}.com", fixture.Create(), + false)) + .OmitAutoProperties()); + fixture.Customize( composerTransformation: composer => composer.FromFactory( - factory: () => new TelefoonNummer(fixture.Create().ToString(), fixture.Create(), false)) - .OmitAutoProperties()); + factory: () => new TelefoonNummer( + fixture.Create().ToString(), fixture.Create(), false)) + .OmitAutoProperties()); - fixture.Customize( + fixture.Customize( composerTransformation: composer => composer.FromFactory( factory: value => { - var contactTypes = ContactgegevenType.All; + var contactTypes = Contactgegeventype.All; + return contactTypes[value % contactTypes.Length]; }).OmitAutoProperties()); - fixture.Customize( + fixture.Customize( composerTransformation: composer => composer.FromFactory( factory: value => { - var contactTypes = ContactgegevenTypeVolgensKbo.All; + var contactTypes = ContactgegeventypeVolgensKbo.All; + return contactTypes[value % contactTypes.Length]; }).OmitAutoProperties()); fixture.Customize( composerTransformation: composer => composer.FromFactory( - factory: () => (string)fixture.Create() switch - { - ContactgegevenType.Labels.Email => fixture.Create(), - ContactgegevenType.Labels.Website => fixture.Create(), - ContactgegevenType.Labels.SocialMedia => fixture.Create(), - ContactgegevenType.Labels.Telefoon => fixture.Create(), - _ => throw new ArgumentOutOfRangeException($"I'm sorry Dave, I don't know how to create a Contactgegeven of this type."), - }) - .OmitAutoProperties()); + factory: () => (string)fixture.Create() switch + { + Contactgegeventype.Labels.Email => fixture.Create(), + Contactgegeventype.Labels.Website => fixture.Create(), + Contactgegeventype.Labels.SocialMedia => fixture.Create(), + Contactgegeventype.Labels.Telefoon => fixture.Create(), + _ => throw new ArgumentOutOfRangeException( + $"I'm sorry Dave, I don't know how to create a Contactgegeven of this type."), + }) + .OmitAutoProperties()); } private static void CustomizeKboNummer(this IFixture fixture) { fixture.Customize( composerTransformation: composer => composer.FromFactory( - factory: () => - { - var kboBase = new Random().Next(0, 99999999); - var kboModulo = 97 - kboBase % 97; - return KboNummer.Create($"{kboBase:D8}{kboModulo:D2}"); - }) - .OmitAutoProperties() + factory: () => + { + var kboBase = new Random().Next(0, 99999999); + var kboModulo = 97 - kboBase % 97; + + return KboNummer.Create($"{kboBase:D8}{kboModulo:D2}"); + }) + .OmitAutoProperties() ); } @@ -219,10 +232,10 @@ private static void CustomizeAdresId(this IFixture fixture) fixture.Customize( composer => composer.FromFactory( - i => AdresId.Create( - fixture.Create(), - AdresId.DataVlaanderenAdresPrefix + i)) - .OmitAutoProperties() + i => AdresId.Create( + fixture.Create(), + AdresId.DataVlaanderenAdresPrefix + i)) + .OmitAutoProperties() ); } @@ -231,7 +244,7 @@ private static void CustomizeAdresBron(this IFixture fixture) fixture.Customize( composer => composer.FromFactory(i => Adresbron.All[i % Adresbron.All.Length]) - .OmitAutoProperties() + .OmitAutoProperties() ); } @@ -239,19 +252,21 @@ private static void CustomizeHoofdactiviteitVerenigingsloket(this IFixture fixtu { fixture.Customize( composerTransformation: composer => composer.FromFactory( - factory: value => HoofdactiviteitVerenigingsloket.All()[value % HoofdactiviteitVerenigingsloket.All().Count]) - .OmitAutoProperties()); + factory: value + => HoofdactiviteitVerenigingsloket.All()[ + value % HoofdactiviteitVerenigingsloket.All().Count]) + .OmitAutoProperties()); } private static void CustomizeHoofdactiviteitenVerenigingsloket(this IFixture fixture) { fixture.Customize( composerTransformation: composer => composer.FromFactory( - factory: () => HoofdactiviteitenVerenigingsloket.FromArray( - fixture.CreateMany() - .Distinct() - .ToArray())) - .OmitAutoProperties()); + factory: () => HoofdactiviteitenVerenigingsloket.FromArray( + fixture.CreateMany() + .Distinct() + .ToArray())) + .OmitAutoProperties()); } private static void CustomizeDoelgroep(this IFixture fixture) @@ -259,10 +274,10 @@ private static void CustomizeDoelgroep(this IFixture fixture) fixture.Customize( composer => composer.FromFactory( - () => Doelgroep.Create( - fixture.Create() % 50, - 50 + fixture.Create() % 50)) - .OmitAutoProperties() + () => Doelgroep.Create( + fixture.Create() % 50, + 50 + fixture.Create() % 50)) + .OmitAutoProperties() ); } @@ -271,15 +286,15 @@ private static void CustomizeAdres(this IFixture fixture) fixture.Customize( composer => composer.FromFactory( - () => Adres.Create( - fixture.Create(), - fixture.Create(), - fixture.Create(), - fixture.Create(), - fixture.Create(), - fixture.Create() - )) - .OmitAutoProperties() + () => Adres.Create( + fixture.Create(), + fixture.Create(), + fixture.Create(), + fixture.Create(), + fixture.Create(), + fixture.Create() + )) + .OmitAutoProperties() ); } } diff --git a/test/AssociationRegistry.Test/Framework/Customizations/EventCustomizations.cs b/test/AssociationRegistry.Test/Framework/Customizations/EventCustomizations.cs index 173b3f765..36e347c16 100644 --- a/test/AssociationRegistry.Test/Framework/Customizations/EventCustomizations.cs +++ b/test/AssociationRegistry.Test/Framework/Customizations/EventCustomizations.cs @@ -49,7 +49,7 @@ private static void CustomizeContactgegevenWerdToegevoegd(this IFixture fixture) return new ContactgegevenWerdToegevoegd( contactgegeven.ContactgegevenId, - contactgegeven.Type, + contactgegeven.Contactgegeventype, contactgegeven.Waarde, contactgegeven.Beschrijving, contactgegeven.IsPrimair); @@ -67,8 +67,9 @@ private static void CustomizeContactgegevenWerdOvergenomenUitKBO(this IFixture f return new ContactgegevenWerdOvergenomenUitKBO( contactgegeven.ContactgegevenId, - ContactgegevenTypeVolgensKbo.All.First(c => c.ContactgegevenType == contactgegeven.Type), - contactgegeven.Type, + ContactgegeventypeVolgensKbo.All.First( + c => c.Contactgegeventype == contactgegeven.Contactgegeventype), + contactgegeven.Contactgegeventype, contactgegeven.Waarde); }) .OmitAutoProperties()); @@ -91,10 +92,10 @@ private static void CustomizeContactgegevenKonNietOvergenomenWordenUitKBO(this I composer => composer.FromFactory( () => { - var contactgegevenTypevolgensKbo = fixture.Create(); + var contactgegevenTypevolgensKbo = fixture.Create(); return new ContactgegevenKonNietOvergenomenWordenUitKBO( - contactgegevenTypevolgensKbo.ContactgegevenType.Waarde, + contactgegevenTypevolgensKbo.Contactgegeventype.Waarde, contactgegevenTypevolgensKbo.Waarde, fixture.Create()); }) diff --git a/test/AssociationRegistry.Test/Framework/Customizations/RegistratiedataCustomizations.cs b/test/AssociationRegistry.Test/Framework/Customizations/RegistratiedataCustomizations.cs index a1574f516..2915c2321 100644 --- a/test/AssociationRegistry.Test/Framework/Customizations/RegistratiedataCustomizations.cs +++ b/test/AssociationRegistry.Test/Framework/Customizations/RegistratiedataCustomizations.cs @@ -1,8 +1,8 @@ namespace AssociationRegistry.Test.Framework.Customizations; +using AutoFixture; using Events; using Vereniging; -using AutoFixture; public static class RegistratiedataCustomizations { @@ -22,9 +22,10 @@ private static void CustomizeContactgegeven(this IFixture fixture) i => { var contactgegeven = fixture.Create(); + return new Registratiedata.Contactgegeven( i, - contactgegeven.Type, + contactgegeven.Contactgegeventype, contactgegeven.Waarde, contactgegeven.Beschrijving, contactgegeven.IsPrimair @@ -39,6 +40,7 @@ private static void CustomizeHoofdactiviteitVerenigingsloket(this IFixture fixtu () => { var h = fixture.Create(); + return new Registratiedata.HoofdactiviteitVerenigingsloket(h.Code, h.Beschrijving); }).OmitAutoProperties()); } @@ -48,18 +50,18 @@ private static void CustomizeLocatie(this IFixture fixture) fixture.Customize( composer => composer.FromFactory( () => new Registratiedata.Locatie( - LocatieId: fixture.Create(), - Locatietype: fixture.Create(), + fixture.Create(), + fixture.Create(), IsPrimair: false, - Naam: fixture.Create(), - Adres: new Registratiedata.Adres( - Straatnaam: fixture.Create(), - Huisnummer: fixture.Create().ToString(), - Busnummer: fixture.Create(), - Postcode: (fixture.Create() % 10000).ToString(), - Gemeente: fixture.Create(), - Land: fixture.Create()), - AdresId: fixture.Create())).OmitAutoProperties()); + fixture.Create(), + new Registratiedata.Adres( + fixture.Create(), + fixture.Create().ToString(), + fixture.Create(), + (fixture.Create() % 10000).ToString(), + fixture.Create(), + fixture.Create()), + fixture.Create())).OmitAutoProperties()); } private static void CustomizeAdresId(this IFixture fixture) @@ -67,9 +69,9 @@ private static void CustomizeAdresId(this IFixture fixture) fixture.Customize( composer => composer.FromFactory( - _ => Registratiedata.AdresId.With( - fixture.Create())!) - .OmitAutoProperties() + _ => Registratiedata.AdresId.With( + fixture.Create())!) + .OmitAutoProperties() ); } @@ -78,9 +80,9 @@ private static void CustomizeDoelgroep(this IFixture fixture) fixture.Customize( composer => composer.FromFactory( - () => Registratiedata.Doelgroep.With( - fixture.Create())) - .OmitAutoProperties() + () => Registratiedata.Doelgroep.With( + fixture.Create())) + .OmitAutoProperties() ); } } diff --git a/test/AssociationRegistry.Test/When_VerwijderContactgegeven/Given_A_Contactgegeven_From_Kbo.cs b/test/AssociationRegistry.Test/When_VerwijderContactgegeven/Given_A_Contactgegeven_From_Kbo.cs index 1a789ad49..07c8f4deb 100644 --- a/test/AssociationRegistry.Test/When_VerwijderContactgegeven/Given_A_Contactgegeven_From_Kbo.cs +++ b/test/AssociationRegistry.Test/When_VerwijderContactgegeven/Given_A_Contactgegeven_From_Kbo.cs @@ -16,15 +16,20 @@ public class Given_A_Contactgegeven_From_Kbo public void Then_It_Throws() { var fixture = new Fixture().CustomizeDomain(); + var contactgegeven = fixture.Create() with { ContactgegevenId = 1, }; var vereniging = new VerenigingOfAnyKind(); + vereniging.Hydrate(new VerenigingState() - .Apply(fixture.Create()) - .Apply(ContactgegevenWerdOvergenomenUitKBO.With(contactgegeven, ContactgegevenTypeVolgensKbo.All.First(c=>c.ContactgegevenType==contactgegeven.Type)))); + .Apply(fixture.Create()) + .Apply(ContactgegevenWerdOvergenomenUitKBO.With(contactgegeven, + ContactgegeventypeVolgensKbo.All.First( + c => c.Contactgegeventype == + contactgegeven.Contactgegeventype)))); var wijzigLocatie = () => vereniging.VerwijderContactgegeven(contactgegeven.ContactgegevenId); diff --git a/test/AssociationRegistry.Test/When_VoegContactgegevenToe/Given_A_Second_Primair_Contactgegeven.cs b/test/AssociationRegistry.Test/When_VoegContactgegevenToe/Given_A_Second_Primair_Contactgegeven.cs index 53ee05b1e..ee0191bf5 100644 --- a/test/AssociationRegistry.Test/When_VoegContactgegevenToe/Given_A_Second_Primair_Contactgegeven.cs +++ b/test/AssociationRegistry.Test/When_VoegContactgegevenToe/Given_A_Second_Primair_Contactgegeven.cs @@ -1,10 +1,10 @@ namespace AssociationRegistry.Test.When_VoegContactgegevenToe; +using AutoFixture; using Events; +using Framework.Customizations; using Vereniging; using Vereniging.Exceptions; -using AutoFixture; -using Framework.Customizations; using Xunit; using Xunit.Categories; @@ -18,13 +18,14 @@ public void Then_it_throws() var vereniging = new VerenigingOfAnyKind(); var primairContactgegeven = fixture.Create() with { IsPrimair = true }; + vereniging.Hydrate(new VerenigingState() - .Apply(fixture.Create() with - { - Contactgegevens = new [] { primairContactgegeven }, - })); + .Apply(fixture.Create() with + { + Contactgegevens = new[] { primairContactgegeven }, + })); - var contactgegeven = fixture.Create() with { IsPrimair = true, Type = primairContactgegeven.Type}; + var contactgegeven = fixture.Create() with { IsPrimair = true, Contactgegeventype = primairContactgegeven.Type }; Assert.Throws(() => vereniging.VoegContactgegevenToe(contactgegeven)); }