ConfirmCustomerEmailAddress_WrongHashAfterPreviousCorrectConfirmation_ConfirmationFailedEventReturned()
        {
            // given
            var customerRegisteredEvent            = CreateCustomerRegisteredEvent();
            var customerEmailAddressConfirmedEvent = new CustomerEmailAddressConfirmed(_customerId);

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

            var wrongHash = Guid.NewGuid().ToString();

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

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

            // then
            Assert.NotNull(resultEvent);
            Assert.IsType <CustomerEmailAddressConfirmationFailed>(resultEvent);

            var confirmationFailed = (CustomerEmailAddressConfirmationFailed)resultEvent;

            Assert.Equal(_customerId.Value, confirmationFailed.Id.Value);
        }
示例#2
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);
        }
示例#3
0
 private void __and_EmailAddressWasConfirmed()
 {
     currentState.Apply(
         new List <IEvent> {
         CustomerEmailAddressConfirmed.Build(customerID)
     }
         );
 }
        public void Reconstitute_EmailConfirmed_CustomerCreated()
        {
            // arrange
            var customerRegisteredEvent            = CreateCustomerRegisteredEvent();
            var customerEmailAddressConfirmedEvent = new CustomerEmailAddressConfirmed(_customerId);

            // act
            var reconstituteResult = Customer.Reconstitute(
                new List <IEvent> {
                customerRegisteredEvent, customerEmailAddressConfirmedEvent
            });

            // assert
            Assert.True(reconstituteResult.IsEmailAddressConfirmed);
        }
        ConfirmCustomerEmailAddress_CorrectHashAfterPreviousCorrectConfirmation_NoEventReturned()
        {
            // given
            var customerRegisteredEvent            = CreateCustomerRegisteredEvent();
            var customerEmailAddressConfirmedEvent = new CustomerEmailAddressConfirmed(_customerId);

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

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

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

            // then
            Assert.Null(resultEvent);
        }
示例#6
0
        public void Reconstitute_EmailComfirmed_CustomerCreated()
        {
            // arrange
            var customerRegisteredEvent            = CreateCustomerRegisteredEvent();
            var customerEmailAddressConfirmedEvent = new CustomerEmailAddressConfirmed(_customerId);

            // act
            var reconstituteResult = Customer.Reconstitute(
                new List <IEvent> {
                customerRegisteredEvent, customerEmailAddressConfirmedEvent
            });

            // assert
            Assert.Equal(_customerId.Value, reconstituteResult.Id.Value);
            Assert.Equal(_emailAddress.Value, reconstituteResult.EmailAddress.Value);
            Assert.Equal(_hash.Value, reconstituteResult.Hash.Value);
            Assert.Equal(_personName.GivenName, reconstituteResult.PersonName.GivenName);
            Assert.Equal(_personName.FamilyName, reconstituteResult.PersonName.FamilyName);
        }
示例#7
0
 private void __and_EmailAddressWasConfirmed()
 {
     registeredCustomer.Apply(
         CustomerEmailAddressConfirmed.Build(customerID)
         );
 }
示例#8
0
 private void __and_EmailAddressWasConfirmed()
 {
     eventStream.Add(CustomerEmailAddressConfirmed.Build(customerID));
 }