public void Test_UpgradeMembershipRule()
        {
            // Arrange
            var temp = new UpgradeMembershipRule();

            // Run
            var result = temp.Execute();

            // Asser
            Assert.IsNotNull(temp);
            Assert.IsTrue(result);
            Assert.AreEqual(RuleCommandEnum.UpgradeMembership, temp.RuleCommand);
        }
        public void Execute_Test(Order order, string expected)
        {
            var cutomerNotifiermock = new Moq.Mock <ICutomerNotifier>(MockBehavior.Strict);

            cutomerNotifiermock.Setup(x => x.Notify());
            cutomerNotifiermock.Setup(x => x.Register(It.IsAny <RegistrationData>()));
            cutomerNotifiermock.Setup(x => x.Remove(It.IsAny <int>()));

            var sut = new UpgradeMembershipRule(cutomerNotifiermock.Object);

            var actual = sut.Execute(order);

            Assert.That(expected, Is.EqualTo(actual));
            cutomerNotifiermock.Verify(m => m.Register(It.IsAny <RegistrationData>()), Moq.Times.Once);
            cutomerNotifiermock.Verify(m => m.Notify(), Moq.Times.Once);
        }
Example #3
0
        public void Add_Upgrade_Membership_Rule()
        {
            Payment payment = new Payment();

            payment.PaymentType = Enum_PaymentType.Upgrade;
            payment.ProductName = "Golf Club Membership";
            payment.IsBook      = false;
            IRule rule = new UpgradeMembershipRule();

            ruleManager.AddRule(rule);
            rule = new E_MailRule();
            ruleManager.AddRule(rule);
            var  ruleResult = ruleManager.ExecuteRules(payment);
            bool isMembershipUpgradeRuleApplied = ruleResult.Contains("Upgrade Membership");

            Assert.IsTrue(isMembershipUpgradeRuleApplied);
            bool isActivationMailSent = ruleResult.Contains("Mail To Owner About Membership Upgradation");

            Assert.IsTrue(isActivationMailSent);
        }