public static JObject BuildTestResultJSONForWebRequest(this IServiceTestCoverageModelTo report) { var totalWorkflowNodesCount = report.AllWorkflowNodes; int notCoveredNodesCount = report.NotCoveredNodesCount; var nodesCoveredCount = report.AllTestNodesCovered.SelectMany(o => o.TestNodesCovered).Distinct().Flatten(o => o.ChildNodes); var assertedNodes = nodesCoveredCount.Where(oo => oo.MockSelected == false); var mockedNodes = nodesCoveredCount.Where(oo => oo.MockSelected == true); var resObj = new JObject { { "Report Name", report.ReportName }, { "OldReportName", report.OldReportName }, { "WorkflowId", report.WorkflowId }, { "CoveragePercentage", Math.Round(report.TotalCoverage * 100) }, { "NodesSummary", new JObject { { "TotalNodesCount", totalWorkflowNodesCount.Count() }, { "NotCoveredNodes", notCoveredNodesCount }, { "CoveredNodes", nodesCoveredCount.Count() }, { "CoveredNodesDetails", new JArray ( new JObject { { "Assert", assertedNodes.Count() }, { "Mocked", mockedNodes.Count() } }) } } }, { "AllTestNodesCovered", new JArray(report.AllTestNodesCovered.Select(node => node.BuildTestResultJSONForWebRequest())) } }; return(resObj); }
private void UpdateTestCoverageReports(Guid resourceID, IServiceTestCoverageModelTo test) { var existingTestCoverageReports = TestCoverageReports.GetOrAdd(resourceID, new List <IServiceTestCoverageModelTo>()); var record = existingTestCoverageReports.FirstOrDefault(to => to.ReportName.Equals(test.ReportName, StringComparison.CurrentCultureIgnoreCase)); if (record == null) { existingTestCoverageReports.Add(test); } else { existingTestCoverageReports.Remove(record); existingTestCoverageReports.Add(record); } }
private void SaveCoverageReport(Guid resourceId, IServiceTestCoverageModelTo serviceTestCoverageModelTo) { var dirPath = GetTestCoveragePathForResourceId(resourceId); _directoryWrapper.CreateIfNotExists(dirPath); if (!string.Equals(serviceTestCoverageModelTo.OldReportName, serviceTestCoverageModelTo.ReportName, StringComparison.InvariantCultureIgnoreCase)) { var oldFilePath = _filePathWapper.Combine(dirPath, $"{serviceTestCoverageModelTo.OldReportName}.coverage"); _fileWrapper.Delete(oldFilePath); } var filePath = _filePathWapper.Combine(dirPath, $"{serviceTestCoverageModelTo.ReportName}.coverage"); var sw = _streamWriterFactory.New(filePath, false); _serializer.Serialize(sw, serviceTestCoverageModelTo); }
public static JObject BuildTestResultJSONForWebRequest(this IServiceTestCoverageModelTo report) { var resObj = new JObject { { "Report Name", report.ReportName }, { "OldReportName", report.OldReportName }, { "WorkflowId", report.WorkflowId }, { "CoveragePercentage", Math.Round(report.TotalCoverage * 100) }, { "AllTestNodesCovered", new JArray(report.AllTestNodesCovered.Select(node => node.BuildTestResultJSONForWebRequest())) } }; return(resObj); }
public void Add(IServiceTestCoverageModelTo coverage) { Reports.Add(coverage); }
internal void Add(IServiceTestCoverageModelTo coverage) { Reports.Add(coverage); }