public void WarewolfWorkflowReports_Calculte_TotalWorkflowNodesCoveredPercentage_GIVEN_ResourceNotFound_ShouldNotReturnNaN() { var workflowID = Guid.NewGuid(); var mockWarewolfWorkflow = new Mock <IWarewolfWorkflow>(); mockWarewolfWorkflow.Setup(o => o.ResourceID) .Returns(workflowID); mockWarewolfWorkflow.Setup(o => o.WorkflowNodes) .Returns(new List <IWorkflowNode>()); var mockTestCoverageCatalog = new Mock <ITestCoverageCatalog>(); mockTestCoverageCatalog.Setup(o => o.Fetch(Guid.Empty)) .Returns(new List <IServiceTestCoverageModelTo> { new ServiceTestCoverageModelTo { AllTestNodesCovered = new ISingleTestNodesCovered[] { } } }); var sut = new WarewolfWorkflowReports(new List <IWarewolfWorkflow> { mockWarewolfWorkflow.Object }, string.Empty); sut.Calculte(mockTestCoverageCatalog.Object, new Mock <ITestCatalog>().Object); Assert.AreEqual(0, sut.TotalWorkflowNodesCount); Assert.AreEqual(0, sut.TotalWorkflowNodesCoveredCount); Assert.AreEqual(0, sut.TotalWorkflowNodesCoveredPercentage, "NaN my not be Ideal to print to user, should rather returning zero"); }
public void WarewolfWorkflowReports_Add_GIVEN_Null_ShouldNotAddNull1() { var sut = new WarewolfWorkflowReports(new List <IWarewolfWorkflow> { null }, null); Assert.AreEqual(0, sut.TotalWorkflowNodesCoveredPercentage); }
public void WarewolfWorkflowReports_Calculte_TotalWorkflowNodesCoveredPercentage_GIVEN_RecordNameIsAsterick_ShouldReturnReport100() { var workflowID = Guid.NewGuid(); var testName = "Test 1"; var reportName = "*"; var coveredNode_one = Guid.NewGuid(); var mockWarewolfWorkflow = new Mock <IWarewolfWorkflow>(); mockWarewolfWorkflow.Setup(o => o.ResourceID) .Returns(workflowID); mockWarewolfWorkflow.Setup(o => o.WorkflowNodes) .Returns(new List <IWorkflowNode> { new WorkflowNode { UniqueID = Guid.NewGuid() }, new WorkflowNode { UniqueID = Guid.NewGuid() } }); var mockTestCoverageCatalog = new Mock <ITestCoverageCatalog>(); mockTestCoverageCatalog.Setup(o => o.Fetch(workflowID)) .Returns(new List <IServiceTestCoverageModelTo> { new ServiceTestCoverageModelTo { ReportName = reportName, AllTestNodesCovered = new ISingleTestNodesCovered[] { new SingleTestNodesCovered(testName, new List <IServiceTestStep> { new ServiceTestStepTO { ActivityID = coveredNode_one, Children = new System.Collections.ObjectModel.ObservableCollection <IServiceTestStep> { new ServiceTestStepTO() } } }) } } }); var sut = new WarewolfWorkflowReports(new List <IWarewolfWorkflow> { mockWarewolfWorkflow.Object }, reportName); sut.Calculte(mockTestCoverageCatalog.Object, new Mock <ITestCatalog>().Object); Assert.AreEqual(2, sut.TotalWorkflowNodesCount); Assert.AreEqual(2, sut.TotalWorkflowNodesCoveredCount); Assert.AreEqual(100, sut.TotalWorkflowNodesCoveredPercentage); }
private static WarewolfWorkflowReports RunListOfCoverage(ICoverageDataObject coverageData, ITestCoverageCatalog testCoverageCatalog, ITestCatalog testCatalog, Guid workspaceGuid, IResourceCatalog catalog) { var resourceReportTemp = new WarewolfWorkflowReports(coverageData.CoverageReportResources, coverageData.ReportName); resourceReportTemp.Calculte(testCoverageCatalog, testCatalog); resourceReportTemp.EndTime = DateTime.Now; return(resourceReportTemp); }
internal static void SetupLinesCountSummaryHtml(this HtmlTextWriter writer, WarewolfWorkflowReports workflowReports) { var totalNodes = workflowReports.TotalWorkflowNodesCount; var coveredNodes = workflowReports.TotalWorkflowNodesCoveredCount; var notCoveredNodes = totalNodes - coveredNodes; writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "10px 10px 5px 10px"); writer.AddStyleAttribute(HtmlTextWriterStyle.Margin, "5px"); writer.AddAttribute(HtmlTextWriterAttribute.Class, "count-summary row"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddStyleAttribute(HtmlTextWriterStyle.Margin, "0 -15px 0 -15px"); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "200px"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontWeight, "bold"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, "14px"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontFamily, "roboto sans-serif"); writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "black"); writer.AddAttribute(HtmlTextWriterAttribute.Class, "table-td-black"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write("Total Nodes: " + totalNodes); writer.RenderEndTag(); writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "200px"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontWeight, "bold"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, "14px"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontFamily, "roboto sans-serif"); writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "green"); writer.AddAttribute(HtmlTextWriterAttribute.Class, "table-td-green"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write("Covered Nodes: " + coveredNodes); writer.RenderEndTag(); writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "200px"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontWeight, "bold"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, "14px"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontFamily, "roboto sans-serif"); writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "red"); writer.AddAttribute(HtmlTextWriterAttribute.Class, "table-td-red"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write("Not Covered Nodes: " + notCoveredNodes); writer.RenderEndTag(); var coveragePer = workflowReports.TotalWorkflowNodesCoveredPercentage; writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "200px"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontWeight, "bold"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, "14px"); writer.AddStyleAttribute(HtmlTextWriterStyle.FontFamily, "roboto sans-serif"); if (coveragePer <= 65) { writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "red"); } else if ((coveragePer > 65) && (coveragePer <= 85)) { writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "orange"); } else if (coveragePer > 85) { writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "green"); } writer.AddAttribute(HtmlTextWriterAttribute.Class, "table-td-red"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write("Coverage : " + coveragePer + " %"); writer.RenderEndTag(); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.RenderEndTag(); writer.RenderEndTag(); writer.RenderEndTag(); writer.RenderEndTag(); }
public void WarewolfWorkflowReports_Calculte_TotalWorkflowNodesCoveredPercentage_GIVEN_RecordNameNotFound_ShouldReturnReport() { var workflowID = Guid.NewGuid(); var mockWarewolfWorkflow = new Mock <IWarewolfWorkflow>(); mockWarewolfWorkflow.Setup(o => o.ResourceID) .Returns(workflowID); mockWarewolfWorkflow.Setup(o => o.WorkflowNodes) .Returns(new List <IWorkflowNode> { new WorkflowNode { ActivityID = Guid.NewGuid() }, new WorkflowNode { ActivityID = Guid.NewGuid() }, new WorkflowNode { ActivityID = Guid.NewGuid() }, }); var mockTestCoverageCatalog = new Mock <ITestCoverageCatalog>(); mockTestCoverageCatalog.Setup(o => o.Fetch(workflowID)) .Returns(new List <IServiceTestCoverageModelTo> { new ServiceTestCoverageModelTo { AllTestNodesCovered = new ISingleTestNodesCovered[] { new SingleTestNodesCovered(string.Empty, new List <IServiceTestStep> { new ServiceTestStepTO { ActivityID = Guid.NewGuid(), Children = new System.Collections.ObjectModel.ObservableCollection <IServiceTestStep> { new ServiceTestStepTO { ActivityID = Guid.NewGuid() } } } }) } } }); var sut = new WarewolfWorkflowReports(new List <IWarewolfWorkflow> { mockWarewolfWorkflow.Object }, string.Empty); sut.Calculte(mockTestCoverageCatalog.Object, new Mock <ITestCatalog>().Object); Assert.AreEqual(3, sut.TotalWorkflowNodesCount); Assert.AreEqual(2, sut.TotalWorkflowNodesCoveredCount); Assert.AreEqual(67, 67, sut.TotalWorkflowNodesCoveredPercentage); }