public void CheckNull()
        {
            var obj = new EmailRule <string>();

            Assert.IsNotNull(obj);
            Assert.IsFalse(obj.Check(null));
        }
예제 #2
0
        public IActionResult Create(EmailRuleViewModel emailRuleVM)
        {
            if (ModelState.IsValid)
            {
                var emailRule = new EmailRule()
                {
                    PassionBrandId = emailRuleVM.PassionBrandId,
                    Result         = emailRuleVM.Result,
                    OrderType      = emailRuleVM.OrderType
                };

                var emailRuleDetailId = _emailRuleRepository.CreateEmailRule(emailRule);

                List <EmailRuleDetail> erds = new List <EmailRuleDetail>();
                foreach (var item in emailRuleVM.EmailIds)
                {
                    var erd = new EmailRuleDetail()
                    {
                        EmailId     = item,
                        EmailRuleId = emailRuleDetailId
                    };

                    erds.Add(erd);
                }

                _emailRuleRepository.CreateEmailRuleDetail(erds);
                ViewBag.message = "Success";
            }
            return(RedirectToAction("Index"));
        }
        public void CheckInValid(string email)
        {
            var obj = new EmailRule <string>();

            Assert.IsNotNull(obj);
            Assert.IsFalse(obj.Check(email));
        }
예제 #4
0
        public void Ctor_WithoutPattern_InitializesPropertiesCorrectly(
            string message)
        {
            var rule = new EmailRule(message);

            Assert.Equal(message, rule.ValidationMessage);
            Assert.IsAssignableFrom <IValidationRule <string> >(rule);
        }
예제 #5
0
        public void Check_WithCustomEmailPattern_ForInvalidEmail_ReturnsFalse(string value)
        {
            var rule = new EmailRule(ErrorMessage, CustomEmailPattern);

            var isValid = rule.Check(value);

            Assert.False(isValid);
        }
예제 #6
0
        public void Wrong_Email_should_notBe_valid()
        {
            string    email  = "1234@ddd";
            EmailRule rule   = new EmailRule("");
            bool      actual = rule.Validate(email);

            actual.Should().BeFalse("EMail Pattern <> match should be wrong");
        }
예제 #7
0
        public void Email_should_be_valid()
        {
            string    email  = "*****@*****.**";
            EmailRule rule   = new EmailRule("");
            bool      actual = rule.Validate(email);

            actual.Should().BeTrue("EMail Pattern <> match should be wrong");
        }
예제 #8
0
        public void ErrorMessage_should_be_equal_to_given_message()
        {
            string    message       = "Wrong Email";
            EmailRule rule          = new EmailRule(message);
            string    actualMessage = rule.Message;

            actualMessage.Should().BeEquivalentTo(message, "Wrong error-message");
        }
        public void Create()
        {
            var obj = new EmailRule <string>();

            Assert.IsNotNull(obj);

            Assert.IsNull(obj.ValidationMessage);
        }
예제 #10
0
        public void Empty_Email_should_be_valid()
        {
            string    email  = string.Empty;
            EmailRule rule   = new EmailRule("");
            bool      actual = rule.Validate(email);

            actual.Should().BeTrue("EMail is not empty");
        }
예제 #11
0
        /// <summary>
        /// 验证输入是否是Email
        /// </summary>
        /// <param name="box">验证框</param>
        /// <param name="errorMessage">提示信息</param>
        /// <returns></returns>
        public static ValidBox Email(this ValidBox box, string errorMessage)
        {
            var newBox = new EmailRule {
                ErrorMessage = errorMessage
            }.ToValidBox();

            return(ValidBox.Merge(box, newBox));
        }
예제 #12
0
        public void Check_WithDefaultEmailPattern_ForValidEmail_ReturnsTrue(string value)
        {
            var rule = new EmailRule(ErrorMessage);

            var isValid = rule.Check(value);

            Assert.True(isValid);
        }
예제 #13
0
        public void Ctor_WithNonNullPattern_InitializesPropertiesCorrectly(
            [CombinatorialValues(null, "", ErrorMessage)] string message,
            [CombinatorialValues("", CustomEmailPattern)] string emailPattern)
        {
            var rule = new EmailRule(message, emailPattern);

            Assert.Equal(message, rule.ValidationMessage);
            Assert.IsAssignableFrom <IValidationRule <string> >(rule);
        }
예제 #14
0
        public void IsApplication_Should_Return_True_For_Membership_Product()
        {
            var rule    = new EmailRule();
            var product = new Product {
                Type = ProductType.Membership
            };

            rule.IsApplicable(product).Should().BeTrue();
            rule.Apply().Should().Be("Sending email to the owner for activation/upgrade");
        }
        public void Create_SetGetValidationMessage()
        {
            var msg = "toto tata tutu";
            var obj = new EmailRule <string>()
            {
                ValidationMessage = msg
            };

            Assert.IsNotNull(obj);

            Assert.AreEqual(msg, obj.ValidationMessage);
        }
예제 #16
0
        public void EvaluateShouldUseCustomErrorMessage()
        {
            // arrange
            var expected = "Test";
            var rule = new EmailRule( expected );
            var property = new Property<string>( "Email", "invalid" );

            // act
            var actual = rule.Evaluate( property );

            // assert
            Assert.Equal( expected, actual.ErrorMessage );
        }
예제 #17
0
        public void EvaluateShouldReturnExpectedResultForValidValue()
        {
            // arrange
            var rule = new EmailRule();
            var property = new Property<string>( "Email", "*****@*****.**" );
            var expected = ValidationResult.Success;

            // act
            var actual = rule.Evaluate( property );

            // assert
            Assert.Equal( expected, actual );
        }
예제 #18
0
        public void EvaluateShouldReturnSuccessForNullOrEmpty()
        {
            // arrange
            string value = null;
            var rule = new EmailRule();
            var property = new Property<string>( "Email", value );
            var expected = ValidationResult.Success;

            // act
            var actual = rule.Evaluate( property );

            // assert
            Assert.Equal( expected, actual );
        }
예제 #19
0
        public void EvaluateShouldReturnExpectedResultForInvalidValue()
        {
            // arrange
            var rule = new EmailRule();
            var property = new Property<string>( "Email", "foo" );

            // act
            var actual = rule.Evaluate( property );

            // assert
            Assert.Equal( "The Email field is not a valid e-mail address.", actual.ErrorMessage );
            Assert.Equal( 1, actual.MemberNames.Count() );
            Assert.Equal( "Email", actual.MemberNames.Single() );
        }
예제 #20
0
        public int CreateEmailRule(EmailRule emailRule)
        {
            try
            {
                _appDbContext.EmailRules.Add(emailRule);

                _appDbContext.SaveChanges();

                return(emailRule.EmailRuleId);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #21
0
        public IActionResult Details(EmailRuleViewModel emailRuleVM)
        {
            if (ModelState.IsValid)
            {
                var emailRule = new EmailRule()
                {
                    EmailRuleId    = emailRuleVM.EmailRuleId,
                    PassionBrandId = emailRuleVM.PassionBrandId,
                    Result         = emailRuleVM.Result,
                    OrderType      = emailRuleVM.OrderType
                };
                _emailRuleRepository.UpdateEmailRule(emailRule);

                _emailRuleRepository.DeleteEmailRuleDetailByEmailRuleId(emailRuleVM.EmailRuleId);
                List <EmailRuleDetail> erds = new List <EmailRuleDetail>();
                foreach (var item in emailRuleVM.EmailIds)
                {
                    var erd = new EmailRuleDetail()
                    {
                        EmailId     = item,
                        EmailRuleId = emailRuleVM.EmailRuleId
                    };

                    erds.Add(erd);
                }

                _emailRuleRepository.CreateEmailRuleDetail(erds);

                ViewBag.message = "Success";
            }

            var passionBrands = PassionBrands();
            var emails        = Emails();
            var results       = GetEnumList(typeof(InspectionResultEnum));
            var orderTypes    = GetEnumList(typeof(OrderTypeEnum));

            emailRuleVM.PassionBrands = passionBrands;
            emailRuleVM.Emails        = emails;
            emailRuleVM.ResultList    = results;
            emailRuleVM.OrderTypeList = orderTypes;
            //return View(emailRuleVM);
            return(RedirectToAction("Index"));
        }
예제 #22
0
        public void UpdateEmailRule(EmailRule emailRule)
        {
            try
            {
                var existing = _appDbContext.EmailRules.SingleOrDefault(x => x.EmailRuleId == emailRule.EmailRuleId);

                if (existing != null)
                {
                    existing.PassionBrandId = emailRule.PassionBrandId;
                    existing.Result         = emailRule.Result;
                    existing.OrderType      = emailRule.OrderType;

                    _appDbContext.EmailRules.Update(existing);
                    _appDbContext.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #23
0
        public void Email_Rule_Test()
        {
            IBussinessRuleEngine businessEngine = new BusinessRuleEngine();
            var rule = new EmailRule();

            businessEngine.AddRule(rule);
            var agent = new Agent {
                Name = "Test"
            };
            var product = new Product
            {
                Attribute = ProductAttribute.NONPHYSICAL,
                Id        = 1,
                Type      = ProductType.Upgrade,
                Name      = "Upgrade to Premium"
            };

            var orderEngine = new OrderProcessor(businessEngine, agent);

            orderEngine.Add(new OrderLine(product, 1));
            orderEngine.Process().Single().Should().Be("Sending email to the owner for activation/upgrade");
        }
예제 #24
0
        /// <summary>
        /// 验证输入是否是Email
        /// </summary>
        /// <param name="box">验证框</param>
        /// <returns></returns>
        public static ValidBox Email(this ValidBox box)
        {
            var newBox = new EmailRule().ToValidBox();

            return(ValidBox.Merge(box, newBox));
        }