/// <summary>
        /// Generates the default value test case.
        /// </summary>
        /// <param name="control">The control.</param>
        /// <returns></returns>
        private TestCaseComponent GenerateDefaultValueTestCase(xControl control)
        {
            if (!string.IsNullOrEmpty(control.Value) || control.PrimaryKey)
            {
                return(null);
            }

            int minValue, maxValue;

            if (!int.TryParse(control.MinValue, out minValue))
            {
                minValue = 1;
            }
            if (!int.TryParse(control.MaxValue, out maxValue))
            {
                maxValue = 9999;
            }

            var testValue = RandomValueHelper.GenerateRandomInteger(minValue, maxValue);

            return(new TestCaseComponent
            {
                Name = $"{control.Name}_Default",
                Type = TestCaseType.DEFAULT,
                TestCaseSetter = string.Format("SetTextbox(\"{0}\", {1});", control.Name, testValue),
                TestCaseDBValidator = string.Format("Assert_Data(\"{0}\", {1});", control.Name, testValue),
                TestCaseEditModeValidator = string.Format("AssertTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
                TestCaseViewModeValidator = string.Format("AssertTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
                Description = string.Empty,
                WillSaveSucceed = true
            });
        }
Beispiel #2
0
        /// <summary>
        /// Generates the less than maximum length test case.
        /// </summary>
        /// <param name="control">The control.</param>
        /// <returns></returns>
        private TestCaseComponent GenerateLessThanMaxLengthTestCase(xControl control)
        {
            var testValue = RandomValueHelper.GenerateRandomString(control.MaxLength - 1);

            return(new TestCaseComponent
            {
                Name = $"{control.Name}_MaxLength_Negative",
                Type = TestCaseType.POSITIVE,
                TestCaseSetter = string.Format("SetTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
                TestCaseDBValidator = string.Format("Assert_Data(\"{0}\", \"{1}\");", control.Name, testValue),
                TestCaseEditModeValidator = string.Format("AssertTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
                TestCaseViewModeValidator = string.Format("AssertTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
                WillSaveSucceed = true,
                Description = string.Format("TestCase for testing MaxLength of TextBox ({0}). Value is less than MaxLength.", control.Caption)
            });
        }
Beispiel #3
0
        /// <summary>
        /// Generates the greater than maximum length test case.
        /// </summary>
        /// <param name="control">The control.</param>
        /// <returns></returns>
        private TestCaseComponent GenerateGreaterThanMaxLengthTestCase(xControl control)
        {
            var testValue = RandomValueHelper.GenerateRandomString(control.MaxLength + 1);

            return(new TestCaseComponent
            {
                Name = $"{control.Name}_MaxLength_Negative",
                Type = TestCaseType.NEGATIVE,
                TestCaseSetter = string.Format("SetTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
                //TestCaseDBValidator = string.Format("Assert_Data(\"{0}\", \"{1}\");", control.Name, testValue.Substring(0, testValue.Length - 1)),
                //TestCaseEditModeValidator = string.Format("AssertTextbox(\"{0}\", \"{1}\");", control.Name, testValue.Substring(0, testValue.Length - 1)),
                //TestCaseViewModeValidator = string.Format("AssertTextbox(\"{0}\", \"{1}\");", control.Name, testValue.Substring(0, testValue.Length - 1)),
                OnScreenValidator = "AssertIfToasterExist();",
                WillSaveSucceed = false,
                Description = string.Format("TestCase for testing MaxLength of TextBox({0}). Value is greater than MaxLength.", control.Caption),
            });
        }
Beispiel #4
0
 /// <summary>
 /// Generates the negative security test case.
 /// </summary>
 /// <param name="control">The control.</param>
 /// <returns></returns>
 private TestCaseComponent GenerateNegativeSecurityTestCase(xControl control)
 {
     if (control.ReadOnly)
     {
         var testValue = RandomValueHelper.GenerateRandomString(control.MaxLength - 1);
         return(new TestCaseComponent
         {
             Name = $"{control.Name}_DataTamper_Security",
             Type = TestCaseType.NEGATIVE,
             TestCaseSetter = string.Format("SetTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
             //TestCaseDBValidator = string.Format("Assert_Data(\"{0}\", \"{1}\");", control.Name, testValue),
             TestCaseEditModeValidator = string.Format("AssertTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
             //TestCaseViewModeValidator = string.Format("AssertTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
             OnScreenValidator = "AssertIfToasterExist();",
             WillSaveSucceed = false,
             Description = string.Format("TestCase for testing data tampering in form TextBox ({0}). Server side validation implemented!", control.Caption)
         });
     }
     return(null);
 }
Beispiel #5
0
        /// <summary>
        /// Generates the default value test case.
        /// </summary>
        /// <param name="control">The control.</param>
        /// <returns></returns>
        private TestCaseComponent GenerateDefaultValueTestCase(xControl control)
        {
            if (!string.IsNullOrEmpty(control.Value) || control.PrimaryKey)
            {
                return(null);
            }

            var length    = Math.Min(DbTypeParser.GetColumnLength(control.DBType), control.MaxLength);
            var testValue = RandomValueHelper.GenerateRandomString(length);

            return(new TestCaseComponent
            {
                Name = $"{control.Name}_Default",
                Type = TestCaseType.DEFAULT,
                TestCaseSetter = string.Format("SetTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
                TestCaseDBValidator = string.Format("Assert_Data(\"{0}\", \"{1}\");", control.Name, testValue),
                TestCaseEditModeValidator = string.Format("AssertTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
                TestCaseViewModeValidator = string.Format("AssertTextbox(\"{0}\", \"{1}\");", control.Name, testValue),
                Description = string.Empty,
                WillSaveSucceed = true
            });
        }