public static ScenarioOutcome outcomeFrom(TestOutcome testOutcome) { List<String> exampleTables = (testOutcome.isDataDriven()) ? Collections.singletonList(testOutcome.getDataTable().toMarkdown()) : Collections.EMPTY_LIST; String userStoryName = (testOutcome.getUserStory() != null) ? testOutcome.getUserStory().getName() : null; String userStoryReportName = (testOutcome.getUserStory() != null) ? testOutcome.getUserStory().getReportName() : null; List<String> steps = (testOutcome.getDataDrivenSampleScenario() != null && !testOutcome.getDataDrivenSampleScenario().isEmpty()) ? testStepsFromSampleScenario(testOutcome.getDataDrivenSampleScenario()) : testOutcome.getTestSteps() .stream().map(step -> RenderMarkdown.convertEmbeddedTablesIn(step.getDescription())).collect(Collectors.toList()); return new SingleScenarioOutcome( testOutcome.getQualified().withContext().getTitleWithLinks(), testOutcome.getName(), "Acceptance Test", testOutcome.getResult(), ReportNamer.forReportType(ReportType.HTML).getNormalizedTestNameFor(testOutcome), testOutcome.getStartTime(), testOutcome.getDuration(), testOutcome.isManual(), testOutcome.getDescription(), steps, exampleTables, testOutcome.getDataTableRowCount(), userStoryName, userStoryReportName); }