diff --git a/CSF.Screenplay.JsonToHtmlReport.Template/src/css/scenarioList.css b/CSF.Screenplay.JsonToHtmlReport.Template/src/css/scenarioList.css
index 5cbfdcfa..8c543a89 100644
--- a/CSF.Screenplay.JsonToHtmlReport.Template/src/css/scenarioList.css
+++ b/CSF.Screenplay.JsonToHtmlReport.Template/src/css/scenarioList.css
@@ -9,6 +9,9 @@
padding: 1em;
list-style: none;
}
+ #featureList > li.Failures {
+ background: linear-gradient(155deg,rgba(209, 159, 159, 1) 0%, rgba(255, 255, 255, 1) 2rem);
+ }
#featureList > li:first-child {
margin-top: 0;
border-top-width: 1px;
@@ -34,6 +37,9 @@
.scenarioList > li > h4 {
cursor: pointer;
}
+ .scenarioList > li.Failed > h4 {
+ color: #990000;
+ }
.scenarioList > li > h4::before {
content: '▼';
display: inline-block;
diff --git a/CSF.Screenplay.JsonToHtmlReport.Template/src/js/ReportWriter/FeatureElementCreator.js b/CSF.Screenplay.JsonToHtmlReport.Template/src/js/ReportWriter/FeatureElementCreator.js
index 83883a7f..18b8e8d7 100644
--- a/CSF.Screenplay.JsonToHtmlReport.Template/src/js/ReportWriter/FeatureElementCreator.js
+++ b/CSF.Screenplay.JsonToHtmlReport.Template/src/js/ReportWriter/FeatureElementCreator.js
@@ -9,6 +9,9 @@ export class FeatureElementCreator {
createFeatureElement(feature) {
const featureElement = this.featureTemplate.content.cloneNode(true);
+ const hasFailures = feature.scenarios.some(x => x.performance.Outcome == 'Failed');
+
+ if(hasFailures) featureElement.firstElementChild.classList.add('Failures');
featureElement.querySelector('.featureName').textContent = feature.feature
? feature.feature.Name
diff --git a/CSF.Screenplay.JsonToHtmlReport.Template/src/js/ReportWriter/ScenarioElementCreator.js b/CSF.Screenplay.JsonToHtmlReport.Template/src/js/ReportWriter/ScenarioElementCreator.js
index bc1661c6..5564409b 100644
--- a/CSF.Screenplay.JsonToHtmlReport.Template/src/js/ReportWriter/ScenarioElementCreator.js
+++ b/CSF.Screenplay.JsonToHtmlReport.Template/src/js/ReportWriter/ScenarioElementCreator.js
@@ -11,6 +11,9 @@ export class ScenarioElementCreator {
createScenarioElement(scenario) {
const scenarioElement = this.scenarioTemplate.content.cloneNode(true);
+ if(scenario.performance.Outcome == 'Failed')
+ scenarioElement.firstElementChild.classList.add('Failed');
+
scenarioElement.querySelector('.scenarioName').textContent = scenario.scenario.Name;
scenarioElement.querySelector('.scenarioName').addEventListener('click', ev => ev.currentTarget.parentElement.classList.toggle('collapsed'));