/// <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 }); }
/// <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) }); }
/// <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), }); }
/// <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); }
/// <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 }); }