Skip to content

Commit

Permalink
fix: or-2035 fix registreer request, check extra field in validationp…
Browse files Browse the repository at this point in the history
…roblemdetails
  • Loading branch information
koenmetsu committed Jan 9, 2024
1 parent c636b65 commit 74c7779
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 15 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
namespace AssociationRegistry.Test.Admin.Api.FeitelijkeVereniging.When_RegistreerFeitelijkeVereniging;

using AssociationRegistry.Admin.Api.Constants;
using AssociationRegistry.Admin.Api.Verenigingen.Common;
using AssociationRegistry.Admin.Api.Verenigingen.Registreer.FeitelijkeVereniging.RequetsModels;
using AutoFixture;
using Be.Vlaanderen.Basisregisters.BasicApiProblem;
using Fixtures;
using FluentAssertions;
using Framework;
Expand All @@ -24,12 +26,19 @@ public IEnumerator<object[]> GetEnumerator()
yield return new object[] { request1 };

var request2 = autoFixture.Create<RegistreerFeitelijkeVerenigingRequest>();
request2.HoofdactiviteitenVerenigingsloket = new[] { "<script>alert(\"HELP!\")</script>" };
request2.HoofdactiviteitenVerenigingsloket = new[] { "<script>alert('HELP!')</script>" };

yield return new object[] { request2 };

var request3 = autoFixture.Create<RegistreerFeitelijkeVerenigingRequest>();
request3.KorteNaam = "<a href=\"http://www/example.org\">Click here</a>";
request3.KorteNaam = "<a href='http://www/example.org'>Click here</a>";

var request4 = autoFixture.Create<RegistreerFeitelijkeVerenigingRequest>();
var contactgegeven = autoFixture.Create<ToeTeVoegenContactgegeven>();
contactgegeven.Beschrijving = "<pre></pre>";
request4.Contactgegevens = request4.Contactgegevens.Append(contactgegeven).ToArray();

yield return new object[] { request4 };

yield return new object[] { request3 };
}
Expand All @@ -56,6 +65,8 @@ public async Task Then_it_returns_a_bad_request_response(RegistreerFeitelijkeVer
{
var response = await _fixture.DefaultClient.RegistreerFeitelijkeVereniging(GetJsonBody(request));
response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
var body = JsonConvert.DeserializeObject<ValidationProblemDetails>(await response.Content.ReadAsStringAsync());
body.ValidationErrors.Should().ContainKey(ExceptionMessages.UnsupportedContent); // TODO: OF EEN ANDER VELD
}

private string GetJsonBody(RegistreerFeitelijkeVerenigingRequest request)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,20 +83,28 @@ private static void CustomizeRegistreerFeitelijkeVerenigingRequest(this IFixture
{
fixture.Customize<RegistreerFeitelijkeVerenigingRequest>(
composer => composer.FromFactory<int>(
_ => new RegistreerFeitelijkeVerenigingRequest
_ =>
{
Contactgegevens = fixture.CreateMany<ToeTeVoegenContactgegeven>().ToArray(),
Locaties = fixture.CreateMany<ToeTeVoegenLocatie>().DistinctBy(l => l.Locatietype).ToArray(),
Startdatum = fixture.Create<Datum>(),
Naam = fixture.Create<string>(),
Doelgroep = fixture.Create<DoelgroepRequest>(),
Vertegenwoordigers = fixture.CreateMany<ToeTeVoegenVertegenwoordiger>().ToArray(),
HoofdactiviteitenVerenigingsloket = fixture.CreateMany<HoofdactiviteitVerenigingsloket>()
.Select(x => x.Code)
.Distinct()
.ToArray(),
KorteBeschrijving = fixture.Create<string>(),
KorteNaam = fixture.Create<string>(),
var datum = fixture.Create<Datum>();
var startDatum = new DateOnly(new Random().Next(1970, DateTime.Now.Year), datum.Value.Month, datum.Value.Day);
var request = new RegistreerFeitelijkeVerenigingRequest();

request.Contactgegevens = fixture.CreateMany<ToeTeVoegenContactgegeven>().ToArray();
request.Locaties = fixture.CreateMany<ToeTeVoegenLocatie>().DistinctBy(l => l.Locatietype).ToArray();
request.Startdatum = startDatum;
request.Naam = fixture.Create<string>();
request.Doelgroep = fixture.Create<DoelgroepRequest>();
request.Vertegenwoordigers = fixture.CreateMany<ToeTeVoegenVertegenwoordiger>().ToArray();

request.HoofdactiviteitenVerenigingsloket = fixture.CreateMany<HoofdactiviteitVerenigingsloket>()
.Select(x => x.Code)
.Distinct()
.ToArray();

request.KorteBeschrijving = fixture.Create<string>();
request.KorteNaam = fixture.Create<string>();

return request;
}).OmitAutoProperties());
}

Expand Down

0 comments on commit 74c7779

Please sign in to comment.