Skip to content

Commit

Permalink
fix(integration): correct readdress projection
Browse files Browse the repository at this point in the history
  • Loading branch information
ArneD committed Sep 6, 2024
1 parent 45feeb0 commit 6460075
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -544,12 +544,12 @@ await context.CreateNewBuildingVersion(

When<Envelope<BuildingBuildingUnitsAddressesWereReaddressed>>(async (context, message, ct) =>
{
foreach (var buildingUnitReaddresses in message.Message.BuildingUnitsReaddresses)
{
await context.CreateNewBuildingVersion(
message.Message.BuildingPersistentLocalId,
message,
building =>
await context.CreateNewBuildingVersion(
message.Message.BuildingPersistentLocalId,
message,
building =>
{
foreach (var buildingUnitReaddresses in message.Message.BuildingUnitsReaddresses)
{
var buildingUnit = building.BuildingUnits.Single(x =>
x.BuildingUnitPersistentLocalId == buildingUnitReaddresses.BuildingUnitPersistentLocalId);
Expand All @@ -575,9 +575,9 @@ await context.CreateNewBuildingVersion(
}

buildingUnit.VersionTimestamp = message.Message.Provenance.Timestamp;
},
ct);
}
}
},
ct);
});

When<Envelope<BuildingUnitAddressWasReplacedBecauseOfMunicipalityMerger>>(async (context, message, ct) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -544,12 +544,12 @@ await context.CreateNewBuildingVersion(

When<Envelope<BuildingBuildingUnitsAddressesWereReaddressed>>(async (context, message, ct) =>
{
foreach (var buildingUnitReaddresses in message.Message.BuildingUnitsReaddresses)
{
await context.CreateNewBuildingVersion(
message.Message.BuildingPersistentLocalId,
message,
building =>
await context.CreateNewBuildingVersion(
message.Message.BuildingPersistentLocalId,
message,
building =>
{
foreach (var buildingUnitReaddresses in message.Message.BuildingUnitsReaddresses)
{
var buildingUnit = building.BuildingUnits.Single(x =>
x.BuildingUnitPersistentLocalId == buildingUnitReaddresses.BuildingUnitPersistentLocalId);
Expand All @@ -575,9 +575,9 @@ await context.CreateNewBuildingVersion(
}

buildingUnit.VersionTimestamp = message.Message.Provenance.Timestamp;
},
ct);
}
}
},
ct);
});

When<Envelope<BuildingUnitAddressWasReplacedBecauseOfMunicipalityMerger>>(async (context, message, ct) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public async Task GivenOnlyPreviousBuildingUnitAddressRelationExistsWithCountOne
.WithAddress(addressPersistentLocalId)
.Build())
.Build();

var buildingUnitAddressWasReplacedBecauseAddressWasReaddressed = new BuildingUnitAddressWasReplacedBecauseAddressWasReaddressed(
_fixture.Create<BuildingPersistentLocalId>(),
buildingUnitPersistentLocalId,
Expand Down Expand Up @@ -242,22 +242,36 @@ public async Task WhenBuildingBuildingUnitsAddressesWereReaddressed()

var position = _fixture.Create<long>();
var buildingUnitPersistentLocalId = _fixture.Create<BuildingUnitPersistentLocalId>();
var buildingUnitPersistentLocalId2 = new BuildingUnitPersistentLocalId(buildingUnitPersistentLocalId + 1);
var sourceAddressPersistentLocalId = _fixture.Create<AddressPersistentLocalId>();
var destinationAddressPersistentLocalId = _fixture.Create<AddressPersistentLocalId>();
var sourceAddressPersistentLocalId2 = sourceAddressPersistentLocalId + 1;
var destinationAddressPersistentLocalId = sourceAddressPersistentLocalId2 + 10;
var destinationAddressPersistentLocalId2 = destinationAddressPersistentLocalId + 1;

var buildingWasMigrated = new BuildingWasMigratedBuilder(_fixture)
.WithBuildingUnit(new BuildingUnitBuilder(_fixture)
.WithAddress(sourceAddressPersistentLocalId)
.Build()
).Build();

)
.WithBuildingUnit(new BuildingUnitBuilder(_fixture)
.WithPersistentLocalId(buildingUnitPersistentLocalId2)
.WithAddress(sourceAddressPersistentLocalId2)
.Build()
)
.Build();

var buildingBuildingUnitsAddressesWereReaddressed = new BuildingBuildingUnitsAddressesWereReaddressed(
_fixture.Create<BuildingPersistentLocalId>(),
[
new BuildingUnitAddressesWereReaddressed(
_fixture.Create<BuildingUnitPersistentLocalId>(),
[new AddressPersistentLocalId(destinationAddressPersistentLocalId)],
[new AddressPersistentLocalId(sourceAddressPersistentLocalId)]
),
new BuildingUnitAddressesWereReaddressed(
buildingUnitPersistentLocalId2,
[new AddressPersistentLocalId(destinationAddressPersistentLocalId2)],
[new AddressPersistentLocalId(sourceAddressPersistentLocalId2)]
)
],
[]);
Expand Down Expand Up @@ -301,6 +315,21 @@ await Sut
var sourceAddress = buildingUnitVersion.Addresses.SingleOrDefault(x =>
x.AddressPersistentLocalId == sourceAddressPersistentLocalId);
sourceAddress.Should().BeNull();

var buildingUnitVersion2 = buildingVersion!.BuildingUnits.SingleOrDefault(x =>
x.BuildingUnitPersistentLocalId == buildingUnitPersistentLocalId2);
buildingUnitVersion2.Should().NotBeNull();

buildingUnitVersion2!.VersionTimestamp.Should().Be(buildingBuildingUnitsAddressesWereReaddressed.Provenance.Timestamp);
buildingUnitVersion2.Type.Should().Be("EventName");

var destinationAddress2 = buildingUnitVersion2.Addresses.SingleOrDefault(x =>
x.AddressPersistentLocalId == destinationAddressPersistentLocalId2);
destinationAddress2.Should().NotBeNull();

var sourceAddress2 = buildingUnitVersion2.Addresses.SingleOrDefault(x =>
x.AddressPersistentLocalId == sourceAddressPersistentLocalId2);
sourceAddress2.Should().BeNull();
});
}
}
Expand Down

0 comments on commit 6460075

Please sign in to comment.