コード例 #1
0
        public void ConfirmCustomerEmailAddress_ConfirmUpdatedEmailAddress_AddressConfirmedEventReturned()
        {
            // given
            var customerRegisteredEvent = CreateCustomerRegisteredEvent();

            var addressConfirmedEvent = new CustomerEmailAddressConfirmed(_customerId);

            var newEmailAddress             = new EmailAddress("*****@*****.**");
            var newEmailHash                = new CustomHash();
            var customerEmailAddressChanged = new CustomerEmailAddressChanged(
                _customerId,
                newEmailAddress,
                newEmailHash);

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

            var confirmCustomerEmailAddress = new ConfirmCustomerEmailAddress(
                _customerId.Value.ToString(),
                newEmailHash.Value.ToString());

            // when
            var resultEvent = customer.ConfirmCustomerEmailAddress(confirmCustomerEmailAddress);

            // then
            Assert.NotNull(resultEvent);
            Assert.IsType <CustomerEmailAddressConfirmed>(resultEvent);
            var addressConfirmed = (CustomerEmailAddressConfirmed)resultEvent;

            Assert.Equal(_customerId.Value, addressConfirmed.Id.Value);
            Assert.True(customer.IsEmailAddressConfirmed);
        }
コード例 #2
0
 private void __and_EmailAddressWasChanged()
 {
     currentState.Apply(
         new List <IEvent> {
         CustomerEmailAddressChanged.Build(customerID, changedEmailAddress, changedConfirmationHash)
     }
         );
 }
コード例 #3
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);
        }
コード例 #4
0
 private void __and_EmailAddressWasChanged()
 {
     registeredCustomer.Apply(
         CustomerEmailAddressChanged.Build(customerID, changedEmailAddress, changedConfirmationHash)
         );
 }
コード例 #5
0
 private void __and_EmailAddressWasChanged()
 {
     eventStream.Add(CustomerEmailAddressChanged.Build(customerID, changedEmailAddress, changedConfirmationHash));
     emailAddress     = changedEmailAddress;
     confirmationHash = changedConfirmationHash;
 }
コード例 #6
0
 private void Apply(CustomerEmailAddressChanged @event)
 {
     _emailAddress.ChangeEmailAddress(@event.EmailAddress);
 }