Project Number Date
backend-test 0.0.1-SNAPSHOT 12 Jan 2026, 18:26

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
Risk Heatmap 3 1 9 0 0 13 0 1 1 0.321 Failed
Feature Risk Heatmap
As an API user I want to generate a risk heatmap for a specific reporting So that I can visualize risk distribution by probability and impact
0.321
Background
Steps
Given I am authenticated with a valid token for Dashboard management 0.207
Given I have prepared new Reporting data 0.000
When I create the new Reporting 0.039
When I add an new Indicator to the Reporting 0.074
org.springframework.web.client.RestClientException: Error while extracting response for type [class com.klivar.backend_test.reporting.dto.indicateur.IndicateurIdDTO] and content type [application/json]
	at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:127)
	at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:1183)
	at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:1166)
	at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:903)
	at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:801)
	at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:683)
	at org.springframework.boot.test.web.client.TestRestTemplate.exchange(TestRestTemplate.java:710)
	at com.klivar.backend_test.steps.reporting.reporting.Methods.createIndicateur(Methods.java:78)
	at com.klivar.backend_test.steps.reporting.dashboard.ReportingCartographyDashboardSteps.addIndicatorToReporting(ReportingCartographyDashboardSteps.java:113)
	at ✽.I add an new Indicator to the Reporting(classpath:features/RiskHeatmap.feature:10)
Caused by: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'Une': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
	at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:409)
	at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:357)
	at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:105)
	at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:1183)
	at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:1166)
	at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:903)
	at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:801)
	at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:683)
	at org.springframework.boot.test.web.client.TestRestTemplate.exchange(TestRestTemplate.java:710)
	at com.klivar.backend_test.steps.reporting.reporting.Methods.createIndicateur(Methods.java:78)
	at com.klivar.backend_test.steps.reporting.dashboard.ReportingCartographyDashboardSteps.addIndicatorToReporting(ReportingCartographyDashboardSteps.java:113)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.cucumber.java.Invoker.doInvoke(Invoker.java:66)
	at io.cucumber.java.Invoker.invoke(Invoker.java:24)
	at io.cucumber.java.AbstractGlueDefinition.invokeMethod(AbstractGlueDefinition.java:47)
	at io.cucumber.java.JavaStepDefinition.execute(JavaStepDefinition.java:29)
	at io.cucumber.core.runner.CoreStepDefinition.execute(CoreStepDefinition.java:66)
	at io.cucumber.core.runner.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:63)
	at io.cucumber.core.runner.ExecutionMode$1.execute(ExecutionMode.java:10)
	at io.cucumber.core.runner.TestStep.executeStep(TestStep.java:84)
	at io.cucumber.core.runner.TestStep.run(TestStep.java:56)
	at io.cucumber.core.runner.PickleStepTestStep.run(PickleStepTestStep.java:51)
	at io.cucumber.core.runner.TestCase.run(TestCase.java:84)
	at io.cucumber.core.runner.Runner.runPickle(Runner.java:75)
	at io.cucumber.junit.PickleRunners$NoStepDescriptions.lambda$run$0(PickleRunners.java:151)
	at io.cucumber.core.runtime.CucumberExecutionContext.lambda$runTestCase$5(CucumberExecutionContext.java:137)
	at io.cucumber.core.runtime.RethrowingThrowableCollector.executeAndThrow(RethrowingThrowableCollector.java:23)
	at io.cucumber.core.runtime.CucumberExecutionContext.runTestCase(CucumberExecutionContext.java:137)
	at io.cucumber.junit.PickleRunners$NoStepDescriptions.run(PickleRunners.java:148)
	at io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:144)
	at io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:28)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at io.cucumber.junit.FeatureRunner.run(FeatureRunner.java:137)
	at io.cucumber.junit.Cucumber.runChild(Cucumber.java:196)
	at io.cucumber.junit.Cucumber.runChild(Cucumber.java:89)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at io.cucumber.core.runtime.CucumberExecutionContext.lambda$runFeatures$6(CucumberExecutionContext.java:148)
	at io.cucumber.core.runtime.CucumberExecutionContext.execute(CucumberExecutionContext.java:163)
	at io.cucumber.core.runtime.CucumberExecutionContext.runFeatures(CucumberExecutionContext.java:146)
	at io.cucumber.junit.Cucumber$StartAndFinishTestRun.evaluate(Cucumber.java:226)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:198)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:169)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:93)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:58)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:141)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:57)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85)
	at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
	at org.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:55)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:223)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:175)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:139)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:456)
	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:169)
	at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:595)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:581)
Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Une': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 5]
	at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2584)
	at com.fasterxml.jackson.core.JsonParser._constructReadException(JsonParser.java:2610)
	at com.fasterxml.jackson.core.JsonParser._constructReadException(JsonParser.java:2618)
	at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:825)
	at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._reportInvalidToken(UTF8StreamJsonParser.java:3662)
	at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._handleUnexpectedValue(UTF8StreamJsonParser.java:2749)
	at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._nextTokenNotInObject(UTF8StreamJsonParser.java:867)
	at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:753)
	at com.fasterxml.jackson.databind.ObjectReader._initForReading(ObjectReader.java:357)
	at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:2115)
	at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1501)
	at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:398)
	... 74 more
Then the new Indicator should be added successfully 0.000
0.000
Scenario Risk Heatmap Generation
Steps
Given A reporting exists with ID 0.000
When I generate risk heatmap for reporting ID 0.000
Then the risk heatmap should be generated successfully 0.000
And the heatmap should contain reporting ID 0.000
And the heatmap should contain probability and impact data 0.000
And all cells should have valid probability and impact levels 0.000
When I delete the new Reporting 0.000
Then the new Reporting should be deleted successfully 0.000
After com.klivar.backend_test.steps.auditeur.comment.CommentSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.followUp.FollowUpSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.test.TestSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.mission.MissionSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.missionType.MissionTypeSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.planEvaluation.PlanEvaluationSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.ficheEvaluation.FicheEvaluationSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.ficheEvaluation.FicheEvaluationCommentSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.document.DocumentSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.avis.AvisSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.compteRendu.CompteRenduSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.cluster.RecommendationClusterAnswerSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.cluster.ClusterCommentSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.cluster.ClusterObservationSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.cluster.ClusterSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.recommendation.RecommendationSteps.cleanup() 0.000
After com.klivar.backend_test.steps.auditeur.demande.DemandeSteps.cleanup() 0.000
After com.klivar.backend_test.steps.boardMember.decision.TaskSteps.cleanup() 0.000
After com.klivar.backend_test.steps.boardMember.decision.DecisionSteps.cleanup() 0.000
After com.klivar.backend_test.steps.boardMember.instance.InstanceSteps.cleanup() 0.000