private IReportItem LoadTestSuite(ITestManagementTeamProject teamProject, IUriFactory uriFactory, IStaticTestSuite rootTestSuite, CancellationToken cancellationToken, IProgress <string> progress) { var testSuite = new TestSuite(rootTestSuite.Id, 0, rootTestSuite.Title, uriFactory.GetTestSuiteUri(rootTestSuite.Id, rootTestSuite.Plan?.Id)); ReportProgress(progress, $"Loading test suite {rootTestSuite.Id} ..."); InitializeTestSuite(teamProject, uriFactory, rootTestSuite, testSuite, cancellationToken, progress); return(testSuite); }
private void InitializeTestSuite(ITestManagementTeamProject teamProject, IUriFactory uriFactory, IStaticTestSuite parentStaticTestSuite, IReportItem parentReportItem, CancellationToken cancellationToken, IProgress <string> progress) { LoadTestCasesForTestSuite(teamProject, uriFactory, parentStaticTestSuite, parentReportItem, cancellationToken, progress); foreach (var staticTestSuite in parentStaticTestSuite.SubSuites.OfType <IStaticTestSuite>().OrderBy(suite => suite.Title)) { ReportProgress(progress, $"Loading test suite {staticTestSuite.Id} ..."); cancellationToken.ThrowIfCancellationRequested(); var reportTestSuite = new TestSuite(staticTestSuite.Id, parentStaticTestSuite.Id, staticTestSuite.Title, uriFactory.GetTestSuiteUri(staticTestSuite.Id, staticTestSuite.Plan?.Id)); parentReportItem.Children.Add(reportTestSuite); InitializeTestSuite(teamProject, uriFactory, staticTestSuite, reportTestSuite, cancellationToken, progress); } }