Skip to content

Commit

Permalink
feat: or-1716 implement beheer zoeken for corrigeer dubbel
Browse files Browse the repository at this point in the history
  • Loading branch information
emalfroy committed Jan 6, 2025
1 parent 525a2f6 commit 69a8b5f
Show file tree
Hide file tree
Showing 8 changed files with 56 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ public async Task ConsumeAsync(IReadOnlyList<StreamAction> streamActions)
case nameof(VerenigingWerdGemarkeerdAlsDubbelVan):
case nameof(VerenigingAanvaarddeDubbeleVereniging):
case nameof(WeigeringDubbelDoorAuthentiekeVerenigingWerdVerwerkt):
case nameof(MarkeringDubbeleVerengingWerdGecorrigeerd):
case nameof(VerenigingAanvaarddeCorrectieDubbeleVereniging):
try
{
await _zoekProjectionHandler.Handle(eventEnvelope);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,4 +224,18 @@ public async Task AppendCorresponderendeVCodes<T>(string id, string vCodeDubbele
// todo: log ? (should never happen in test/staging/production)
throw new IndexDocumentFailed(response.DebugInformation);
}

public async Task RemoveCorresponderendeVCode<T>(string id, string vCodeDubbeleVereniging) where T : class
{
var response = await _elasticClient.UpdateAsync<T>(
id,
selector: u => u.Script(
s => s
.Source("ctx._source.corresponderendeVCodes.removeIf(c -> c == params.item)")
.Params(objects => objects.Add(key: "item", vCodeDubbeleVereniging))));

if (!response.IsValid)
// todo: log ? (should never happen in test/staging/production)
throw new IndexDocumentFailed(response.DebugInformation);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,6 @@ Task IndexAsync<TDocument>(TDocument document)
Task UpdateLocatie<TDocument>(string id, ILocatie locatie) where TDocument : class;
Task UpdateAdres<TDocument>(string id, int locatieId, string adresVoorstelling, string postcode, string gemeente) where TDocument : class;
Task AppendCorresponderendeVCodes<TDocument>(string id, string vCodeDubbeleVereniging) where TDocument : class;
Task RemoveCorresponderendeVCode<TDocument>(string id, string vCodeDubbeleVereniging) where TDocument : class;

}
Original file line number Diff line number Diff line change
Expand Up @@ -546,6 +546,23 @@ await _elasticRepository.AppendCorresponderendeVCodes<VerenigingZoekDocument>(
message.Data.VCodeDubbeleVereniging);
}

public async Task Handle(EventEnvelope<MarkeringDubbeleVerengingWerdGecorrigeerd> message)
{
await _elasticRepository.UpdateAsync(
message.VCode,
new VerenigingZoekDocument
{
IsDubbel = false,
});
}

public async Task Handle(EventEnvelope<VerenigingAanvaarddeCorrectieDubbeleVereniging> message)
{
await _elasticRepository.RemoveCorresponderendeVCode<VerenigingZoekDocument>(
message.VCode,
message.Data.VCodeDubbeleVereniging);
}

public async Task Handle(EventEnvelope<WeigeringDubbelDoorAuthentiekeVerenigingWerdVerwerkt> message)
{
await _elasticRepository.UpdateAsync(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -539,7 +539,7 @@ public static HistoriekGebeurtenisResponse MarkeringDubbeleVerengingWerdGecorrig
VerenigingWerdGemarkeerdAlsDubbelVan verenigingWerdGemarkeerdAlsDubbelVan)
=> new()
{
Beschrijving = $"Vereniging werd gecorrigeerd als dubbel van {verenigingWerdGemarkeerdAlsDubbelVan.VCodeAuthentiekeVereniging}.",
Beschrijving = $"Markering dubbel van vereniging {verenigingWerdGemarkeerdAlsDubbelVan.VCodeAuthentiekeVereniging} werd gecorrigeerd.",
Gebeurtenis = nameof(Events.MarkeringDubbeleVerengingWerdGecorrigeerd),
Data = new
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public void With_Context()
}

[Fact]
public async Task With_Verenigingen_Empty()
public async Task With_Vereniging()
=> Response.Verenigingen.Should().NotBeEmpty();

public override Func<IApiSetup, SearchVerenigingenResponse> GetResponse
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
namespace AssociationRegistry.Test.Projections.Beheer.Zoeken.Dubbels;

[Collection(nameof(ProjectionContext))]
public class Given_MarkeringDubbeleVerengingWerdGecorrigeerd(BeheerZoekenScenarioFixture<MarkeringDubbeleVerengingWerdGecorrigeerdScenario> fixture)
: BeheerZoekenScenarioClassFixture<MarkeringDubbeleVerengingWerdGecorrigeerdScenario>
{
[Fact]
public void Status_Is_Dubbel()
=> fixture.Result.IsDubbel.Should().BeFalse();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
namespace AssociationRegistry.Test.Projections.Beheer.Zoeken.Dubbels;

[Collection(nameof(ProjectionContext))]
public class Given_VerenigingAanvaarddeCorrectieDubbeleVereniging(BeheerZoekenScenarioFixture<VerenigingAanvaarddeCorrectieDubbeleVerenigingScenario> fixture)
: BeheerZoekenScenarioClassFixture<VerenigingAanvaarddeCorrectieDubbeleVerenigingScenario>
{
[Fact]
public void CorresponderendeVCodes_Contains_DubbeleVereniging()
=> fixture.Result.CorresponderendeVCodes.Should().NotContain(fixture.Scenario.DubbeleVerenigingWerdGeregistreerd.VCode);
}

0 comments on commit 69a8b5f

Please sign in to comment.