예제 #1
0
 public void ThenAddressBoxNumberWasChanged(
     Fixture fixture,
     AddressId addressId,
     ImportSubaddressFromCrab importSubaddressFromCrab
     )
 {
     Assert(RegisteredAddressScenario(fixture)
            .When(importSubaddressFromCrab)
            .Then(addressId,
                  new AddressBoxNumberWasChanged(addressId, new BoxNumber(importSubaddressFromCrab.BoxNumber)),
                  importSubaddressFromCrab.ToLegacyEvent()));
 }
예제 #2
0
 public void ThenAddressRemovedException(
     AddressId addressId,
     AddressWasRegistered addressWasRegistered,
     AddressWasRemoved addressWasRemoved,
     ImportSubaddressFromCrab importSubaddressFromCrab)
 {
     Assert(new Scenario()
            .Given(addressId,
                   addressWasRegistered,
                   addressWasRemoved)
            .When(importSubaddressFromCrab)
            .Throws(new AddressRemovedException($"Cannot change removed address for address id {addressId}")));
 }
예제 #3
0
 private static void ImportSubaddressFromCrab(Address address, ImportSubaddressFromCrab message)
 {
     address.ImportSubaddressFromCrab(
         message.SubaddressId,
         message.HouseNumberId,
         message.BoxNumber,
         message.BoxNumberType,
         message.Lifetime,
         message.Timestamp,
         message.Operator,
         message.Modification,
         message.Organisation);
 }
예제 #4
0
 public static AddressSubaddressWasImportedFromCrab ToLegacyEvent(this ImportSubaddressFromCrab command)
 {
     return(new AddressSubaddressWasImportedFromCrab(
                command.SubaddressId,
                command.HouseNumberId,
                command.BoxNumber,
                command.BoxNumberType,
                command.Lifetime,
                command.Timestamp,
                command.Operator,
                command.Modification,
                command.Organisation));
 }
 public static ImportSubaddressFromCrab WithLifetime(this ImportSubaddressFromCrab command, CrabLifetime lifetime)
 {
     return(new ImportSubaddressFromCrab(
                command.SubaddressId,
                command.HouseNumberId,
                command.BoxNumber,
                command.BoxNumberType,
                lifetime,
                command.Timestamp,
                command.Operator,
                command.Modification,
                command.Organisation));
 }
        public void ThenNoRetiredEventWhenLifetimeIsFinite(
            Fixture fixture,
            AddressId addressId,
            ImportSubaddressFromCrab importSubaddressFromCrab)
        {
            importSubaddressFromCrab = importSubaddressFromCrab
                                       .WithLifetime(new Fixture().Customize(new NodaTimeCustomization()).Customize(new WithFiniteLifetime()).Create <CrabLifetime>());

            Assert(RetiredAddressScenario(fixture)
                   .When(importSubaddressFromCrab)
                   .Then(addressId,
                         new AddressBoxNumberWasChanged(addressId, importSubaddressFromCrab.BoxNumber),
                         importSubaddressFromCrab.ToLegacyEvent()));
        }
예제 #7
0
 public static ImportSubaddressFromCrab WithSubaddressId(this ImportSubaddressFromCrab command, CrabSubaddressId subaddressId)
 {
     return(new ImportSubaddressFromCrab(
                command.CaPaKey,
                subaddressId,
                command.HouseNumberId,
                command.BoxNumber,
                command.BoxNumberType,
                command.Lifetime,
                command.Timestamp,
                command.Operator,
                command.Modification,
                command.Organisation));
 }
예제 #8
0
        public void ThenAddressBoxNumberWasCorrectedWhenModificationIsCorrection(
            Fixture fixture,
            AddressId addressId,
            ImportSubaddressFromCrab importSubaddressFromCrab
            )
        {
            importSubaddressFromCrab = importSubaddressFromCrab.WithCrabModification(CrabModification.Correction);

            Assert(RegisteredAddressScenario(fixture)
                   .When(importSubaddressFromCrab)
                   .Then(addressId,
                         new AddressBoxNumberWasCorrected(addressId, new BoxNumber(importSubaddressFromCrab.BoxNumber)),
                         importSubaddressFromCrab.ToLegacyEvent()));
        }
 public void ThenPreviousStatusEventWhenLifetimeIsInfinite(
     Fixture fixture,
     AddressId addressId,
     ImportSubaddressFromCrab importSubaddressFromCrab)
 {
     Assert(RetiredAddressScenario(fixture)
            .Given <AddressWasRegistered>(addressId)
            .Given <AddressBecameCurrent>(addressId)
            .Given <AddressWasRetired>(addressId)
            .When(importSubaddressFromCrab)
            .Then(addressId,
                  new AddressBoxNumberWasChanged(addressId, importSubaddressFromCrab.BoxNumber),
                  new AddressBecameCurrent(addressId),
                  importSubaddressFromCrab.ToLegacyEvent()));
 }
예제 #10
0
        public void ThenAddressWasRemovedWhenModificationIsDelete(
            Fixture fixture,
            AddressId addressId,
            ImportSubaddressFromCrab importSubaddressFromCrab)
        {
            importSubaddressFromCrab = importSubaddressFromCrab
                                       .WithCrabModification(CrabModification.Delete);

            Assert(RegisteredAddressScenario(fixture)
                   .Given <AddressBoxNumberWasChanged>(addressId)
                   .When(importSubaddressFromCrab)
                   .Then(addressId,
                         new AddressWasRemoved(addressId),
                         importSubaddressFromCrab.ToLegacyEvent()));
        }
예제 #11
0
        public void RemoveViaSubaddressThenAddressRemovedException(
            AddressId addressId,
            AddressWasRegistered addressWasRegistered,
            AddressWasRemoved addressWasRemoved,
            ImportSubaddressFromCrab importSubaddressFromCrab)
        {
            var importSubaddressFromCrab2 = importSubaddressFromCrab.WithCrabModification(CrabModification.Delete);

            Assert(new Scenario()
                   .Given(addressId,
                          addressWasRegistered,
                          importSubaddressFromCrab.ToLegacyEvent(),
                          addressWasRemoved)
                   .When(importSubaddressFromCrab2)
                   .Then(addressId, importSubaddressFromCrab2.ToLegacyEvent()));
        }
예제 #12
0
        public void ThenAddressBoxNumberWasRemovedWhenBoxNumberIsEmpty(
            Fixture fixture,
            AddressId addressId,
            ImportSubaddressFromCrab importSubaddressFromCrab
            )
        {
            importSubaddressFromCrab = importSubaddressFromCrab
                                       .WithBoxNumber(new BoxNumber(string.Empty));

            Assert(RegisteredAddressScenario(fixture)
                   .Given <AddressBoxNumberWasChanged>(addressId)
                   .When(importSubaddressFromCrab)
                   .Then(addressId,
                         new AddressBoxNumberWasRemoved(addressId),
                         importSubaddressFromCrab.ToLegacyEvent()));
        }
예제 #13
0
        public void ThenNoChangeWhenBoxNumberIsTheSame(
            Fixture fixture,
            AddressId addressId,
            AddressBoxNumberWasChanged addressBoxNumberWasChanged,
            ImportSubaddressFromCrab importSubaddressFromCrab
            )
        {
            importSubaddressFromCrab = importSubaddressFromCrab
                                       .WithBoxNumber(new BoxNumber(addressBoxNumberWasChanged.BoxNumber));

            Assert(RegisteredAddressScenario(fixture)
                   .Given(addressId, addressBoxNumberWasChanged)
                   .When(importSubaddressFromCrab)
                   .Then(addressId,
                         importSubaddressFromCrab.ToLegacyEvent()));
        }