private static void UpdateTestCaseArea(ITestBase testBase, string area) { if (area != null && !testBase.Area.Equals(area.ToUpperInvariant(), StringComparison.InvariantCultureIgnoreCase)) { testBase.Area = area; } }
private static void SaveTestCase(ITestBase testCase) { try { testCase.Flush(); testCase.Save(); } catch (TestManagementValidationException exception) { Logger.Info(exception.StackTrace); Logger.Error( ResourceStrings.DECORATION, String.Format( CultureInfo.InvariantCulture, SyncUtil.ABORTED_MESSAGE, "Something is wrong, check the field values")); } }
private static bool UpdateTestCase(ITestBase testCase, ScenarioDefinition scenarioDefinition, string hash, IEnumerable <TestCaseField> fieldsCollection) { testCase.Refresh(); var currentState = testCase.State; if (currentState.Equals(SyncUtil.RemovedState, StringComparison.InvariantCulture) || currentState.Equals(SyncUtil.ClosedState, StringComparison.InvariantCulture)) { Logger.Info(ResourceStrings.DECORATION, $"{testCase.Id} is {currentState}"); return(false); } var scenarioTags = GherkinUtils.GetTags(scenarioDefinition); var removedTag = scenarioTags.FirstOrDefault( scenarioTag => scenarioTag.Name.Trim().ToUpperInvariant().StartsWith( SyncUtil.RemovedTag, StringComparison.InvariantCulture)); if (removedTag != null) { testCase.State = SyncUtil.RemovedState; SaveTestCase(testCase); Logger.Info(ResourceStrings.DECORATION, $"{testCase.Id} is marked removed"); return(false); } var currentVersion = testCase.WorkItem.Fields[SyncUtil.VersionField].Value .ToString(); var isTestCaseDetailsChanged = TestCaseHelper.UpdateTestCaseDetails( scenarioDefinition, testCase); var isTestCaseFieldsChanged = TestCaseHelper.UpdateTestcaseFields( scenarioTags, testCase, fieldsCollection); var scenarioStepsUptoDate = VersionUtils.IsUptoDate(hash, currentVersion); if (isTestCaseDetailsChanged || isTestCaseFieldsChanged || !scenarioStepsUptoDate) { return(true); } Logger.Info(ResourceStrings.DECORATION, $"{scenarioDefinition.Name}<{testCase.Id}> is uptodate"); return(false); }
private static bool IsTestCaseValid(ITestBase testCase) { var validationList = testCase.WorkItem.Validate(); if (validationList.Count <= 0) { return(true); } Logger.Error(ResourceStrings.DECORATION, "Invalid fields"); foreach (var validation in validationList) { var field = (Field)validation; Logger.Info($"{field.Name}:{field.Value}"); } return(validationList.Count <= 0); }