public void Setup()
        {
            _activateMembershipProduct = new Product(new ProductConfig
            {
                Type    = "Membership",
                SubType = "Activate"
            });

            _activateMembershipOrder = new Order(new OrderConfig {
                Id = "Test Activate Membership Order"
            });
            _activateMembershipOrder.SetProduct(_activateMembershipProduct);

            _upgradeMembershipProduct = new Product(new ProductConfig
            {
                Type    = "Membership",
                SubType = "Upgrade"
            });

            _upgradeMembershipOrder = new Order(new OrderConfig {
                Id = "Test Upgrade Membership Order"
            });
            _upgradeMembershipOrder.SetProduct(_upgradeMembershipProduct);

            _anyOtherOrder = new Order(new OrderConfig {
                Id = "An Order"
            });
            _anyOtherOrder.SetProduct(new Product(new ProductConfig {
                Type = "Anything"
            }));

            _membershipEmail = new MembershipEmail(new Mock <IServiceBus>().Object);
        }
        public void IsApplicable_Failed_Test(int id, string productName, ProductType productType)
        {
            var payment = new Payment(new Product(id, productName, productType));
            var rule    = new MembershipEmail(payment);

            var result = rule.IsApplicable();

            Assert.IsFalse(result);
        }
        public void Setup()
        {
            _membershipActivation = new Product(new ProductConfig {
                Id = "Expected Activation Id", SubType = "Activate"
            });
            _mockActivationOrder = new Mock <Order>();
            _mockActivationOrder.SetupGet(m => m.Product).Returns(_membershipActivation);

            _membershipUpgrade = new Product(new ProductConfig {
                Id = "Expected Upgrade Id", SubType = "Upgrade"
            });
            _mockUpgradeOrder = new Mock <Order>();
            _mockUpgradeOrder.SetupGet(m => m.Product).Returns(_membershipUpgrade);

            _mockServiceBus  = new Mock <IServiceBus>();
            _membershipEmail = new MembershipEmail(_mockServiceBus.Object);
        }