public void WithStatusDeleteWhenNewerStatusIsPresent(AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned, AddressSubaddressStatusWasImportedFromCrab addressSubaddressStatusWasImportedFromCrabForProposed, AddressBecameCurrent addressBecameCurrent, AddressSubaddressStatusWasImportedFromCrab addressSubaddressStatusWasImportedFromCrabForCurrent, ImportSubaddressStatusFromCrab importSubaddressStatusFromCrabDeleteProposed) { var lifetime = new CrabLifetime(LocalDateTime.FromDateTime(DateTime.Now), null); var deleteProposed = importSubaddressStatusFromCrabDeleteProposed .WithStatus(CrabAddressStatus.InUse) .WithLifetime(lifetime) .WithCrabModification(CrabModification.Delete) .WithStatusId(new CrabSubaddressStatusId(addressSubaddressStatusWasImportedFromCrabForProposed.SubaddressStatusId)); addressSubaddressStatusWasImportedFromCrabForProposed = addressSubaddressStatusWasImportedFromCrabForProposed .WithBeginDate(lifetime.BeginDateTime) .WithStatus(CrabAddressStatus.Proposed); addressSubaddressStatusWasImportedFromCrabForCurrent = addressSubaddressStatusWasImportedFromCrabForCurrent .WithBeginDate(lifetime.BeginDateTime) .WithStatus(CrabAddressStatus.InUse); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasProposed, addressWasOfficiallyAssigned, addressSubaddressStatusWasImportedFromCrabForProposed, addressBecameCurrent, addressSubaddressStatusWasImportedFromCrabForCurrent) .When(deleteProposed) .Then(addressId, deleteProposed.ToLegacyEvent())); }
public void ThenAddressBecameIncompleteWhenModificationIsDelete( AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned, AddressWasPositioned addressWasPositioned, AddressBecameComplete addressBecameComplete, ImportHouseNumberStatusFromCrab importHouseNumberStatusFromCrab) { importHouseNumberStatusFromCrab = importHouseNumberStatusFromCrab.WithCrabModification(CrabModification.Delete); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasProposed, addressWasOfficiallyAssigned, addressWasPositioned, addressBecameComplete) .When(importHouseNumberStatusFromCrab) .Then(addressId, new AddressStatusWasRemoved(addressId), new AddressOfficialAssignmentWasRemoved(addressId), new AddressBecameIncomplete(addressId), importHouseNumberStatusFromCrab.ToLegacyEvent())); }
public void WithStatusProposedWhenOlderLifetime(AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed, AddressSubaddressStatusWasImportedFromCrab addressSubaddressStatusWasImportedFromCrab, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned, ImportSubaddressStatusFromCrab importSubaddressStatusFromCrab) { addressSubaddressStatusWasImportedFromCrab = addressSubaddressStatusWasImportedFromCrab .WithStatus(CrabAddressStatus.Proposed); importSubaddressStatusFromCrab = importSubaddressStatusFromCrab .WithLifetime(new CrabLifetime(addressSubaddressStatusWasImportedFromCrab.BeginDateTime.Value.PlusDays(-1), null)) .WithStatus(CrabAddressStatus.InUse); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasProposed, addressWasOfficiallyAssigned, addressSubaddressStatusWasImportedFromCrab ) .When(importSubaddressStatusFromCrab) .Then(addressId, importSubaddressStatusFromCrab.ToLegacyEvent())); }
public void WithStatusProposedWhenStatusIsInUseAndNewerLifetime(AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned, AddressHouseNumberStatusWasImportedFromCrab addressHouseNumberStatusWasImportedFromCrab, ImportHouseNumberStatusFromCrab importHouseNumberStatusFromCrab) { addressHouseNumberStatusWasImportedFromCrab = addressHouseNumberStatusWasImportedFromCrab .WithStatus(CrabAddressStatus.Proposed); importHouseNumberStatusFromCrab = importHouseNumberStatusFromCrab .WithLifetime(new CrabLifetime(addressHouseNumberStatusWasImportedFromCrab.BeginDateTime.Value.PlusDays(1), null)) .WithStatus(CrabAddressStatus.InUse); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasProposed, addressWasOfficiallyAssigned, addressHouseNumberStatusWasImportedFromCrab) .When(importHouseNumberStatusFromCrab) .Then(addressId, new AddressBecameCurrent(addressId), importHouseNumberStatusFromCrab.ToLegacyEvent())); }
public async Task AddressWasProposedSetsStatusToProposed( AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed) { await Assert( Given(addressWasRegistered, addressWasProposed) .Expect(ctx => ctx.AddressDetail, new AddressDetailItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, Status = AddressStatus.Proposed, VersionTimestamp = addressWasProposed.Provenance.Timestamp })); }
public void WithStatusProposedWhenStatusIsTheSame( AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned, ImportSubaddressStatusFromCrab importSubaddressStatusFromCrab) { importSubaddressStatusFromCrab = importSubaddressStatusFromCrab .WithStatus(CrabAddressStatus.Proposed); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasProposed, addressWasOfficiallyAssigned) .When(importSubaddressStatusFromCrab) .Then(addressId, importSubaddressStatusFromCrab.ToLegacyEvent())); }
public void ThenAddressBecameComplete( AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned, ImportSubaddressPositionFromCrab importSubaddressPositionFromCrab) { importSubaddressPositionFromCrab.WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.ManualIndicationFromLot); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasProposed, addressWasOfficiallyAssigned) .When(importSubaddressPositionFromCrab) .Then(addressId, new AddressWasPositioned(addressId, new AddressGeometry(GeometryMethod.AppointedByAdministrator, GeometrySpecification.Lot, GeometryHelpers.CreateEwkbFrom(importSubaddressPositionFromCrab.AddressPosition))), new AddressBecameComplete(addressId), importSubaddressPositionFromCrab.ToLegacyEvent())); }
private void When(AddressWasProposed @event) { SetStatus(AddressStatus.Proposed); }
public void WithRemovedStatusWhenStatusInUseAndSameLifetimeOfPreviouslyRemovedStatus(AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned, AddressSubaddressStatusWasImportedFromCrab addressSubaddressStatusWasImportedFromCrab, AddressStatusWasRemoved addressStatusWasRemoved, AddressSubaddressStatusWasImportedFromCrab addressSubaddressStatusWasImportedFromCrabDelete, ImportSubaddressStatusFromCrab importSubaddressStatusFromCrab, CrabLifetime lifetime) { var statusId = new CrabSubaddressStatusId(1); addressSubaddressStatusWasImportedFromCrab = addressSubaddressStatusWasImportedFromCrab .WithSubaddressStatusId(statusId) .WithStatus(CrabAddressStatus.Proposed) .WithBeginDate(lifetime.BeginDateTime); addressSubaddressStatusWasImportedFromCrabDelete = addressSubaddressStatusWasImportedFromCrabDelete .WithSubaddressStatusId(statusId) .WithStatus(CrabAddressStatus.Proposed) .WithCrabModification(CrabModification.Delete) .WithBeginDate(lifetime.BeginDateTime); importSubaddressStatusFromCrab = importSubaddressStatusFromCrab .WithLifetime(lifetime) .WithStatus(CrabAddressStatus.InUse); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasProposed, addressWasOfficiallyAssigned, addressSubaddressStatusWasImportedFromCrab, addressStatusWasRemoved, addressSubaddressStatusWasImportedFromCrabDelete ) .When(importSubaddressStatusFromCrab) .Then(addressId, new AddressBecameCurrent(addressId), importSubaddressStatusFromCrab.ToLegacyEvent())); }