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); }
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"); }