@serenity-js/serenity-bdd 3.25.5 → 3.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/lib/cli/defaults.js +1 -1
  3. package/lib/cli/defaults.js.map +1 -1
  4. package/lib/stage/crew/serenity-bdd-reporter/SerenityBDDReporter.d.ts +4 -5
  5. package/lib/stage/crew/serenity-bdd-reporter/SerenityBDDReporter.d.ts.map +1 -1
  6. package/lib/stage/crew/serenity-bdd-reporter/SerenityBDDReporter.js +12 -7
  7. package/lib/stage/crew/serenity-bdd-reporter/SerenityBDDReporter.js.map +1 -1
  8. package/lib/stage/crew/serenity-bdd-reporter/SerenityBDDReporterConfig.d.ts +7 -0
  9. package/lib/stage/crew/serenity-bdd-reporter/SerenityBDDReporterConfig.d.ts.map +1 -1
  10. package/lib/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessor.d.ts +6 -2
  11. package/lib/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessor.d.ts.map +1 -1
  12. package/lib/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessor.js +11 -1
  13. package/lib/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessor.js.map +1 -1
  14. package/lib/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessors.d.ts +2 -1
  15. package/lib/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessors.d.ts.map +1 -1
  16. package/lib/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessors.js +3 -3
  17. package/lib/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessors.js.map +1 -1
  18. package/lib/stage/crew/serenity-bdd-reporter/processors/SerenityBDDReportContext.d.ts +2 -0
  19. package/lib/stage/crew/serenity-bdd-reporter/processors/SerenityBDDReportContext.d.ts.map +1 -1
  20. package/lib/stage/crew/serenity-bdd-reporter/processors/SerenityBDDReportContext.js +1 -0
  21. package/lib/stage/crew/serenity-bdd-reporter/processors/SerenityBDDReportContext.js.map +1 -1
  22. package/lib/stage/crew/serenity-bdd-reporter/processors/scene-sequence/SceneSequenceEventQueueProcessor.d.ts.map +1 -1
  23. package/lib/stage/crew/serenity-bdd-reporter/processors/scene-sequence/SceneSequenceEventQueueProcessor.js +2 -0
  24. package/lib/stage/crew/serenity-bdd-reporter/processors/scene-sequence/SceneSequenceEventQueueProcessor.js.map +1 -1
  25. package/lib/stage/crew/serenity-bdd-reporter/processors/single-scene/SingleSceneEventQueueProcessor.d.ts.map +1 -1
  26. package/lib/stage/crew/serenity-bdd-reporter/processors/single-scene/SingleSceneEventQueueProcessor.js +2 -0
  27. package/lib/stage/crew/serenity-bdd-reporter/processors/single-scene/SingleSceneEventQueueProcessor.js.map +1 -1
  28. package/lib/stage/crew/serenity-bdd-reporter/processors/transformations/actorDetailsOf.d.ts +8 -0
  29. package/lib/stage/crew/serenity-bdd-reporter/processors/transformations/actorDetailsOf.d.ts.map +1 -0
  30. package/lib/stage/crew/serenity-bdd-reporter/processors/transformations/actorDetailsOf.js +34 -0
  31. package/lib/stage/crew/serenity-bdd-reporter/processors/transformations/actorDetailsOf.js.map +1 -0
  32. package/lib/stage/crew/serenity-bdd-reporter/processors/transformations/index.d.ts +1 -0
  33. package/lib/stage/crew/serenity-bdd-reporter/processors/transformations/index.d.ts.map +1 -1
  34. package/lib/stage/crew/serenity-bdd-reporter/processors/transformations/index.js +1 -0
  35. package/lib/stage/crew/serenity-bdd-reporter/processors/transformations/index.js.map +1 -1
  36. package/lib/stage/crew/serenity-bdd-reporter/serenity-bdd-report-schema.d.ts +1 -0
  37. package/lib/stage/crew/serenity-bdd-reporter/serenity-bdd-report-schema.d.ts.map +1 -1
  38. package/package.json +7 -7
  39. package/src/cli/defaults.ts +1 -1
  40. package/src/stage/crew/serenity-bdd-reporter/SerenityBDDReporter.ts +12 -9
  41. package/src/stage/crew/serenity-bdd-reporter/SerenityBDDReporterConfig.ts +8 -0
  42. package/src/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessor.ts +29 -2
  43. package/src/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessors.ts +4 -3
  44. package/src/stage/crew/serenity-bdd-reporter/processors/SerenityBDDReportContext.ts +2 -0
  45. package/src/stage/crew/serenity-bdd-reporter/processors/scene-sequence/SceneSequenceEventQueueProcessor.ts +13 -3
  46. package/src/stage/crew/serenity-bdd-reporter/processors/single-scene/SingleSceneEventQueueProcessor.ts +14 -3
  47. package/src/stage/crew/serenity-bdd-reporter/processors/transformations/actorDetailsOf.ts +46 -0
  48. package/src/stage/crew/serenity-bdd-reporter/processors/transformations/index.ts +1 -0
  49. package/src/stage/crew/serenity-bdd-reporter/serenity-bdd-report-schema.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.26.0](https://github.com/serenity-js/serenity-js/compare/v3.25.5...v3.26.0) (2024-08-27)
7
+
8
+
9
+ ### Features
10
+
11
+ * **serenity-bdd:** include details of actors and their abilities in Serenity BDD reports ([df38495](https://github.com/serenity-js/serenity-js/commit/df384952345ff3e8614b8fe8c36cb0be21dc6a80))
12
+ * **serenity-bdd:** reporting actors' abilities can be toggled ([5bea8ff](https://github.com/serenity-js/serenity-js/commit/5bea8ffa8870a4a1128403e65b79ce852ca79abe))
13
+ * **serenity-bdd:** upgraded Serenity BDD CLI to 4.1.20 ([2cf3d53](https://github.com/serenity-js/serenity-js/commit/2cf3d53bced9052b8670a9cef4967ff53eb86e8f))
14
+
15
+
16
+
17
+
18
+
6
19
  ## [3.25.5](https://github.com/serenity-js/serenity-js/compare/v3.25.4...v3.25.5) (2024-08-18)
7
20
 
8
21
 
@@ -17,7 +17,7 @@ exports.defaults = void 0;
17
17
  * @public
18
18
  */
19
19
  exports.defaults = {
20
- artifact: 'net.serenity-bdd:serenity-cli:jar:4.1.6',
20
+ artifact: 'net.serenity-bdd:serenity-cli:jar:4.1.20',
21
21
  repository: 'https://repo1.maven.org/maven2/',
22
22
  cacheDir: 'node_modules/@serenity-js/serenity-bdd/cache',
23
23
  sourceDir: 'target/site/serenity',
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/cli/defaults.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;GAcG;AACU,QAAA,QAAQ,GAAG;IACpB,QAAQ,EAAK,yCAAyC;IACtD,UAAU,EAAG,iCAAiC;IAC9C,QAAQ,EAAK,8CAA8C;IAC3D,SAAS,EAAI,sBAAsB;IACnC,SAAS,EAAI,sBAAsB;IACnC,GAAG,EAAU,MAAM;CACtB,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/cli/defaults.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;GAcG;AACU,QAAA,QAAQ,GAAG;IACpB,QAAQ,EAAK,0CAA0C;IACvD,UAAU,EAAG,iCAAiC;IAC9C,QAAQ,EAAK,8CAA8C;IAC3D,SAAS,EAAI,sBAAsB;IACnC,SAAS,EAAI,sBAAsB;IACnC,GAAG,EAAU,MAAM;CACtB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Stage, StageCrewMember, StageCrewMemberBuilder } from '@serenity-js/core';
2
2
  import type { DomainEvent } from '@serenity-js/core/lib/events';
3
- import { RequirementsHierarchy } from '@serenity-js/core/lib/io';
3
+ import { EventQueueProcessors } from './processors';
4
4
  import type { SerenityBDDReporterConfig } from './SerenityBDDReporterConfig';
5
5
  /**
6
6
  * A [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) that produces [Serenity BDD](http://serenity-bdd.info/)-standard JSON reports
@@ -112,17 +112,16 @@ import type { SerenityBDDReporterConfig } from './SerenityBDDReporterConfig';
112
112
  * @group Stage
113
113
  */
114
114
  export declare class SerenityBDDReporter implements StageCrewMember {
115
- private readonly requirementsHierarchy;
115
+ private readonly processors;
116
116
  private stage?;
117
117
  private readonly eventQueues;
118
- private readonly processors;
119
118
  static fromJSON(config: SerenityBDDReporterConfig): StageCrewMemberBuilder<SerenityBDDReporter>;
120
119
  /**
121
- * @param {Path} requirementsHierarchy
120
+ * @param {EventQueueProcessors} processors
122
121
  * @param {Stage} [stage]
123
122
  * The stage this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) should be assigned to
124
123
  */
125
- constructor(requirementsHierarchy: RequirementsHierarchy, stage?: Stage);
124
+ constructor(processors: EventQueueProcessors, stage?: Stage);
126
125
  /**
127
126
  * @inheritDoc
128
127
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SerenityBDDReporter.d.ts","sourceRoot":"","sources":["../../../../src/stage/crew/serenity-bdd-reporter/SerenityBDDReporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAsC,MAAM,mBAAmB,CAAC;AAE5H,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAQ,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAKvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4GG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IAcnD,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,KAAK,CAAC;IAdlB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAElD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,sBAAsB,CAAC,mBAAmB,CAAC;IAI/F;;;;OAIG;gBAEkB,qBAAqB,EAAE,qBAAqB,EACrD,KAAK,CAAC,EAAE,KAAK;IAKzB;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe;IAKzC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IA2ClC,OAAO,CAAC,eAAe;CAG1B"}
1
+ {"version":3,"file":"SerenityBDDReporter.d.ts","sourceRoot":"","sources":["../../../../src/stage/crew/serenity-bdd-reporter/SerenityBDDReporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAsC,MAAM,mBAAmB,CAAC;AAE5H,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAMhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4GG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IAanD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,KAAK,CAAC;IAblB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IAEvD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,sBAAsB,CAAC,mBAAmB,CAAC;IAI/F;;;;OAIG;gBAEkB,UAAU,EAAE,oBAAoB,EACzC,KAAK,CAAC,EAAE,KAAK;IAKzB;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe;IAKzC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IA2ClC,OAAO,CAAC,eAAe;CAG1B"}
@@ -117,22 +117,21 @@ const processors_1 = require("./processors");
117
117
  * @group Stage
118
118
  */
119
119
  class SerenityBDDReporter {
120
- requirementsHierarchy;
120
+ processors;
121
121
  stage;
122
122
  eventQueues = new core_1.DomainEventQueues();
123
- processors;
124
123
  static fromJSON(config) {
125
124
  return new SerenityBDDReporterBuilder(config);
126
125
  }
127
126
  /**
128
- * @param {Path} requirementsHierarchy
127
+ * @param {EventQueueProcessors} processors
129
128
  * @param {Stage} [stage]
130
129
  * The stage this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) should be assigned to
131
130
  */
132
- constructor(requirementsHierarchy, stage) {
133
- this.requirementsHierarchy = requirementsHierarchy;
131
+ constructor(processors, stage) {
132
+ this.processors = processors;
134
133
  this.stage = stage;
135
- this.processors = new processors_1.EventQueueProcessors((0, tiny_types_1.ensure)('requirementsHierarchy', requirementsHierarchy, (0, tiny_types_1.isDefined)()));
134
+ (0, tiny_types_1.ensure)('processors', processors, (0, tiny_types_1.isDefined)());
136
135
  }
137
136
  /**
138
137
  * @inheritDoc
@@ -178,7 +177,13 @@ class SerenityBDDReporterBuilder {
178
177
  (0, tiny_types_1.ensure)('stage', stage, (0, tiny_types_1.isDefined)());
179
178
  (0, tiny_types_1.ensure)('fileSystem', fileSystem, (0, tiny_types_1.isDefined)());
180
179
  const userDefinedSpecDirectory = this.config.specDirectory && io_1.Path.from(this.config.specDirectory);
181
- return new SerenityBDDReporter(new io_1.RequirementsHierarchy(fileSystem, userDefinedSpecDirectory), stage);
180
+ const reporterConfig = {
181
+ includeAbilityDetails: this.config?.reporter?.includeAbilityDetails ?? true,
182
+ ...this.config?.reporter,
183
+ };
184
+ const requirementsHierarchy = new io_1.RequirementsHierarchy(fileSystem, userDefinedSpecDirectory);
185
+ const processors = new processors_1.EventQueueProcessors(requirementsHierarchy, reporterConfig);
186
+ return new SerenityBDDReporter(processors, stage);
182
187
  }
183
188
  }
184
189
  //# sourceMappingURL=SerenityBDDReporter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SerenityBDDReporter.js","sourceRoot":"","sources":["../../../../src/stage/crew/serenity-bdd-reporter/SerenityBDDReporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SerenityBDDReporter.js","sourceRoot":"","sources":["../../../../src/stage/crew/serenity-bdd-reporter/SerenityBDDReporter.ts"],"names":[],"mappings":"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"}
@@ -37,5 +37,12 @@ export interface SerenityBDDReporterConfig {
37
37
  * class.
38
38
  */
39
39
  specDirectory?: string;
40
+ reporter?: {
41
+ /**
42
+ * Whether to include the details of final state and configuration details of actors' abilities in Serenity BDD reports.
43
+ * Defaults to `true`.
44
+ */
45
+ includeAbilityDetails?: boolean;
46
+ };
40
47
  }
41
48
  //# sourceMappingURL=SerenityBDDReporterConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SerenityBDDReporterConfig.d.ts","sourceRoot":"","sources":["../../../../src/stage/crew/serenity-bdd-reporter/SerenityBDDReporterConfig.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"SerenityBDDReporterConfig.d.ts","sourceRoot":"","sources":["../../../../src/stage/crew/serenity-bdd-reporter/SerenityBDDReporterConfig.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,EAAE;QACP;;;WAGG;QACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACnC,CAAC;CACL"}
@@ -1,16 +1,20 @@
1
1
  import type { DomainEventQueue } from '@serenity-js/core';
2
- import type { ActivityRelatedArtifactArchived, ActivityRelatedArtifactGenerated, BusinessRuleDetected, FeatureNarrativeDetected, SceneBackgroundDetected, SceneDescriptionDetected, SceneTagged, TestRunnerDetected } from '@serenity-js/core/lib/events';
2
+ import type { ActivityRelatedArtifactArchived, ActivityRelatedArtifactGenerated, ActorEntersStage, ActorStageExitStarts, BusinessRuleDetected, FeatureNarrativeDetected, SceneBackgroundDetected, SceneDescriptionDetected, SceneTagged, TestRunnerDetected } from '@serenity-js/core/lib/events';
3
3
  import type { RequirementsHierarchy } from '@serenity-js/core/lib/io';
4
4
  import type { SerenityBDD4ReportSchema } from '../serenity-bdd-report-schema';
5
+ import type { SerenityBDDReporterConfig } from '../SerenityBDDReporterConfig';
5
6
  import type { SerenityBDDReportContext } from './SerenityBDDReportContext';
6
7
  /**
7
8
  * @package
8
9
  */
9
10
  export declare abstract class EventQueueProcessor {
10
11
  protected readonly requirementsHierarchy: RequirementsHierarchy;
11
- constructor(requirementsHierarchy: RequirementsHierarchy);
12
+ protected readonly reporterConfig: Required<SerenityBDDReporterConfig['reporter']>;
13
+ constructor(requirementsHierarchy: RequirementsHierarchy, reporterConfig: Required<SerenityBDDReporterConfig['reporter']>);
12
14
  abstract supports(queue: DomainEventQueue): boolean;
13
15
  abstract process(queue: DomainEventQueue): SerenityBDD4ReportSchema;
16
+ protected onActorEntersStage<Context extends SerenityBDDReportContext>(report: Context): (event: ActorEntersStage) => Context;
17
+ protected onActorStageExitStarts<Context extends SerenityBDDReportContext>(report: Context): (event: ActorStageExitStarts) => Context;
14
18
  protected onFeatureNarrativeDetected<Context extends SerenityBDDReportContext>(report: Context): (event: FeatureNarrativeDetected) => Context;
15
19
  protected onSceneBackgroundDetected<Context extends SerenityBDDReportContext>(report: Context): (event: SceneBackgroundDetected) => Context;
16
20
  protected onSceneDescriptionDetected<Context extends SerenityBDDReportContext>(report: Context): (event: SceneDescriptionDetected) => Context;
@@ -1 +1 @@
1
- {"version":3,"file":"EventQueueProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACR,+BAA+B,EAC/B,gCAAgC,EAChC,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAG3E;;GAEG;AACH,8BAAsB,mBAAmB;IACzB,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;gBAA5C,qBAAqB,EAAE,qBAAqB;IAG3E,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IACnD,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,wBAAwB;IAEnE,SAAS,CAAC,0BAA0B,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WAC3E,wBAAwB,KAAG,OAAO;IAKrD,SAAS,CAAC,yBAAyB,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WAC1E,uBAAuB,KAAG,OAAO;IAKpD,SAAS,CAAC,0BAA0B,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WAC3E,wBAAwB,KAAG,OAAO;IAKrD,SAAS,CAAC,oBAAoB,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WACrE,kBAAkB,KAAG,OAAO;IAK/C,SAAS,CAAC,aAAa,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WAC9D,WAAW,KAAG,OAAO;IAKxC,SAAS,CAAC,sBAAsB,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WACvE,oBAAoB,KAAG,OAAO;IAKjD,SAAS,CAAC,kCAAkC,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WACnF,gCAAgC,KAAG,OAAO;IAK7D,SAAS,CAAC,iCAAiC,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WAClF,+BAA+B,KAAG,OAAO;CAI/D"}
1
+ {"version":3,"file":"EventQueueProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACR,+BAA+B,EAC/B,gCAAgC,EAChC,gBAAgB,EAAE,oBAAoB,EACtC,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAa3E;;GAEG;AACH,8BAAsB,mBAAmB;IAEjC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IAC/D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;gBAD/D,qBAAqB,EAAE,qBAAqB,EAC5C,cAAc,EAAE,QAAQ,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAItF,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IACnD,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,wBAAwB;IAEnE,SAAS,CAAC,kBAAkB,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WACnE,gBAAgB,KAAG,OAAO;IAK7C,SAAS,CAAC,sBAAsB,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WACvE,oBAAoB,KAAG,OAAO;IAKjD,SAAS,CAAC,0BAA0B,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WAC3E,wBAAwB,KAAG,OAAO;IAKrD,SAAS,CAAC,yBAAyB,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WAC1E,uBAAuB,KAAG,OAAO;IAKpD,SAAS,CAAC,0BAA0B,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WAC3E,wBAAwB,KAAG,OAAO;IAKrD,SAAS,CAAC,oBAAoB,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WACrE,kBAAkB,KAAG,OAAO;IAK/C,SAAS,CAAC,aAAa,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WAC9D,WAAW,KAAG,OAAO;IAKxC,SAAS,CAAC,sBAAsB,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WACvE,oBAAoB,KAAG,OAAO;IAKjD,SAAS,CAAC,kCAAkC,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WACnF,gCAAgC,KAAG,OAAO;IAK7D,SAAS,CAAC,iCAAiC,CAAC,OAAO,SAAS,wBAAwB,EAAE,MAAM,EAAE,OAAO,WAClF,+BAA+B,KAAG,OAAO;CAI/D"}
@@ -7,8 +7,18 @@ const transformations_1 = require("./transformations");
7
7
  */
8
8
  class EventQueueProcessor {
9
9
  requirementsHierarchy;
10
- constructor(requirementsHierarchy) {
10
+ reporterConfig;
11
+ constructor(requirementsHierarchy, reporterConfig) {
11
12
  this.requirementsHierarchy = requirementsHierarchy;
13
+ this.reporterConfig = reporterConfig;
14
+ }
15
+ onActorEntersStage(report) {
16
+ return (event) => report
17
+ .with((0, transformations_1.actorDetailsOf)(event.actor, this.reporterConfig));
18
+ }
19
+ onActorStageExitStarts(report) {
20
+ return (event) => report
21
+ .with((0, transformations_1.actorDetailsOf)(event.actor, this.reporterConfig));
12
22
  }
13
23
  onFeatureNarrativeDetected(report) {
14
24
  return (event) => report
@@ -1 +1 @@
1
- {"version":3,"file":"EventQueueProcessor.js","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessor.ts"],"names":[],"mappings":";;;AAeA,uDAAuL;AAEvL;;GAEG;AACH,MAAsB,mBAAmB;IACN;IAA/B,YAA+B,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IAC3E,CAAC;IAKS,0BAA0B,CAA2C,MAAe;QAC1F,OAAO,CAAC,KAA+B,EAAW,EAAE,CAChD,MAAM;aACD,IAAI,CAAC,IAAA,oCAAkB,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,CAAC;IAES,yBAAyB,CAA2C,MAAe;QACzF,OAAO,CAAC,KAA8B,EAAW,EAAE,CAC/C,MAAM;aACD,IAAI,CAAC,IAAA,8BAAY,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/D,CAAC;IAES,0BAA0B,CAA2C,MAAe;QAC1F,OAAO,CAAC,KAA+B,EAAW,EAAE,CAChD,MAAM;aACD,IAAI,CAAC,IAAA,+BAAa,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IACnD,CAAC;IAES,oBAAoB,CAA2C,MAAe;QACpF,OAAO,CAAC,KAAyB,EAAW,EAAE,CAC1C,MAAM;aACD,IAAI,CAAC,IAAA,kCAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAES,aAAa,CAA2C,MAAe;QAC7E,OAAO,CAAC,KAAkB,EAAW,EAAE,CACnC,MAAM;aACD,IAAI,CAAC,IAAA,uBAAK,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC;IAES,sBAAsB,CAA2C,MAAe;QACtF,OAAO,CAAC,KAA2B,EAAW,EAAE,CAC5C,MAAM;aACD,IAAI,CAAC,IAAA,gCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7C,CAAC;IAES,kCAAkC,CAA2C,MAAe;QAClG,OAAO,CAAC,KAAuC,EAAW,EAAE,CACxD,MAAM;aACD,IAAI,CAAC,IAAA,yCAAuB,EAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IACzG,CAAC;IAES,iCAAiC,CAA2C,MAAe;QACjG,OAAO,CAAC,KAAsC,EAAW,EAAE,CACvD,MAAM;aACD,IAAI,CAAC,IAAA,iDAA+B,EAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;IACrH,CAAC;CACJ;AAtDD,kDAsDC"}
1
+ {"version":3,"file":"EventQueueProcessor.js","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessor.ts"],"names":[],"mappings":";;;AAiBA,uDAU2B;AAE3B;;GAEG;AACH,MAAsB,mBAAmB;IAEd;IACA;IAFvB,YACuB,qBAA4C,EAC5C,cAA+D;QAD/D,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,mBAAc,GAAd,cAAc,CAAiD;IAEtF,CAAC;IAKS,kBAAkB,CAA2C,MAAe;QAClF,OAAO,CAAC,KAAuB,EAAW,EAAE,CACxC,MAAM;aACD,IAAI,CAAC,IAAA,gCAAc,EAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACpE,CAAC;IAES,sBAAsB,CAA2C,MAAe;QACtF,OAAO,CAAC,KAA2B,EAAW,EAAE,CAC5C,MAAM;aACD,IAAI,CAAC,IAAA,gCAAc,EAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACpE,CAAC;IAES,0BAA0B,CAA2C,MAAe;QAC1F,OAAO,CAAC,KAA+B,EAAW,EAAE,CAChD,MAAM;aACD,IAAI,CAAC,IAAA,oCAAkB,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,CAAC;IAES,yBAAyB,CAA2C,MAAe;QACzF,OAAO,CAAC,KAA8B,EAAW,EAAE,CAC/C,MAAM;aACD,IAAI,CAAC,IAAA,8BAAY,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/D,CAAC;IAES,0BAA0B,CAA2C,MAAe;QAC1F,OAAO,CAAC,KAA+B,EAAW,EAAE,CAChD,MAAM;aACD,IAAI,CAAC,IAAA,+BAAa,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IACnD,CAAC;IAES,oBAAoB,CAA2C,MAAe;QACpF,OAAO,CAAC,KAAyB,EAAW,EAAE,CAC1C,MAAM;aACD,IAAI,CAAC,IAAA,kCAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAES,aAAa,CAA2C,MAAe;QAC7E,OAAO,CAAC,KAAkB,EAAW,EAAE,CACnC,MAAM;aACD,IAAI,CAAC,IAAA,uBAAK,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC;IAES,sBAAsB,CAA2C,MAAe;QACtF,OAAO,CAAC,KAA2B,EAAW,EAAE,CAC5C,MAAM;aACD,IAAI,CAAC,IAAA,gCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7C,CAAC;IAES,kCAAkC,CAA2C,MAAe;QAClG,OAAO,CAAC,KAAuC,EAAW,EAAE,CACxD,MAAM;aACD,IAAI,CAAC,IAAA,yCAAuB,EAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IACzG,CAAC;IAES,iCAAiC,CAA2C,MAAe;QACjG,OAAO,CAAC,KAAsC,EAAW,EAAE,CACvD,MAAM;aACD,IAAI,CAAC,IAAA,iDAA+B,EAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;IACrH,CAAC;CACJ;AArED,kDAqEC"}
@@ -2,13 +2,14 @@ import type { DomainEventQueues } from '@serenity-js/core';
2
2
  import type { RequirementsHierarchy } from '@serenity-js/core/lib/io';
3
3
  import type { Artifact, CorrelationId } from '@serenity-js/core/lib/model';
4
4
  import { Name } from '@serenity-js/core/lib/model';
5
+ import type { SerenityBDDReporterConfig } from '../SerenityBDDReporterConfig';
5
6
  /**
6
7
  * @package
7
8
  */
8
9
  export declare class EventQueueProcessors {
9
10
  private readonly singleSceneProcessor;
10
11
  private readonly sceneSequenceProcessor;
11
- constructor(requirementsHierarchy: RequirementsHierarchy);
12
+ constructor(requirementsHierarchy: RequirementsHierarchy, reporterConfig: Required<SerenityBDDReporterConfig['reporter']>);
12
13
  process(queues: DomainEventQueues): Array<{
13
14
  artifact: Artifact;
14
15
  name: Name;
@@ -1 +1 @@
1
- {"version":3,"file":"EventQueueProcessors.d.ts","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAc,MAAM,6BAA6B,CAAC;AAQ/D;;GAEG;AACH,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsB;IAC3D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAsB;gBAEjD,qBAAqB,EAAE,qBAAqB;IAMxD,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,KAAK,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,aAAa,CAAA;KAAE,CAAC;CAiBvG"}
1
+ {"version":3,"file":"EventQueueProcessors.d.ts","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAc,MAAM,6BAA6B,CAAC;AAI/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAK9E;;GAEG;AACH,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsB;IAC3D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAsB;gBAEjD,qBAAqB,EAAE,qBAAqB,EAAE,cAAc,EAAE,QAAQ,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAMzH,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,KAAK,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,aAAa,CAAA;KAAE,CAAC;CAiBvG"}
@@ -11,9 +11,9 @@ const single_scene_1 = require("./single-scene");
11
11
  class EventQueueProcessors {
12
12
  singleSceneProcessor;
13
13
  sceneSequenceProcessor;
14
- constructor(requirementsHierarchy) {
15
- this.singleSceneProcessor = new single_scene_1.SingleSceneEventQueueProcessor(requirementsHierarchy);
16
- this.sceneSequenceProcessor = new scene_sequence_1.SceneSequenceEventQueueProcessor(requirementsHierarchy);
14
+ constructor(requirementsHierarchy, reporterConfig) {
15
+ this.singleSceneProcessor = new single_scene_1.SingleSceneEventQueueProcessor(requirementsHierarchy, reporterConfig);
16
+ this.sceneSequenceProcessor = new scene_sequence_1.SceneSequenceEventQueueProcessor(requirementsHierarchy, reporterConfig);
17
17
  }
18
18
  // todo: move `name` to Artifact and return Artifact[]... and sceneId?
19
19
  process(queues) {
@@ -1 +1 @@
1
- {"version":3,"file":"EventQueueProcessors.js","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessors.ts"],"names":[],"mappings":";;;AACA,yDAA2D;AAG3D,uDAA+D;AAK/D,qDAAoE;AACpE,iDAAgE;AAEhE;;GAEG;AACH,MAAa,oBAAoB;IAEZ,oBAAoB,CAAsB;IAC1C,sBAAsB,CAAsB;IAE7D,YAAY,qBAA4C;QACpD,IAAI,CAAC,oBAAoB,GAAG,IAAI,6CAA8B,CAAC,qBAAqB,CAAC,CAAC;QACtF,IAAI,CAAC,sBAAsB,GAAG,IAAI,iDAAgC,CAAC,qBAAqB,CAAC,CAAC;IAC9F,CAAC;IAED,sEAAsE;IACtE,OAAO,CAAC,MAAyB;QAC7B,MAAM,OAAO,GAAqE,EAAE,CAAC;QAErF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,MAAM,GAA6B,KAAK,CAAC,KAAK,EAAE,YAAY,oBAAW;gBACzE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAEhD,OAAO,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI,YAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC3B,QAAQ,EAAE,kBAAU,CAAC,QAAQ,CAAC,MAA+B,CAAC;gBAC9D,OAAO,EAAE,KAAK,CAAC,OAAO;aACzB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AA5BD,oDA4BC"}
1
+ {"version":3,"file":"EventQueueProcessors.js","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/EventQueueProcessors.ts"],"names":[],"mappings":";;;AACA,yDAA2D;AAG3D,uDAA+D;AAM/D,qDAAoE;AACpE,iDAAgE;AAEhE;;GAEG;AACH,MAAa,oBAAoB;IAEZ,oBAAoB,CAAsB;IAC1C,sBAAsB,CAAsB;IAE7D,YAAY,qBAA4C,EAAE,cAA+D;QACrH,IAAI,CAAC,oBAAoB,GAAG,IAAI,6CAA8B,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;QACtG,IAAI,CAAC,sBAAsB,GAAG,IAAI,iDAAgC,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;IAC9G,CAAC;IAED,sEAAsE;IACtE,OAAO,CAAC,MAAyB;QAC7B,MAAM,OAAO,GAAqE,EAAE,CAAC;QAErF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,MAAM,GAA6B,KAAK,CAAC,KAAK,EAAE,YAAY,oBAAW;gBACzE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAEhD,OAAO,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI,YAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC3B,QAAQ,EAAE,kBAAU,CAAC,QAAQ,CAAC,MAA+B,CAAC;gBAC9D,OAAO,EAAE,KAAK,CAAC,OAAO;aACzB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AA5BD,oDA4BC"}
@@ -1,3 +1,4 @@
1
+ import type { SerialisedActor } from '@serenity-js/core';
1
2
  import type { RequirementsHierarchy } from '@serenity-js/core/lib/io';
2
3
  import type { CorrelationId } from '@serenity-js/core/lib/model';
3
4
  import type { SerenityBDD4ReportSchema } from '../serenity-bdd-report-schema';
@@ -9,6 +10,7 @@ export declare abstract class SerenityBDDReportContext {
9
10
  readonly requirementsHierarchy: RequirementsHierarchy;
10
11
  readonly report: Partial<SerenityBDD4ReportSchema>;
11
12
  readonly steps: Map<string, LinkedTestStep>;
13
+ readonly actors: Map<string, SerialisedActor>;
12
14
  currentActivityId: CorrelationId;
13
15
  constructor(requirementsHierarchy: RequirementsHierarchy);
14
16
  with(fn: (report: this) => this): this;
@@ -1 +1 @@
1
- {"version":3,"file":"SerenityBDDReportContext.d.ts","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/SerenityBDDReportContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,8BAAsB,wBAAwB;aAMd,qBAAqB,EAAE,qBAAqB;IAJxE,SAAgB,MAAM,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAM;IAC/D,SAAgB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAa;IACxD,iBAAiB,EAAE,aAAa,CAAa;gBAExB,qBAAqB,EAAE,qBAAqB;IAGxE,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAItC,KAAK,IAAI,wBAAwB;CA+BpC"}
1
+ {"version":3,"file":"SerenityBDDReportContext.d.ts","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/SerenityBDDReportContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,8BAAsB,wBAAwB;aAOd,qBAAqB,EAAE,qBAAqB;IALxE,SAAgB,MAAM,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAM;IAC/D,SAAgB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAa;IAC/D,SAAgB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAa;IAC1D,iBAAiB,EAAE,aAAa,CAAa;gBAExB,qBAAqB,EAAE,qBAAqB;IAGxE,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAItC,KAAK,IAAI,wBAAwB;CA+BpC"}
@@ -8,6 +8,7 @@ class SerenityBDDReportContext {
8
8
  requirementsHierarchy;
9
9
  report = {};
10
10
  steps = new Map();
11
+ actors = new Map(); // sceneId -> actor
11
12
  currentActivityId = undefined;
12
13
  constructor(requirementsHierarchy) {
13
14
  this.requirementsHierarchy = requirementsHierarchy;
@@ -1 +1 @@
1
- {"version":3,"file":"SerenityBDDReportContext.js","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/SerenityBDDReportContext.ts"],"names":[],"mappings":";;;AAMA;;GAEG;AACH,MAAsB,wBAAwB;IAMd;IAJZ,MAAM,GAAsC,EAAE,CAAC;IAC/C,KAAK,GAAgC,IAAI,GAAG,EAAE,CAAC;IACxD,iBAAiB,GAAkB,SAAS,CAAC;IAEpD,YAA4B,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IACxE,CAAC;IAED,IAAI,CAAC,EAA0B;QAC3B,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,KAAK;QAED,MAAM,4CAA4C,GAAG,CAAC,OAAuB,EAAE,EAAE;YAC7E,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBAE7B,OAAO,4CAA4C,CAAC,MAAM,CAAC,CAAC;YAChE,CAAC;QACL,CAAC,CAAA;QAED,MAAM,SAAS,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEhF,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACzB,4CAA4C,CAAC,OAAO,CAAC,CAAC;gBAC1D,CAAC;YACL,CAAC;iBACI,CAAC;gBACF,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,GAAG,IAAI,CAAC,MAAM;YACd,SAAS;SACgB,CAAC;IAClC,CAAC;CACJ;AA5CD,4DA4CC"}
1
+ {"version":3,"file":"SerenityBDDReportContext.js","sourceRoot":"","sources":["../../../../../src/stage/crew/serenity-bdd-reporter/processors/SerenityBDDReportContext.ts"],"names":[],"mappings":";;;AAOA;;GAEG;AACH,MAAsB,wBAAwB;IAOd;IALZ,MAAM,GAAsC,EAAE,CAAC;IAC/C,KAAK,GAAgC,IAAI,GAAG,EAAE,CAAC;IAC/C,MAAM,GAAiC,IAAI,GAAG,EAAE,CAAC,CAAG,mBAAmB;IAChF,iBAAiB,GAAkB,SAAS,CAAC;IAEpD,YAA4B,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IACxE,CAAC;IAED,IAAI,CAAC,EAA0B;QAC3B,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,KAAK;QAED,MAAM,4CAA4C,GAAG,CAAC,OAAuB,EAAE,EAAE;YAC7E,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBAE7B,OAAO,4CAA4C,CAAC,MAAM,CAAC,CAAC;YAChE,CAAC;QACL,CAAC,CAAA;QAED,MAAM,SAAS,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEhF,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACzB,4CAA4C,CAAC,OAAO,CAAC,CAAC;gBAC1D,CAAC;YACL,CAAC;iBACI,CAAC;gBACF,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,GAAG,IAAI,CAAC,MAAM;YACd,SAAS;SACgB,CAAC;IAClC,CAAC;CACJ;AA7CD,4DA6CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SceneSequenceEventQueueProcessor.d.ts","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/scene-sequence/SceneSequenceEventQueueProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAsB1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAQ7D;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,mBAAmB;IAErE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAK1C,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,wBAAwB;IAwB1D,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,eAAe;CAQ1B"}
1
+ {"version":3,"file":"SceneSequenceEventQueueProcessor.d.ts","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/scene-sequence/SceneSequenceEventQueueProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAuB1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAe7D;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,mBAAmB;IAErE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAK1C,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,wBAAwB;IA0B1D,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,eAAe;CAQ1B"}
@@ -23,6 +23,8 @@ class SceneSequenceEventQueueProcessor extends EventQueueProcessor_1.EventQueueP
23
23
  (0, tiny_types_1.match)(event)
24
24
  .when(events_1.SceneSequenceDetected, this.onSceneSequenceDetected(context))
25
25
  .when(events_1.SceneStarts, this.onSceneStarts(context))
26
+ .when(events_1.ActorEntersStage, this.onActorEntersStage(context))
27
+ .when(events_1.ActorStageExitStarts, this.onActorStageExitStarts(context))
26
28
  .when(events_1.SceneTemplateDetected, this.onSceneTemplateDetected(context))
27
29
  .when(events_1.SceneParametersDetected, this.onSceneParametersDetected(context))
28
30
  .when(events_1.FeatureNarrativeDetected, this.onFeatureNarrativeDetected(context))
@@ -1 +1 @@
1
- {"version":3,"file":"SceneSequenceEventQueueProcessor.js","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/scene-sequence/SceneSequenceEventQueueProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SceneSequenceEventQueueProcessor.js","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/scene-sequence/SceneSequenceEventQueueProcessor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SingleSceneEventQueueProcessor.d.ts","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/single-scene/SingleSceneEventQueueProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAmB1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK7D;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,mBAAmB;IAEnE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAK1C,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,wBAAwB;IAoB1D,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,eAAe;CAM1B"}
1
+ {"version":3,"file":"SingleSceneEventQueueProcessor.d.ts","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/single-scene/SingleSceneEventQueueProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAoB1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAa7D;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,mBAAmB;IAEnE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAK1C,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,wBAAwB;IAsB1D,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,eAAe;CAM1B"}
@@ -17,6 +17,8 @@ class SingleSceneEventQueueProcessor extends EventQueueProcessor_1.EventQueuePro
17
17
  process(queue) {
18
18
  return queue.reduce((context, event) => (0, tiny_types_1.match)(event)
19
19
  .when(events_1.SceneStarts, this.onSceneStarts(context))
20
+ .when(events_1.ActorEntersStage, this.onActorEntersStage(context))
21
+ .when(events_1.ActorStageExitStarts, this.onActorStageExitStarts(context))
20
22
  .when(events_1.FeatureNarrativeDetected, this.onFeatureNarrativeDetected(context))
21
23
  .when(events_1.SceneBackgroundDetected, this.onSceneBackgroundDetected(context))
22
24
  .when(events_1.SceneDescriptionDetected, this.onSceneDescriptionDetected(context))
@@ -1 +1 @@
1
- {"version":3,"file":"SingleSceneEventQueueProcessor.js","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/single-scene/SingleSceneEventQueueProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SingleSceneEventQueueProcessor.js","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/single-scene/SingleSceneEventQueueProcessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { SerialisedActor } from '@serenity-js/core';
2
+ import type { SerenityBDDReporterConfig } from '../../SerenityBDDReporterConfig';
3
+ import type { SerenityBDDReportContext } from '../SerenityBDDReportContext';
4
+ /**
5
+ * @package
6
+ */
7
+ export declare function actorDetailsOf<Context extends SerenityBDDReportContext>(actor: SerialisedActor, config: Required<SerenityBDDReporterConfig['reporter']>): (context: Context) => Context;
8
+ //# sourceMappingURL=actorDetailsOf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actorDetailsOf.d.ts","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/transformations/actorDetailsOf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAE5E;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAS,wBAAwB,EACnE,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,QAAQ,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,GACxD,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAiB/B"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.actorDetailsOf = actorDetailsOf;
4
+ /**
5
+ * @package
6
+ */
7
+ function actorDetailsOf(actor, config) {
8
+ const abilityMapper = config.includeAbilityDetails ?
9
+ abilityTypeAndOptions :
10
+ abilityType;
11
+ return (context) => {
12
+ context.actors.set(actor.name, actor);
13
+ context.report.actors = Array.from(context.actors.values()).map(actor => ({
14
+ name: actor.name,
15
+ can: actor.abilities.map(ability => abilityMapper(ability)),
16
+ }));
17
+ return context;
18
+ };
19
+ }
20
+ function abilityType(ability) {
21
+ return [
22
+ ability.type,
23
+ ability.class ? ` (${ability.class})` : '',
24
+ ].join('');
25
+ }
26
+ function abilityTypeAndOptions(ability) {
27
+ return [
28
+ abilityType(ability),
29
+ ability.options && Object.keys(ability.options).length > 0
30
+ ? ` ${JSON.stringify(ability.options, undefined, 1).replaceAll(/\n\s*/g, ' ').replaceAll(/"(\w+)":/g, '$1:')}`
31
+ : '',
32
+ ].join('');
33
+ }
34
+ //# sourceMappingURL=actorDetailsOf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actorDetailsOf.js","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/transformations/actorDetailsOf.ts"],"names":[],"mappings":";;AASA,wCAoBC;AAvBD;;GAEG;AACH,SAAgB,cAAc,CAC1B,KAAsB,EACtB,MAAuD;IAGvD,MAAM,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChD,qBAAqB,CAAC,CAAC;QACvB,WAAW,CAAC;IAEhB,OAAO,CAAC,OAAgB,EAAW,EAAE;QAEjC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEtC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtE,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SAC9D,CAAC,CAAC,CAAC;QAEJ,OAAO,OAAO,CAAC;IACnB,CAAC,CAAA;AACL,CAAC;AAED,SAAS,WAAW,CAAC,OAA0B;IAC3C,OAAO;QACH,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;KAC7C,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA0B;IACrD,OAAO;QACH,WAAW,CAAC,OAAO,CAAC;QACpB,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE;YAC9G,CAAC,CAAC,EAAE;KACX,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACf,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export * from './activityFinished';
2
2
  export * from './activityRelatedArtifact';
3
3
  export * from './activityStarted';
4
+ export * from './actorDetailsOf';
4
5
  export * from './archivedActivityRelatedArtifact';
5
6
  export * from './backgroundOf';
6
7
  export * from './businessRuleOf';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/transformations/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/transformations/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC"}
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./activityFinished"), exports);
18
18
  __exportStar(require("./activityRelatedArtifact"), exports);
19
19
  __exportStar(require("./activityStarted"), exports);
20
+ __exportStar(require("./actorDetailsOf"), exports);
20
21
  __exportStar(require("./archivedActivityRelatedArtifact"), exports);
21
22
  __exportStar(require("./backgroundOf"), exports);
22
23
  __exportStar(require("./businessRuleOf"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/transformations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,4DAA0C;AAC1C,oDAAkC;AAClC,oEAAkD;AAClD,iDAA+B;AAC/B,mDAAiC;AACjC,kDAAgC;AAChC,wDAAsC;AACtC,0DAAwC;AACxC,uDAAqC;AACrC,uDAAqC;AACrC,sDAAoC;AACpC,sDAAoC;AACpC,0CAAwB;AACxB,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/stage/crew/serenity-bdd-reporter/processors/transformations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,4DAA0C;AAC1C,oDAAkC;AAClC,mDAAiC;AACjC,oEAAkD;AAClD,iDAA+B;AAC/B,mDAAiC;AACjC,kDAAgC;AAChC,wDAAsC;AACtC,0DAAwC;AACxC,uDAAqC;AACrC,uDAAqC;AACrC,sDAAoC;AACpC,sDAAoC;AACpC,0CAAwB;AACxB,qDAAmC"}
@@ -51,6 +51,7 @@ export interface PathElementSchema {
51
51
  export interface ActorSchema {
52
52
  name: string;
53
53
  can?: string[];
54
+ has?: string[];
54
55
  }
55
56
  export interface TagSchema {
56
57
  displayName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"serenity-bdd-report-schema.d.ts","sourceRoot":"","sources":["../../../../src/stage/crew/serenity-bdd-reporter/serenity-bdd-report-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serenity-bdd-report-schema.d.ts","sourceRoot":"","sources":["../../../../src/stage/crew/serenity-bdd-reporter/serenity-bdd-report-schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/serenity-bdd",
3
- "version": "3.25.5",
3
+ "version": "3.26.0",
4
4
  "description": "Serenity/JS reporting module that produces detailed Serenity BDD test reports and living documentation, enhancing transparency and traceability of test results",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -46,11 +46,11 @@
46
46
  "node": "^16.13 || ^18.12 || ^20"
47
47
  },
48
48
  "dependencies": {
49
- "@serenity-js/assertions": "3.25.5",
50
- "@serenity-js/core": "3.25.5",
51
- "@serenity-js/rest": "3.25.5",
49
+ "@serenity-js/assertions": "3.26.0",
50
+ "@serenity-js/core": "3.26.0",
51
+ "@serenity-js/rest": "3.26.0",
52
52
  "ansi-regex": "5.0.1",
53
- "axios": "1.7.4",
53
+ "axios": "1.7.5",
54
54
  "chalk": "4.1.2",
55
55
  "find-java-home": "2.0.0",
56
56
  "progress": "2.0.3",
@@ -60,7 +60,7 @@
60
60
  },
61
61
  "devDependencies": {
62
62
  "@integration/testing-tools": "3.0.0",
63
- "@types/chai": "4.3.17",
63
+ "@types/chai": "4.3.18",
64
64
  "@types/mocha": "10.0.7",
65
65
  "@types/progress": "2.0.7",
66
66
  "c8": "10.1.2",
@@ -71,5 +71,5 @@
71
71
  "ts-node": "10.9.2",
72
72
  "typescript": "5.5.4"
73
73
  },
74
- "gitHead": "9fffa14deab39e3443ebdf0502cd61ac1e39ee7c"
74
+ "gitHead": "bd5ea6b04d1fd1d9576a0fc28509f3f947365b35"
75
75
  }
@@ -14,7 +14,7 @@
14
14
  * @public
15
15
  */
16
16
  export const defaults = {
17
- artifact: 'net.serenity-bdd:serenity-cli:jar:4.1.6',
17
+ artifact: 'net.serenity-bdd:serenity-cli:jar:4.1.20',
18
18
  repository: 'https://repo1.maven.org/maven2/',
19
19
  cacheDir: 'node_modules/@serenity-js/serenity-bdd/cache',
20
20
  sourceDir: 'target/site/serenity',
@@ -120,22 +120,21 @@ import type { SerenityBDDReporterConfig } from './SerenityBDDReporterConfig';
120
120
  */
121
121
  export class SerenityBDDReporter implements StageCrewMember {
122
122
  private readonly eventQueues = new DomainEventQueues();
123
- private readonly processors: EventQueueProcessors;
124
123
 
125
124
  static fromJSON(config: SerenityBDDReporterConfig): StageCrewMemberBuilder<SerenityBDDReporter> {
126
125
  return new SerenityBDDReporterBuilder(config);
127
126
  }
128
127
 
129
128
  /**
130
- * @param {Path} requirementsHierarchy
129
+ * @param {EventQueueProcessors} processors
131
130
  * @param {Stage} [stage]
132
131
  * The stage this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) should be assigned to
133
132
  */
134
133
  constructor(
135
- private readonly requirementsHierarchy: RequirementsHierarchy,
134
+ private readonly processors: EventQueueProcessors,
136
135
  private stage?: Stage,
137
136
  ) {
138
- this.processors = new EventQueueProcessors(ensure('requirementsHierarchy', requirementsHierarchy, isDefined()));
137
+ ensure('processors', processors, isDefined());
139
138
  }
140
139
 
141
140
  /**
@@ -207,10 +206,14 @@ class SerenityBDDReporterBuilder implements StageCrewMemberBuilder<SerenityBDDRe
207
206
  ensure('fileSystem', fileSystem, isDefined());
208
207
 
209
208
  const userDefinedSpecDirectory: Path | undefined = this.config.specDirectory && Path.from(this.config.specDirectory);
209
+ const reporterConfig: Required<SerenityBDDReporterConfig['reporter']> = {
210
+ includeAbilityDetails: this.config?.reporter?.includeAbilityDetails ?? true,
211
+ ... this.config?.reporter,
212
+ };
210
213
 
211
- return new SerenityBDDReporter(
212
- new RequirementsHierarchy(fileSystem, userDefinedSpecDirectory),
213
- stage,
214
- );
214
+ const requirementsHierarchy = new RequirementsHierarchy(fileSystem, userDefinedSpecDirectory);
215
+ const processors = new EventQueueProcessors(requirementsHierarchy, reporterConfig);
216
+
217
+ return new SerenityBDDReporter(processors, stage);
215
218
  }
216
- }
219
+ }
@@ -38,4 +38,12 @@ export interface SerenityBDDReporterConfig {
38
38
  * class.
39
39
  */
40
40
  specDirectory?: string;
41
+
42
+ reporter?: {
43
+ /**
44
+ * Whether to include the details of final state and configuration details of actors' abilities in Serenity BDD reports.
45
+ * Defaults to `true`.
46
+ */
47
+ includeAbilityDetails?: boolean;
48
+ };
41
49
  }
@@ -2,6 +2,7 @@ import type { DomainEventQueue } from '@serenity-js/core';
2
2
  import type {
3
3
  ActivityRelatedArtifactArchived,
4
4
  ActivityRelatedArtifactGenerated,
5
+ ActorEntersStage, ActorStageExitStarts,
5
6
  BusinessRuleDetected,
6
7
  FeatureNarrativeDetected,
7
8
  SceneBackgroundDetected,
@@ -12,19 +13,45 @@ import type {
12
13
  import type { RequirementsHierarchy } from '@serenity-js/core/lib/io';
13
14
 
14
15
  import type { SerenityBDD4ReportSchema } from '../serenity-bdd-report-schema';
16
+ import type { SerenityBDDReporterConfig } from '../SerenityBDDReporterConfig';
15
17
  import type { SerenityBDDReportContext } from './SerenityBDDReportContext';
16
- import { activityRelatedArtifact, archivedActivityRelatedArtifact, backgroundOf, businessRuleOf, descriptionOf, featureNarrativeOf, tagOf, testRunnerCalled } from './transformations';
18
+ import {
19
+ activityRelatedArtifact,
20
+ actorDetailsOf,
21
+ archivedActivityRelatedArtifact,
22
+ backgroundOf,
23
+ businessRuleOf,
24
+ descriptionOf,
25
+ featureNarrativeOf,
26
+ tagOf,
27
+ testRunnerCalled
28
+ } from './transformations';
17
29
 
18
30
  /**
19
31
  * @package
20
32
  */
21
33
  export abstract class EventQueueProcessor {
22
- constructor(protected readonly requirementsHierarchy: RequirementsHierarchy) {
34
+ constructor(
35
+ protected readonly requirementsHierarchy: RequirementsHierarchy,
36
+ protected readonly reporterConfig: Required<SerenityBDDReporterConfig['reporter']>,
37
+ ) {
23
38
  }
24
39
 
25
40
  abstract supports(queue: DomainEventQueue): boolean;
26
41
  abstract process(queue: DomainEventQueue): SerenityBDD4ReportSchema; // todo: return Artifact with a name instead
27
42
 
43
+ protected onActorEntersStage<Context extends SerenityBDDReportContext>(report: Context) {
44
+ return (event: ActorEntersStage): Context =>
45
+ report
46
+ .with(actorDetailsOf(event.actor, this.reporterConfig));
47
+ }
48
+
49
+ protected onActorStageExitStarts<Context extends SerenityBDDReportContext>(report: Context) {
50
+ return (event: ActorStageExitStarts): Context =>
51
+ report
52
+ .with(actorDetailsOf(event.actor, this.reporterConfig));
53
+ }
54
+
28
55
  protected onFeatureNarrativeDetected<Context extends SerenityBDDReportContext>(report: Context) {
29
56
  return (event: FeatureNarrativeDetected): Context =>
30
57
  report
@@ -6,6 +6,7 @@ import { Name, TestReport } from '@serenity-js/core/lib/model';
6
6
  import type { JSONObject } from 'tiny-types';
7
7
 
8
8
  import type { SerenityBDD4ReportSchema } from '../serenity-bdd-report-schema';
9
+ import type { SerenityBDDReporterConfig } from '../SerenityBDDReporterConfig';
9
10
  import type { EventQueueProcessor } from './EventQueueProcessor';
10
11
  import { SceneSequenceEventQueueProcessor } from './scene-sequence';
11
12
  import { SingleSceneEventQueueProcessor } from './single-scene';
@@ -18,9 +19,9 @@ export class EventQueueProcessors {
18
19
  private readonly singleSceneProcessor: EventQueueProcessor;
19
20
  private readonly sceneSequenceProcessor: EventQueueProcessor;
20
21
 
21
- constructor(requirementsHierarchy: RequirementsHierarchy) {
22
- this.singleSceneProcessor = new SingleSceneEventQueueProcessor(requirementsHierarchy);
23
- this.sceneSequenceProcessor = new SceneSequenceEventQueueProcessor(requirementsHierarchy);
22
+ constructor(requirementsHierarchy: RequirementsHierarchy, reporterConfig: Required<SerenityBDDReporterConfig['reporter']>) {
23
+ this.singleSceneProcessor = new SingleSceneEventQueueProcessor(requirementsHierarchy, reporterConfig);
24
+ this.sceneSequenceProcessor = new SceneSequenceEventQueueProcessor(requirementsHierarchy, reporterConfig);
24
25
  }
25
26
 
26
27
  // todo: move `name` to Artifact and return Artifact[]... and sceneId?
@@ -1,3 +1,4 @@
1
+ import type { SerialisedActor } from '@serenity-js/core';
1
2
  import type { RequirementsHierarchy } from '@serenity-js/core/lib/io';
2
3
  import type { CorrelationId } from '@serenity-js/core/lib/model';
3
4
 
@@ -11,6 +12,7 @@ export abstract class SerenityBDDReportContext {
11
12
 
12
13
  public readonly report: Partial<SerenityBDD4ReportSchema> = {};
13
14
  public readonly steps: Map<string, LinkedTestStep> = new Map();
15
+ public readonly actors: Map<string, SerialisedActor> = new Map(); // sceneId -> actor
14
16
  public currentActivityId: CorrelationId = undefined;
15
17
 
16
18
  constructor(public readonly requirementsHierarchy: RequirementsHierarchy) {
@@ -1,11 +1,12 @@
1
1
  import type { DomainEventQueue } from '@serenity-js/core';
2
- import type {
3
- DomainEvent} from '@serenity-js/core/lib/events';
2
+ import type { DomainEvent } from '@serenity-js/core/lib/events';
4
3
  import {
5
4
  ActivityFinished,
6
5
  ActivityRelatedArtifactArchived,
7
6
  ActivityRelatedArtifactGenerated,
8
7
  ActivityStarts,
8
+ ActorEntersStage,
9
+ ActorStageExitStarts,
9
10
  BusinessRuleDetected,
10
11
  FeatureNarrativeDetected,
11
12
  SceneBackgroundDetected,
@@ -23,7 +24,14 @@ import { match } from 'tiny-types';
23
24
  import type { SerenityBDD4ReportSchema } from '../../serenity-bdd-report-schema';
24
25
  import { EventQueueProcessor } from '../EventQueueProcessor';
25
26
  import type { SerenityBDDReportContext } from '../SerenityBDDReportContext';
26
- import { activityFinished, activityStarted, executionFinishedAt, executionStartedAt, reportIdIncluding, scenarioDetailsOf } from '../transformations';
27
+ import {
28
+ activityFinished,
29
+ activityStarted,
30
+ executionFinishedAt,
31
+ executionStartedAt,
32
+ reportIdIncluding,
33
+ scenarioDetailsOf
34
+ } from '../transformations';
27
35
  import { SceneSequenceReportContext } from './SceneSequenceReportContext';
28
36
  import { scenarioOutlineOf, sceneSequenceOverallResult } from './transformations';
29
37
  import { scenarioParameterResult } from './transformations/scenarioParameterResult';
@@ -45,6 +53,8 @@ export class SceneSequenceEventQueueProcessor extends EventQueueProcessor {
45
53
  match<DomainEvent, SceneSequenceReportContext>(event)
46
54
  .when(SceneSequenceDetected, this.onSceneSequenceDetected(context))
47
55
  .when(SceneStarts, this.onSceneStarts(context))
56
+ .when(ActorEntersStage, this.onActorEntersStage(context))
57
+ .when(ActorStageExitStarts, this.onActorStageExitStarts(context))
48
58
  .when(SceneTemplateDetected, this.onSceneTemplateDetected(context))
49
59
  .when(SceneParametersDetected, this.onSceneParametersDetected(context))
50
60
  .when(FeatureNarrativeDetected, this.onFeatureNarrativeDetected(context))
@@ -1,11 +1,12 @@
1
1
  import type { DomainEventQueue } from '@serenity-js/core';
2
- import type {
3
- DomainEvent} from '@serenity-js/core/lib/events';
2
+ import type { DomainEvent } from '@serenity-js/core/lib/events';
4
3
  import {
5
4
  ActivityFinished,
6
5
  ActivityRelatedArtifactArchived,
7
6
  ActivityRelatedArtifactGenerated,
8
7
  ActivityStarts,
8
+ ActorEntersStage,
9
+ ActorStageExitStarts,
9
10
  BusinessRuleDetected,
10
11
  FeatureNarrativeDetected,
11
12
  SceneBackgroundDetected,
@@ -20,7 +21,15 @@ import { match } from 'tiny-types';
20
21
  import type { SerenityBDD4ReportSchema } from '../../serenity-bdd-report-schema';
21
22
  import { EventQueueProcessor } from '../EventQueueProcessor';
22
23
  import type { SerenityBDDReportContext } from '../SerenityBDDReportContext';
23
- import { activityFinished, activityStarted, executionFinishedAt, executionFinishedWith, executionStartedAt, reportIdIncluding, scenarioDetailsOf } from '../transformations';
24
+ import {
25
+ activityFinished,
26
+ activityStarted,
27
+ executionFinishedAt,
28
+ executionFinishedWith,
29
+ executionStartedAt,
30
+ reportIdIncluding,
31
+ scenarioDetailsOf
32
+ } from '../transformations';
24
33
  import { SingleSceneReportContext } from './SingleSceneReportContext';
25
34
 
26
35
  /**
@@ -37,6 +46,8 @@ export class SingleSceneEventQueueProcessor extends EventQueueProcessor {
37
46
  return queue.reduce((context, event) =>
38
47
  match<DomainEvent, SingleSceneReportContext>(event)
39
48
  .when(SceneStarts, this.onSceneStarts(context))
49
+ .when(ActorEntersStage, this.onActorEntersStage(context))
50
+ .when(ActorStageExitStarts, this.onActorStageExitStarts(context))
40
51
  .when(FeatureNarrativeDetected, this.onFeatureNarrativeDetected(context))
41
52
  .when(SceneBackgroundDetected, this.onSceneBackgroundDetected(context))
42
53
  .when(SceneDescriptionDetected, this.onSceneDescriptionDetected(context))
@@ -0,0 +1,46 @@
1
+ import type { SerialisedActor } from '@serenity-js/core';
2
+ import type { SerialisedAbility } from '@serenity-js/core';
3
+
4
+ import type { SerenityBDDReporterConfig } from '../../SerenityBDDReporterConfig';
5
+ import type { SerenityBDDReportContext } from '../SerenityBDDReportContext';
6
+
7
+ /**
8
+ * @package
9
+ */
10
+ export function actorDetailsOf<Context extends SerenityBDDReportContext>(
11
+ actor: SerialisedActor,
12
+ config: Required<SerenityBDDReporterConfig['reporter']>
13
+ ): (context: Context) => Context {
14
+
15
+ const abilityMapper = config.includeAbilityDetails ?
16
+ abilityTypeAndOptions :
17
+ abilityType;
18
+
19
+ return (context: Context): Context => {
20
+
21
+ context.actors.set(actor.name, actor);
22
+
23
+ context.report.actors = Array.from(context.actors.values()).map(actor => ({
24
+ name: actor.name,
25
+ can: actor.abilities.map(ability => abilityMapper(ability)),
26
+ }));
27
+
28
+ return context;
29
+ }
30
+ }
31
+
32
+ function abilityType(ability: SerialisedAbility): string {
33
+ return [
34
+ ability.type,
35
+ ability.class ? ` (${ability.class})` : '',
36
+ ].join('');
37
+ }
38
+
39
+ function abilityTypeAndOptions(ability: SerialisedAbility): string {
40
+ return [
41
+ abilityType(ability),
42
+ ability.options && Object.keys(ability.options).length > 0
43
+ ? ` ${JSON.stringify(ability.options, undefined, 1).replaceAll(/\n\s*/g, ' ').replaceAll(/"(\w+)":/g, '$1:')}`
44
+ : '',
45
+ ].join('');
46
+ }
@@ -1,6 +1,7 @@
1
1
  export * from './activityFinished';
2
2
  export * from './activityRelatedArtifact';
3
3
  export * from './activityStarted';
4
+ export * from './actorDetailsOf';
4
5
  export * from './archivedActivityRelatedArtifact';
5
6
  export * from './backgroundOf';
6
7
  export * from './businessRuleOf';
@@ -54,6 +54,7 @@ export interface PathElementSchema /* extends JSONObject */ {
54
54
  export interface ActorSchema /* extends JSONObject */ {
55
55
  name: string;
56
56
  can?: string[];
57
+ has?: string[];
57
58
  }
58
59
 
59
60
  export interface TagSchema /* extends JSONObject */ {