Beispiel #1
0
        public void Should_notify_customer_in_his_mail()
        {
            const string expectedMessage = "Your membership was activated, congratulations";
            var          customer        = new Customer("*****@*****.**");
            var          mailSender      = Substitute.For <MailSender>();
            var          domainEvent     = new MembershipActivated(customer);

            new NotifyCustomerMembershipWasActivated(mailSender).Handle(domainEvent);

            mailSender.Received(1).Send(customer.Mail, expectedMessage);
        }
Beispiel #2
0
        public void Handle(MembershipActivated e)
        {
            var customer = _repository.Get(e.CustomerId) ?? new CustomerMemberships(e.CustomerId, new List <MembershipInfo>());
            var info     = new MembershipInfo(e.OrderId, e.Description, e.Price, e.ActivationTime);

            customer.Activate(info);
            _repository.Save(customer);

            Console.WriteLine($"Membership activated for order {e.OrderId}:");
            Console.WriteLine($"\tDescription: {e.Description}");
            Console.WriteLine($"\tPrice: {e.Price}");
        }
        public void Apply(Order order)
        {
            var membershipActivated = new MembershipActivated(order.Id, order.Product.Id);

            _serviceBus.PublishEvent(membershipActivated);
        }
 public void Setup()
 {
     _membershipActivatedEvent = new MembershipActivated("Expected Order Id", "Expected Membership Id");
 }