Skip to content

Commit

Permalink
fix: or-2515 return 200 when no changes on wijzig lidmaatschap
Browse files Browse the repository at this point in the history
  • Loading branch information
emalfroy committed Nov 6, 2024
1 parent 07c1ff0 commit bee0391
Show file tree
Hide file tree
Showing 3 changed files with 123 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@ public async Task<IActionResult> WijzigLidmaatschap(
var envelope = new CommandEnvelope<WijzigLidmaatschapCommand>(request.ToCommand(vCode, lidmaatschapId), metaData);
var commandResult = await _messageBus.InvokeAsync<CommandResult>(envelope);

if (!commandResult.HasChanges())
return Ok();

Response.AddSequenceHeader(commandResult.Sequence);
Response.AddETagHeader(commandResult.Version);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,13 @@ public virtual bool Equals(Lidmaatschap? other)
if (AndereVereniging != other.AndereVereniging)
return false;

if (Geldigheidsperiode != other.Geldigheidsperiode)
if (AndereVerenigingNaam != other.AndereVerenigingNaam)
return false;

if (!Geldigheidsperiode.Van.Equals(other.Geldigheidsperiode.Van))
return false;

if (!Geldigheidsperiode.Tot.Equals(other.Geldigheidsperiode.Tot))
return false;

if (Identificatie != other.Identificatie)
Expand Down
113 changes: 113 additions & 0 deletions test/AssociationRegistry.Test/LidmaatschappenTests/EqualsTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
namespace AssociationRegistry.Test.LidmaatschappenTests;

using Acties.VoegLidmaatschapToe;
using AutoFixture;
using Common.AutoFixture;
using Vereniging;
using Xunit;

public class EqualsTest
{
[Fact]
public void With_The_Same_Values_Return_True()
{
var fixture = new Fixture().CustomizeDomain();
var lidmaatschap1 = fixture.Create<Lidmaatschap>();

var lidmaatschap2 = Lidmaatschap.Create(
lidmaatschap1.LidmaatschapId,
new VoegLidmaatschapToeCommand.ToeTeVoegenLidmaatschap(lidmaatschap1.AndereVereniging,
lidmaatschap1.AndereVerenigingNaam,
new Geldigheidsperiode(
new GeldigVan(lidmaatschap1.Geldigheidsperiode.Van),
new GeldigTot(lidmaatschap1.Geldigheidsperiode.Tot)),
lidmaatschap1.Identificatie,
lidmaatschap1.Beschrijving));

Assert.True(lidmaatschap1.Equals(lidmaatschap2));
}

[Fact]
public void With_Other_Van_Value_Return_False()
{
var fixture = new Fixture().CustomizeDomain();
var lidmaatschap1 = fixture.Create<Lidmaatschap>();

var lidmaatschap2 = lidmaatschap1 with
{
Geldigheidsperiode = new Geldigheidsperiode(new GeldigVan(), new GeldigTot(lidmaatschap1.Geldigheidsperiode.Tot)),
};

Assert.False(lidmaatschap1.Equals(lidmaatschap2));
}

[Fact]
public void With_Other_Tot_Value_Return_False()
{
var fixture = new Fixture().CustomizeDomain();
var lidmaatschap1 = fixture.Create<Lidmaatschap>();

var lidmaatschap2 = lidmaatschap1 with
{
Geldigheidsperiode = new Geldigheidsperiode(new GeldigVan(lidmaatschap1.Geldigheidsperiode.Van), new GeldigTot())
};

Assert.False(lidmaatschap1.Equals(lidmaatschap2));
}

[Fact]
public void With_Other_Beschrijving_Value_Return_False()
{
var fixture = new Fixture().CustomizeDomain();
var lidmaatschap1 = fixture.Create<Lidmaatschap>();

var lidmaatschap2 = lidmaatschap1 with
{
Beschrijving = fixture.Create<LidmaatschapBeschrijving>(),
};

Assert.False(lidmaatschap1.Equals(lidmaatschap2));
}

[Fact]
public void With_Other_Identificatie_Value_Return_False()
{
var fixture = new Fixture().CustomizeDomain();
var lidmaatschap1 = fixture.Create<Lidmaatschap>();

var lidmaatschap2 = lidmaatschap1 with
{
Identificatie = fixture.Create<LidmaatschapIdentificatie>(),
};

Assert.False(lidmaatschap1.Equals(lidmaatschap2));
}

[Fact]
public void With_Other_AndereVereniging_Value_Return_False()
{
var fixture = new Fixture().CustomizeDomain();
var lidmaatschap1 = fixture.Create<Lidmaatschap>();

var lidmaatschap2 = lidmaatschap1 with
{
AndereVereniging = fixture.Create<VCode>(),
};

Assert.False(lidmaatschap1.Equals(lidmaatschap2));
}

[Fact]
public void With_Other_AndereVerenigingNaam_Value_Return_False()
{
var fixture = new Fixture().CustomizeDomain();
var lidmaatschap1 = fixture.Create<Lidmaatschap>();

var lidmaatschap2 = lidmaatschap1 with
{
AndereVerenigingNaam = fixture.Create<string>(),
};

Assert.False(lidmaatschap1.Equals(lidmaatschap2));
}
}

0 comments on commit bee0391

Please sign in to comment.