Ejemplo n.º 1
0
 private static void UpdateTestCaseArea(ITestBase testBase, string area)
 {
     if (area != null &&
         !testBase.Area.Equals(area.ToUpperInvariant(), StringComparison.InvariantCultureIgnoreCase))
     {
         testBase.Area = area;
     }
 }
Ejemplo n.º 2
0
 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"));
     }
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }