Ejemplo n.º 1
0
        /// <summary>
        /// Verify the form fields that are displayed
        /// </summary>
        private void VerifyFormDisplay()
        {
            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.CompanyInputGroup, QuotePom.QuoteTestData.Company, FieldCss.Initial);
            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.NameInputGroup, QuotePom.QuoteTestData.Name, FieldCss.Initial);
            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.PhoneInputGroup, QuotePom.QuoteTestData.Phone, FieldCss.Initial);
            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.EmailInputGroup, QuotePom.QuoteTestData.Email, FieldCss.Initial);
            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.MessageInputGroup, QuotePom.QuoteTestData.Message, FieldCss.Initial);

            QuotePom.QuoteTestData.ClearText.MatchesActual(QuotePom.Clear.Text, "Clear Button");
            QuotePom.QuoteTestData.SubmitText.MatchesActual(QuotePom.Submit.Text, "Submit Button");

            // The recaptcha functionality was removed for now - July 2018
            //Assert.IsTrue(QuotePom.Recaptcha.Displayed, "Recaptcha Missing");
            //QuotePom.Recaptcha.GetAttribute("data-sitekey").MatchesActual(QuotePom.QuoteTestData.RecaptchaPublicKey, "Recaptcha Public Key");

            // Verify the message field
            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.MessageInputGroup, QuotePom.QuoteTestData.Message, FieldCss.Initial);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <remarks>
        /// The input needs to have it's clicked function called to make the validation fire
        /// </remarks>
        private void VerifyTextareaValidation()
        {
            // Clear the fields to reset everything
            QuotePom.Clear.Click();

            var input = MaterializeInputGroup.GetMaterializeInputField(QuotePom.MessageInputGroup, QuotePom.QuoteTestData.Message);

            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.MessageInputGroup, QuotePom.QuoteTestData.Message, FieldCss.Initial);

            // Enter a valid value
            input.Click();
            input.SendKeys(QuotePom.QuoteTestData.Message.UpdateTextTo("This is a test message"));
            QuotePom.Form.Click();
            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.MessageInputGroup, QuotePom.QuoteTestData.Message, FieldCss.Valid);

            // Enter an invalid value
            input.SendKeys(QuotePom.QuoteTestData.Message.UpdateTextTo(string.Empty));
            input.Clear();
            input.SendKeys(Keys.Delete);
            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.MessageInputGroup, QuotePom.QuoteTestData.Message, FieldCss.Invalid);

            // Clear the fields
            QuotePom.Clear.Click();
            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.MessageInputGroup, QuotePom.QuoteTestData.Message, FieldCss.Initial);

            // Clear out the test value
            QuotePom.QuoteTestData.Message.InputText = null;

            // Clear the fields
            QuotePom.Clear.Click();
            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.MessageInputGroup, QuotePom.QuoteTestData.Message, FieldCss.Initial);

            // Enter an invalid value
            input.SendKeys(QuotePom.QuoteTestData.Message.UpdateTextTo(string.Empty));

            // Submit the form and check the validation display
            QuotePom.Submit.Click();

            // Because we're not active here we don't want to compare the validation label text
            MaterializeInputGroup.VerifyMaterializeInputField(QuotePom.MessageInputGroup, QuotePom.QuoteTestData.Message, FieldCss.Invalid);
        }
Ejemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="messageTestData"></param>
        private void InitializeMessage(MaterializeInputGroup messageTestData)
        {
            messageTestData.IconClasses = MaterializeCssStyles.MaterializeInputGroupIconClassesInitial;
            messageTestData.IconText    = "message";

            messageTestData.InputClasses = MaterializeCssStyles.MaterializeInputGroupInputClassesInitial;
            messageTestData.InputText    = null;

            messageTestData.LabelClasses = MaterializeCssStyles.MaterializeInputGroupLabelClassesInitial;
            messageTestData.LabelText    = "Message";

            messageTestData.ValidationLabelClasses = MaterializeCssStyles.MaterializeInputGroupValidationLabelClassesInitial;
            messageTestData.ValidationLabelText    = new Dictionary <string, string>
            {
                { "Required", "Please provide details" },
                { "Length", "Please reduce the number of characters" }
            };

            messageTestData.FieldInputType = "textarea";

            messageTestData.Initialized = true;
        }
Ejemplo n.º 4
0
        ///// <summary>
        /////
        ///// </summary>
        ///// <param name="value"></param>
        ///// <param name="getFor"></param>
        ///// <param name="isTextarea"></param>
        ///// <returns></returns>
        //public static string UpdateCssTo(this IMaterializeGroup value, string css, FieldCss getFor, bool isTextarea)
        //{
        //    if (isTextarea) css += MaterializeCssStyles.MaterializeTextarea;
        //    return value.UpdateCssTo(css, getFor);
        //}

        ///// <summary>
        /////
        ///// </summary>
        ///// <param name="value"></param>
        ///// <param name="getFor"></param>
        ///// <param name="abortFor"></param>
        ///// <returns></returns>
        //public static string UpdateCssTo(this IMaterializeGroup value, string css, FieldCss getFor, FieldCss abortFor)
        //{
        //    if (getFor == abortFor) return css;
        //    return value.UpdateCssTo(css, getFor);
        //}

        /// <summary>
        /// Updates the value of the input element [InputText] for the input group to the value passed in
        /// </summary>
        /// <param name="inputGroup">The MaterializeInputGroup containing the input element</param>
        /// <param name="value">The new value for the input element</param>
        /// <returns>The value of the input element or the input group</returns>
        public static string UpdateTextTo(this MaterializeInputGroup inputGroup, string value)
        {
            inputGroup.InputText = value;
            return(inputGroup.InputText);
        }
Ejemplo n.º 5
0
        /// <summary>
        ///
        /// </summary>
        /// <remarks>
        /// The input needs to have it's clicked function called to make the validation fire
        /// </remarks>
        private void VerifyInputValidation(IWebElement inputGroup, MaterializeInputGroup testData,
                                           string validValue, string invalidValueLength, string invalidValueRegEx)
        {
            var icon  = MaterializeInputGroup.GetMaterializeIconField(inputGroup);
            var input = MaterializeInputGroup.GetMaterializeInputField(inputGroup, testData);

            // Clear the fields to reset everything
            QuotePom.Clear.Click();

            // Test - Initial
            MaterializeInputGroup.VerifyMaterializeInputField(inputGroup, testData, FieldCss.Initial);

            // Test - Valid Value
            input.SendKeys(testData.UpdateTextTo(validValue));
            icon.Click();
            input.Click();
            MaterializeInputGroup.VerifyMaterializeInputField(inputGroup, testData, FieldCss.Valid);

            // Test - Invalid Regex Value
            input.Clear();
            input.SendKeys(testData.UpdateTextTo(invalidValueRegEx));
            icon.Click();
            input.Click();
            MaterializeInputGroup.VerifyMaterializeInputField(inputGroup, testData, FieldCss.Invalid, "RegEx");

            // Clear the fields
            input.SendKeys(testData.UpdateTextTo(string.Empty));
            QuotePom.Clear.Click();
            MaterializeInputGroup.VerifyMaterializeInputField(inputGroup, testData, FieldCss.Initial);

            // Enter an invalid value - Length
            input.SendKeys(testData.UpdateTextTo(invalidValueLength));
            icon.Click();
            _actions.MoveToElement(input).Click().Build().Perform();
            MaterializeInputGroup.VerifyMaterializeInputField(inputGroup, testData, FieldCss.Invalid, "Length");

            // Enter an invalid value - Missing
            input.SendKeys(testData.UpdateTextTo(string.Empty));
            input.Clear();
            icon.Click();
            _actions.MoveToElement(input).Click().Build().Perform();
            MaterializeInputGroup.VerifyMaterializeInputField(inputGroup, testData, FieldCss.Invalid, "Required");

            // Enter a valid value
            input.Clear();
            input.SendKeys(testData.UpdateTextTo(validValue));
            icon.Click();
            input.Click();
            MaterializeInputGroup.VerifyMaterializeInputField(inputGroup, testData, FieldCss.Valid);

            // Clear out the test value
            testData.InputText = null;

            // Clear the fields
            QuotePom.Clear.Click();
            MaterializeInputGroup.VerifyMaterializeInputField(inputGroup, testData, FieldCss.Initial);

            // Enter an invalid value
            input.SendKeys(testData.UpdateTextTo(invalidValueRegEx));

            // Submit the form and check the validation display
            QuotePom.Submit.Click();

            // Check in validation message
            input.Click();
            MaterializeInputGroup.VerifyMaterializeInputField(inputGroup, testData, FieldCss.Invalid, "RegEx");
        }