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); }
private void __and_EmailAddressWasChanged() { currentState.Apply( new List <IEvent> { CustomerEmailAddressChanged.Build(customerID, changedEmailAddress, changedConfirmationHash) } ); }
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); }
private void __and_EmailAddressWasChanged() { registeredCustomer.Apply( CustomerEmailAddressChanged.Build(customerID, changedEmailAddress, changedConfirmationHash) ); }
private void __and_EmailAddressWasChanged() { eventStream.Add(CustomerEmailAddressChanged.Build(customerID, changedEmailAddress, changedConfirmationHash)); emailAddress = changedEmailAddress; confirmationHash = changedConfirmationHash; }
private void Apply(CustomerEmailAddressChanged @event) { _emailAddress.ChangeEmailAddress(@event.EmailAddress); }