Ejemplo n.º 1
0
        private void givenEmailAddressWasChanged()
        {
            var command = ChangeCustomerEmailAddress.Build(customerID.Value, changedEmailAddress.Value);

            changedConfirmationHash = command.ConfirmationHash;
            registeredCustomer.ChangeEmailAddress(command);
        }
        public void ChangeCustomerEmailAddress_NewEmailAddress_CustomerEmailAddressChangedEventReturned()
        {
            // given
            var customerRegisteredEvent = CreateCustomerRegisteredEvent();
            var customer = Customer.Reconstitute(new[] { customerRegisteredEvent });

            string newEmailAddress            = "*****@*****.**";
            var    changeCustomerEmailAddress = new ChangeCustomerEmailAddress(_customerId.ToString(), newEmailAddress);

            // when
            var resultEvent = customer.ChangeCustomerEmailAddress(changeCustomerEmailAddress);

            // then
            Assert.NotNull(resultEvent);
            Assert.IsType <CustomerEmailAddressChanged>(resultEvent);
            var customerEmailAddressChanged = (CustomerEmailAddressChanged)resultEvent;

            Assert.Equal(_customerId.Value, customerEmailAddressChanged.CustomerId.Value);
            Assert.NotEqual(_hash.Value, customerEmailAddressChanged.ConfirmationHash.Value);
            Assert.NotEqual(Guid.Empty, customerEmailAddressChanged.ConfirmationHash.Value);
            Assert.Equal(newEmailAddress, customerEmailAddressChanged.EmailAddress.Value);
            Assert.False(customer.IsEmailAddressConfirmed);
            Assert.Equal(newEmailAddress, customer.EmailAddress.Value);
            Assert.Equal(customerEmailAddressChanged.ConfirmationHash.Value, customer.Hash.Value);
        }
Ejemplo n.º 3
0
        public static List <IEvent> ChangeEmailAddress(List <IEvent> eventStream, ChangeCustomerEmailAddress command)
        {
            var current = CustomerState.Reconstitute(eventStream);

            // TODO

            return(new List <IEvent>()); // TODO
        }
Ejemplo n.º 4
0
        public IEvent ChangeCustomerEmailAddress(ChangeCustomerEmailAddress changeCustomerEmailAddress)
        {
            EmailAddress            = changeCustomerEmailAddress.EmailAddress;
            Hash                    = changeCustomerEmailAddress.Hash;
            IsEmailAddressConfirmed = false;

            return(new CustomerEmailAddressChanged(Id, changeCustomerEmailAddress.EmailAddress, changeCustomerEmailAddress.Hash));
        }
 public static CustomerState ChangeEmailAddress(CustomerState current, ChangeCustomerEmailAddress command)
 {
     return(new CustomerState(
                current.CustomerId,
                command.EmailAddress,
                command.ConfirmationHash,
                current.Name,
                false
                ));
 }
Ejemplo n.º 6
0
        private void WHEN_ChangeEmailAddress_With(EmailAddress emailAddress)
        {
            var command = ChangeCustomerEmailAddress.Build(customerID.Value, emailAddress.Value);

            try {
                recordedEvents = registeredCustomer.ChangeEmailAddress(command);
            } catch (NullReferenceException e) {
                throw new XunitException(THelper.propertyIsNull("emailAddress"));
            }
        }
Ejemplo n.º 7
0
        private void WHEN_ChangeEmailAddress_With(EmailAddress emailAddress)
        {
            var command = ChangeCustomerEmailAddress.Build(customerID.Value, emailAddress.Value);

            try {
                recordedEvents          = Customer5.ChangeEmailAddress(eventStream, command);
                changedConfirmationHash = command.ConfirmationHash;
            } catch (NullReferenceException e) {
                throw new XunitException(THelper.propertyIsNull("emailAddress"));
            }
        }
Ejemplo n.º 8
0
        void changeEmailAddress()
        {
            // Given
            givenARegisteredCustomer();

            // When changeCustomerEmailAddress
            var command         = ChangeCustomerEmailAddress.Build(customerID.Value, changedEmailAddress.Value);
            var changedCustomer = Customer2.ChangeEmailAddress(registeredCustomer, command);

            // Then the emailAddress and confirmationHash should be changed and the emailAddress should be unconfirmed
            Assert.Equal(command.EmailAddress, changedCustomer.EmailAddress);
            Assert.Equal(command.ConfirmationHash, changedCustomer.ConfirmationHash);
            Assert.False(changedCustomer.IsEmailAddressConfirmed);
        }
Ejemplo n.º 9
0
        public void ChangeCustomerEmailAddress_SameEmailAddressAgain_NoEventReturned()
        {
            // given
            var customerRegisteredEvent = CreateCustomerRegisteredEvent();
            var customer = Customer.Reconstitute(new[] { customerRegisteredEvent });

            string newEmailAddress            = _emailAddress.Value;
            var    changeCustomerEmailAddress = new ChangeCustomerEmailAddress(_customerId.Value.ToString(), newEmailAddress);

            // when
            var resultEvent = customer.ChangeCustomerEmailAddress(changeCustomerEmailAddress);

            // then
            Assert.Null(resultEvent);
        }
Ejemplo n.º 10
0
        public static List <IEvent> ChangeEmailAddress(List <IEvent> eventStream, ChangeCustomerEmailAddress command)
        {
            EmailAddress emailAddress = null;

            foreach (var @event in eventStream)
            {
                if (@event is CustomerRegistered)
                {
                    // TODO
                }
                else if (@event is CustomerEmailAddressChanged)
                {
                    // TODO
                }
            }

            // TODO

            return(new List <IEvent>()); // TODO
        }
Ejemplo n.º 11
0
        public void ChangeCustomerEmailAddress_SameEmailAddressLikeChangedToPreviously_NoEventReturned()
        {
            // given
            var customerRegisteredEvent     = CreateCustomerRegisteredEvent();
            var firstNewEmailAddress        = new EmailAddress("*****@*****.**");
            var firstNewEmailHash           = new CustomHash();
            var customerEmailAddressChanged = new CustomerEmailAddressChanged(
                _customerId,
                firstNewEmailAddress,
                firstNewEmailHash);

            var customer = Customer.Reconstitute(
                new IEvent[] { customerRegisteredEvent, customerEmailAddressChanged });

            var changeCustomerEmailAddress = new ChangeCustomerEmailAddress(
                _customerId.Value.ToString(),
                firstNewEmailAddress.Value);

            // when
            var resultEvent = customer.ChangeCustomerEmailAddress(changeCustomerEmailAddress);

            // then
            Assert.Null(resultEvent);
        }
Ejemplo n.º 12
0
 public IEvent ChangeCustomerEmailAddress(ChangeCustomerEmailAddress changeCustomerEmailAddress)
 {
     return null
 }
Ejemplo n.º 13
0
        public static List <IEvent> ChangeEmailAddress(CustomerState current, ChangeCustomerEmailAddress command)
        {
            // TODO

            return(new List <IEvent>()); // TODO
        }
Ejemplo n.º 14
0
 public IEvent ChangeCustomerEmailAddress(ChangeCustomerEmailAddress changeCustomerEmailAddress)
 {
     return(new CustomerEmailAddressChanged(Id, changeCustomerEmailAddress.EmailAddress, changeCustomerEmailAddress.Hash));
 }
Ejemplo n.º 15
0
 public void ChangeEmailAddress(ChangeCustomerEmailAddress command)
 {
     EmailAddress            = command.EmailAddress;
     ConfirmationHash        = command.ConfirmationHash;
     IsEmailAddressConfirmed = false;
 }
Ejemplo n.º 16
0
 public void ChangeEmailAddress(ChangeCustomerEmailAddress command)
 {
     // TODO
 }
Ejemplo n.º 17
0
        public List <IEvent> ChangeEmailAddress(ChangeCustomerEmailAddress command)
        {
            // TODO

            return(new List <IEvent>()); // TODO
        }