@serenity-js/core 3.25.0 → 3.25.1
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.
- package/CHANGELOG.md +11 -0
- package/README.md +1 -1
- package/lib/Serenity.d.ts +22 -22
- package/lib/Serenity.js +22 -22
- package/lib/adapter/OutputStream.d.ts +5 -4
- package/lib/adapter/OutputStream.d.ts.map +1 -1
- package/lib/adapter/TestRunnerAdapter.d.ts +2 -2
- package/lib/config/ClassDescription.d.ts +1 -1
- package/lib/config/SerenityConfig.d.ts +22 -20
- package/lib/config/SerenityConfig.d.ts.map +1 -1
- package/lib/config/SerenityConfig.js +22 -20
- package/lib/config/SerenityConfig.js.map +1 -1
- package/lib/errors/ErrorFactory.d.ts +2 -1
- package/lib/errors/ErrorFactory.d.ts.map +1 -1
- package/lib/errors/ErrorFactory.js +2 -1
- package/lib/errors/ErrorFactory.js.map +1 -1
- package/lib/errors/RaiseErrors.d.ts +9 -9
- package/lib/errors/RaiseErrors.js +9 -9
- package/lib/errors/diff/AnsiDiffFormatter.d.ts +1 -1
- package/lib/errors/diff/AnsiDiffFormatter.js +1 -1
- package/lib/errors/diff/DiffFormatter.d.ts +1 -1
- package/lib/errors/diff/NoOpDiffFormatter.d.ts +1 -1
- package/lib/errors/diff/NoOpDiffFormatter.js +1 -1
- package/lib/errors/model/AssertionError.d.ts +1 -1
- package/lib/errors/model/AssertionError.js +1 -1
- package/lib/errors/model/ConfigurationError.d.ts +1 -1
- package/lib/errors/model/ConfigurationError.js +1 -1
- package/lib/errors/model/ImplementationPendingError.d.ts +3 -3
- package/lib/errors/model/ImplementationPendingError.js +3 -3
- package/lib/errors/model/ListItemNotFoundError.d.ts +2 -2
- package/lib/errors/model/ListItemNotFoundError.js +2 -2
- package/lib/errors/model/LogicError.d.ts +2 -2
- package/lib/errors/model/LogicError.js +2 -2
- package/lib/errors/model/OperationInterruptedError.d.ts +2 -2
- package/lib/errors/model/OperationInterruptedError.js +2 -2
- package/lib/errors/model/RuntimeError.d.ts +2 -2
- package/lib/errors/model/RuntimeError.js +2 -2
- package/lib/errors/model/TestCompromisedError.d.ts +1 -1
- package/lib/errors/model/TestCompromisedError.js +1 -1
- package/lib/errors/model/TimeoutExpiredError.d.ts +2 -2
- package/lib/errors/model/TimeoutExpiredError.js +2 -2
- package/lib/errors/model/UnknownError.d.ts +1 -1
- package/lib/errors/model/UnknownError.js +1 -1
- package/lib/events/ActivityFinished.d.ts +1 -1
- package/lib/events/ActivityFinished.js +1 -1
- package/lib/events/ActivityStarts.d.ts +1 -1
- package/lib/events/ActivityStarts.js +1 -1
- package/lib/events/BusinessRuleDetected.d.ts +1 -1
- package/lib/events/BusinessRuleDetected.js +1 -1
- package/lib/events/SceneFinishes.d.ts +2 -1
- package/lib/events/SceneFinishes.d.ts.map +1 -1
- package/lib/events/SceneFinishes.js +2 -1
- package/lib/events/SceneFinishes.js.map +1 -1
- package/lib/instance.d.ts +30 -30
- package/lib/instance.js +30 -30
- package/lib/io/format.d.ts +15 -6
- package/lib/io/format.d.ts.map +1 -1
- package/lib/io/format.js +15 -6
- package/lib/io/format.js.map +1 -1
- package/lib/io/loader/ModuleLoader.d.ts +1 -1
- package/lib/io/loader/ModuleLoader.js +1 -1
- package/lib/io/reflection/ValueInspector.d.ts +1 -1
- package/lib/io/reflection/ValueInspector.js +2 -2
- package/lib/io/reflection/ValueInspector.js.map +1 -1
- package/lib/io/stringified.d.ts +1 -1
- package/lib/io/stringified.js +1 -1
- package/lib/io/trimmed.d.ts +1 -1
- package/lib/io/trimmed.js +1 -1
- package/lib/model/artifacts/HTTPRequestResponse.d.ts +2 -2
- package/lib/model/artifacts/HTTPRequestResponse.js +1 -1
- package/lib/screenplay/Activity.d.ts +10 -10
- package/lib/screenplay/Activity.js +5 -5
- package/lib/screenplay/Actor.d.ts +28 -28
- package/lib/screenplay/Actor.js +28 -28
- package/lib/screenplay/Answerable.d.ts +1 -1
- package/lib/screenplay/Answered.d.ts +2 -2
- package/lib/screenplay/Interaction.d.ts +17 -17
- package/lib/screenplay/Interaction.js +12 -12
- package/lib/screenplay/Optional.d.ts +1 -1
- package/lib/screenplay/Question.d.ts +48 -45
- package/lib/screenplay/Question.d.ts.map +1 -1
- package/lib/screenplay/Question.js +39 -36
- package/lib/screenplay/Question.js.map +1 -1
- package/lib/screenplay/RecursivelyAnswered.d.ts +2 -2
- package/lib/screenplay/Task.d.ts +19 -19
- package/lib/screenplay/Task.js +15 -15
- package/lib/screenplay/WithAnswerableProperties.d.ts +2 -2
- package/lib/screenplay/abilities/Ability.d.ts +48 -46
- package/lib/screenplay/abilities/Ability.d.ts.map +1 -1
- package/lib/screenplay/abilities/Ability.js +48 -46
- package/lib/screenplay/abilities/Ability.js.map +1 -1
- package/lib/screenplay/abilities/AbilityType.d.ts +5 -5
- package/lib/screenplay/abilities/AnswerQuestions.d.ts +3 -3
- package/lib/screenplay/abilities/AnswerQuestions.js +3 -3
- package/lib/screenplay/abilities/CanHaveAbilities.d.ts +4 -4
- package/lib/screenplay/abilities/Discardable.d.ts +8 -8
- package/lib/screenplay/abilities/Initialisable.d.ts +11 -11
- package/lib/screenplay/abilities/PerformActivities.d.ts +3 -3
- package/lib/screenplay/abilities/PerformActivities.js +3 -3
- package/lib/screenplay/abilities/UsesAbilities.d.ts +6 -6
- package/lib/screenplay/activities/PerformsActivities.d.ts +7 -7
- package/lib/screenplay/artifacts/CollectsArtifacts.d.ts +4 -5
- package/lib/screenplay/artifacts/CollectsArtifacts.d.ts.map +1 -1
- package/lib/screenplay/debugging/Debug.d.ts +7 -6
- package/lib/screenplay/debugging/Debug.d.ts.map +1 -1
- package/lib/screenplay/debugging/Debug.js +7 -6
- package/lib/screenplay/debugging/Debug.js.map +1 -1
- package/lib/screenplay/debugging/DebuggingResult.d.ts +1 -1
- package/lib/screenplay/debugging/Log.d.ts +7 -5
- package/lib/screenplay/debugging/Log.d.ts.map +1 -1
- package/lib/screenplay/debugging/Log.js +7 -5
- package/lib/screenplay/debugging/Log.js.map +1 -1
- package/lib/screenplay/notes/Notepad.d.ts +13 -13
- package/lib/screenplay/notes/Notepad.js +13 -13
- package/lib/screenplay/notes/NotepadAdapter.d.ts +16 -16
- package/lib/screenplay/notes/NotepadAdapter.js +16 -16
- package/lib/screenplay/notes/TakeNotes.d.ts +9 -9
- package/lib/screenplay/notes/TakeNotes.js +9 -9
- package/lib/screenplay/notes/notes.d.ts +6 -6
- package/lib/screenplay/notes/notes.js +6 -6
- package/lib/screenplay/questions/AnswersQuestions.d.ts +4 -4
- package/lib/screenplay/questions/ChainableMetaQuestion.d.ts +6 -6
- package/lib/screenplay/questions/Check.d.ts +2 -2
- package/lib/screenplay/questions/Check.js +2 -2
- package/lib/screenplay/questions/DescriptionFormattingOptions.d.ts +2 -2
- package/lib/screenplay/questions/Expectation.d.ts +17 -14
- package/lib/screenplay/questions/Expectation.d.ts.map +1 -1
- package/lib/screenplay/questions/Expectation.js +17 -14
- package/lib/screenplay/questions/Expectation.js.map +1 -1
- package/lib/screenplay/questions/List.d.ts +5 -5
- package/lib/screenplay/questions/List.js +5 -5
- package/lib/screenplay/questions/Masked.d.ts +4 -2
- package/lib/screenplay/questions/Masked.d.ts.map +1 -1
- package/lib/screenplay/questions/Masked.js +4 -2
- package/lib/screenplay/questions/Masked.js.map +1 -1
- package/lib/screenplay/questions/MetaQuestion.d.ts +9 -9
- package/lib/screenplay/questions/Unanswered.d.ts +2 -2
- package/lib/screenplay/questions/Unanswered.js +2 -2
- package/lib/screenplay/questions/expectations/ExpectationDetails.d.ts +1 -1
- package/lib/screenplay/questions/expectations/ExpectationDetails.js +1 -1
- package/lib/screenplay/questions/expectations/ExpectationMet.d.ts +1 -1
- package/lib/screenplay/questions/expectations/ExpectationMet.js +1 -1
- package/lib/screenplay/questions/expectations/ExpectationNotMet.d.ts +1 -1
- package/lib/screenplay/questions/expectations/ExpectationNotMet.js +1 -1
- package/lib/screenplay/questions/expectations/ExpectationOutcome.d.ts +2 -2
- package/lib/screenplay/questions/expectations/ExpectationOutcome.js +2 -2
- package/lib/screenplay/questions/tag-functions.d.ts +23 -21
- package/lib/screenplay/questions/tag-functions.d.ts.map +1 -1
- package/lib/screenplay/questions/tag-functions.js +5 -5
- package/lib/screenplay/questions/tag-functions.js.map +1 -1
- package/lib/screenplay/time/TellsTime.d.ts +4 -4
- package/lib/screenplay/time/abilities/ScheduleWork.d.ts +2 -2
- package/lib/screenplay/time/abilities/ScheduleWork.js +2 -2
- package/lib/screenplay/time/activities/Wait.d.ts +29 -27
- package/lib/screenplay/time/activities/Wait.d.ts.map +1 -1
- package/lib/screenplay/time/activities/Wait.js +29 -27
- package/lib/screenplay/time/activities/Wait.js.map +1 -1
- package/lib/screenplay/time/models/Clock.d.ts +4 -4
- package/lib/screenplay/time/models/Clock.js +4 -4
- package/lib/screenplay/time/models/Duration.d.ts +1 -1
- package/lib/screenplay/time/models/Duration.js +1 -1
- package/lib/screenplay/time/models/Timestamp.d.ts +2 -2
- package/lib/screenplay/time/models/Timestamp.js +2 -2
- package/lib/stage/Cast.d.ts +21 -21
- package/lib/stage/Cast.js +19 -19
- package/lib/stage/Extras.d.ts +1 -1
- package/lib/stage/Extras.js +1 -1
- package/lib/stage/ListensToDomainEvents.d.ts +7 -7
- package/lib/stage/Stage.d.ts +29 -30
- package/lib/stage/Stage.d.ts.map +1 -1
- package/lib/stage/Stage.js +29 -30
- package/lib/stage/Stage.js.map +1 -1
- package/lib/stage/StageCrewMember.d.ts +11 -11
- package/lib/stage/StageCrewMemberBuilder.d.ts +7 -7
- package/lib/stage/StageCrewMemberBuilderDependencies.d.ts +2 -2
- package/lib/stage/crew/artifact-archiver/ArtifactArchiver.d.ts +4 -4
- package/lib/stage/crew/artifact-archiver/ArtifactArchiver.js +4 -4
- package/lib/stage/crew/stream-reporter/StreamReporter.d.ts +7 -7
- package/lib/stage/crew/stream-reporter/StreamReporter.js +7 -7
- package/package.json +2 -2
- package/src/Serenity.ts +22 -22
- package/src/adapter/OutputStream.ts +5 -4
- package/src/adapter/TestRunnerAdapter.ts +2 -2
- package/src/config/ClassDescription.ts +1 -1
- package/src/config/SerenityConfig.ts +22 -20
- package/src/errors/ErrorFactory.ts +2 -1
- package/src/errors/ErrorSerialiser.ts +3 -3
- package/src/errors/RaiseErrors.ts +9 -9
- package/src/errors/diff/AnsiDiffFormatter.ts +1 -1
- package/src/errors/diff/DiffFormatter.ts +1 -1
- package/src/errors/diff/NoOpDiffFormatter.ts +1 -1
- package/src/errors/model/AssertionError.ts +1 -1
- package/src/errors/model/ConfigurationError.ts +1 -1
- package/src/errors/model/ImplementationPendingError.ts +3 -3
- package/src/errors/model/ListItemNotFoundError.ts +2 -2
- package/src/errors/model/LogicError.ts +2 -2
- package/src/errors/model/OperationInterruptedError.ts +2 -2
- package/src/errors/model/RuntimeError.ts +2 -2
- package/src/errors/model/TestCompromisedError.ts +1 -1
- package/src/errors/model/TimeoutExpiredError.ts +2 -2
- package/src/errors/model/UnknownError.ts +1 -1
- package/src/events/ActivityFinished.ts +1 -1
- package/src/events/ActivityStarts.ts +1 -1
- package/src/events/BusinessRuleDetected.ts +1 -1
- package/src/events/SceneFinishes.ts +2 -1
- package/src/instance.ts +30 -30
- package/src/io/format.ts +15 -6
- package/src/io/loader/ModuleLoader.ts +1 -1
- package/src/io/reflection/ValueInspector.ts +3 -3
- package/src/io/stringified.ts +1 -1
- package/src/io/trimmed.ts +1 -1
- package/src/model/artifacts/HTTPRequestResponse.ts +2 -2
- package/src/screenplay/Activity.ts +10 -10
- package/src/screenplay/Actor.ts +28 -28
- package/src/screenplay/Answerable.ts +1 -1
- package/src/screenplay/Answered.ts +2 -2
- package/src/screenplay/Interaction.ts +17 -17
- package/src/screenplay/Optional.ts +1 -1
- package/src/screenplay/Question.ts +48 -45
- package/src/screenplay/RecursivelyAnswered.ts +2 -2
- package/src/screenplay/Task.ts +19 -19
- package/src/screenplay/WithAnswerableProperties.ts +2 -2
- package/src/screenplay/abilities/Ability.ts +48 -46
- package/src/screenplay/abilities/AbilityType.ts +5 -5
- package/src/screenplay/abilities/AnswerQuestions.ts +3 -3
- package/src/screenplay/abilities/CanHaveAbilities.ts +4 -4
- package/src/screenplay/abilities/Discardable.ts +8 -8
- package/src/screenplay/abilities/Initialisable.ts +11 -11
- package/src/screenplay/abilities/PerformActivities.ts +3 -3
- package/src/screenplay/abilities/UsesAbilities.ts +6 -6
- package/src/screenplay/activities/PerformsActivities.ts +7 -7
- package/src/screenplay/artifacts/CollectsArtifacts.ts +4 -5
- package/src/screenplay/debugging/Debug.ts +7 -6
- package/src/screenplay/debugging/DebuggingResult.ts +1 -1
- package/src/screenplay/debugging/Log.ts +7 -5
- package/src/screenplay/notes/Notepad.ts +13 -13
- package/src/screenplay/notes/NotepadAdapter.ts +16 -16
- package/src/screenplay/notes/TakeNotes.ts +9 -9
- package/src/screenplay/notes/notes.ts +6 -6
- package/src/screenplay/questions/AnswersQuestions.ts +4 -4
- package/src/screenplay/questions/ChainableMetaQuestion.ts +6 -6
- package/src/screenplay/questions/Check.ts +2 -2
- package/src/screenplay/questions/DescriptionFormattingOptions.ts +2 -2
- package/src/screenplay/questions/Expectation.ts +17 -14
- package/src/screenplay/questions/List.ts +5 -5
- package/src/screenplay/questions/Masked.ts +4 -2
- package/src/screenplay/questions/MetaQuestion.ts +9 -9
- package/src/screenplay/questions/Unanswered.ts +2 -2
- package/src/screenplay/questions/expectations/ExpectationDetails.ts +1 -1
- package/src/screenplay/questions/expectations/ExpectationMet.ts +1 -1
- package/src/screenplay/questions/expectations/ExpectationNotMet.ts +1 -1
- package/src/screenplay/questions/expectations/ExpectationOutcome.ts +2 -2
- package/src/screenplay/questions/tag-functions.ts +23 -21
- package/src/screenplay/time/TellsTime.ts +4 -4
- package/src/screenplay/time/abilities/ScheduleWork.ts +2 -2
- package/src/screenplay/time/activities/Wait.ts +29 -27
- package/src/screenplay/time/models/Clock.ts +4 -4
- package/src/screenplay/time/models/Duration.ts +1 -1
- package/src/screenplay/time/models/Timestamp.ts +2 -2
- package/src/stage/Cast.ts +21 -21
- package/src/stage/Extras.ts +1 -1
- package/src/stage/ListensToDomainEvents.ts +7 -7
- package/src/stage/Stage.ts +29 -30
- package/src/stage/StageCrewMember.ts +11 -11
- package/src/stage/StageCrewMemberBuilder.ts +7 -7
- package/src/stage/StageCrewMemberBuilderDependencies.ts +2 -2
- package/src/stage/crew/artifact-archiver/ArtifactArchiver.ts +4 -4
- package/src/stage/crew/stream-reporter/StreamReporter.ts +7 -7
package/lib/stage/Stage.js
CHANGED
|
@@ -7,17 +7,17 @@ const events_1 = require("../events");
|
|
|
7
7
|
const model_1 = require("../model");
|
|
8
8
|
const screenplay_1 = require("../screenplay");
|
|
9
9
|
/**
|
|
10
|
-
* Stage is the place where
|
|
10
|
+
* Stage is the place where [actors](https://serenity-js.org/api/core/class/Actor/) perform.
|
|
11
11
|
*
|
|
12
|
-
* In more technical terms, the Stage is the main event bus propagating
|
|
13
|
-
* to
|
|
12
|
+
* In more technical terms, the Stage is the main event bus propagating [Serenity/JS domain events](https://serenity-js.org/api/core-events/class/DomainEvent/)
|
|
13
|
+
* to [actors](https://serenity-js.org/api/core/class/Actor/) it instantiates and [stage crew members](https://serenity-js.org/api/core/interface/StageCrewMember/) that have been registered with it.
|
|
14
14
|
*
|
|
15
15
|
* It is unlikely that you'll ever need to interact with the `Stage` directly in your tests. Instead, you'll use functions like
|
|
16
|
-
*
|
|
16
|
+
* [`actorCalled`](https://serenity-js.org/api/core/function/actorCalled/) and [`actorInTheSpotlight`](https://serenity-js.org/api/core/function/actorInTheSpotlight/).
|
|
17
17
|
*
|
|
18
18
|
* ## Learn more
|
|
19
|
-
* -
|
|
20
|
-
* -
|
|
19
|
+
* - [`configure`](https://serenity-js.org/api/core/function/configure/)
|
|
20
|
+
* - [`engage`](https://serenity-js.org/api/core/function/engage/)
|
|
21
21
|
*
|
|
22
22
|
* @group Stage
|
|
23
23
|
*/
|
|
@@ -40,7 +40,7 @@ class Stage {
|
|
|
40
40
|
actorsOnBackstage = new Map();
|
|
41
41
|
actorsOnStage = this.actorsOnBackstage;
|
|
42
42
|
/**
|
|
43
|
-
* The most recent actor referenced via the
|
|
43
|
+
* The most recent actor referenced via the [`Actor`](https://serenity-js.org/api/core/class/Actor/) method
|
|
44
44
|
*/
|
|
45
45
|
actorInTheSpotlight = undefined;
|
|
46
46
|
currentActivity = undefined;
|
|
@@ -65,7 +65,7 @@ class Stage {
|
|
|
65
65
|
(0, tiny_types_1.ensure)('interactionTimeout', interactionTimeout, (0, tiny_types_1.isDefined)());
|
|
66
66
|
}
|
|
67
67
|
/**
|
|
68
|
-
* An alias for
|
|
68
|
+
* An alias for [`Stage.actor`](https://serenity-js.org/api/core/class/Stage/#actor)
|
|
69
69
|
*
|
|
70
70
|
* @param name
|
|
71
71
|
*/
|
|
@@ -73,7 +73,7 @@ class Stage {
|
|
|
73
73
|
return this.actor(name);
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
|
-
* Instantiates a new
|
|
76
|
+
* Instantiates a new [`Actor`](https://serenity-js.org/api/core/class/Actor/) or fetches an existing one
|
|
77
77
|
* identified by their name if they've already been instantiated.
|
|
78
78
|
*
|
|
79
79
|
* @param name
|
|
@@ -103,11 +103,11 @@ class Stage {
|
|
|
103
103
|
return this.actorInTheSpotlight;
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
|
-
* Returns the last
|
|
106
|
+
* Returns the last [`Actor`](https://serenity-js.org/api/core/class/Actor/) instantiated via [`Stage.actor`](https://serenity-js.org/api/core/class/Stage/#actor).
|
|
107
107
|
* Useful when you don't can't or choose not to reference the actor by their name.
|
|
108
108
|
*
|
|
109
|
-
* @throws
|
|
110
|
-
* If no
|
|
109
|
+
* @throws [`LogicError`](https://serenity-js.org/api/core/class/LogicError/)
|
|
110
|
+
* If no [`Actor`](https://serenity-js.org/api/core/class/Actor/) has been activated yet
|
|
111
111
|
*/
|
|
112
112
|
theActorInTheSpotlight() {
|
|
113
113
|
if (!this.actorInTheSpotlight) {
|
|
@@ -116,14 +116,14 @@ class Stage {
|
|
|
116
116
|
return this.actorInTheSpotlight;
|
|
117
117
|
}
|
|
118
118
|
/**
|
|
119
|
-
* Returns `true` if there is an
|
|
119
|
+
* Returns `true` if there is an [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the spotlight, `false` otherwise.
|
|
120
120
|
*/
|
|
121
121
|
theShowHasStarted() {
|
|
122
122
|
return !!this.actorInTheSpotlight;
|
|
123
123
|
}
|
|
124
124
|
/**
|
|
125
|
-
* Configures the Stage to prepare
|
|
126
|
-
* instantiated via
|
|
125
|
+
* Configures the Stage to prepare [actors](https://serenity-js.org/api/core/class/Actor/)
|
|
126
|
+
* instantiated via [`Stage.actor`](https://serenity-js.org/api/core/class/Stage/#actor) using the provided [cast](https://serenity-js.org/api/core/class/Cast/).
|
|
127
127
|
*
|
|
128
128
|
* @param actors
|
|
129
129
|
*/
|
|
@@ -132,8 +132,8 @@ class Stage {
|
|
|
132
132
|
this.cast = actors;
|
|
133
133
|
}
|
|
134
134
|
/**
|
|
135
|
-
* Assigns listeners to be notified of
|
|
136
|
-
* emitted via
|
|
135
|
+
* Assigns listeners to be notified of [Serenity/JS domain events](https://serenity-js.org/api/core-events/class/DomainEvent/)
|
|
136
|
+
* emitted via [`Stage.announce`](https://serenity-js.org/api/core/class/Stage/#announce).s
|
|
137
137
|
*
|
|
138
138
|
* @param listeners
|
|
139
139
|
*/
|
|
@@ -166,21 +166,20 @@ class Stage {
|
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
168
168
|
* Returns current time. This method should be used whenever
|
|
169
|
-
*
|
|
169
|
+
* [`DomainEvent`](https://serenity-js.org/api/core-events/class/DomainEvent/) objects are instantiated by you programmatically.
|
|
170
170
|
*/
|
|
171
171
|
currentTime() {
|
|
172
172
|
return this.manager.currentTime();
|
|
173
173
|
}
|
|
174
174
|
/**
|
|
175
|
-
* Generates and remembers a
|
|
175
|
+
* Generates and remembers a `CorrelationId`
|
|
176
176
|
* for the current scene.
|
|
177
177
|
*
|
|
178
178
|
* This method should be used in custom test runner adapters
|
|
179
|
-
* when instantiating a
|
|
179
|
+
* when instantiating a [SceneStarts](https://serenity-js.org/api/core-events/class/SceneStarts/) event.
|
|
180
180
|
*
|
|
181
181
|
* #### Learn more
|
|
182
|
-
* -
|
|
183
|
-
* - {@apilink CorrelationId}
|
|
182
|
+
* - [`Stage.currentSceneId`](https://serenity-js.org/api/core/class/Stage/#currentSceneId)
|
|
184
183
|
*/
|
|
185
184
|
assignNewSceneId() {
|
|
186
185
|
// todo: inject an id factory to make it easier to test
|
|
@@ -188,23 +187,23 @@ class Stage {
|
|
|
188
187
|
return this.currentScene;
|
|
189
188
|
}
|
|
190
189
|
/**
|
|
191
|
-
* Returns the
|
|
190
|
+
* Returns the `CorrelationId` for the current scene.
|
|
192
191
|
*
|
|
193
192
|
* #### Learn more
|
|
194
|
-
* -
|
|
193
|
+
* - [`Stage.assignNewSceneId`](https://serenity-js.org/api/core/class/Stage/#assignNewSceneId)
|
|
195
194
|
*/
|
|
196
195
|
currentSceneId() {
|
|
197
196
|
return this.currentScene;
|
|
198
197
|
}
|
|
199
198
|
/**
|
|
200
|
-
* Generates and remembers a
|
|
201
|
-
* for the current
|
|
199
|
+
* Generates and remembers a `CorrelationId`
|
|
200
|
+
* for the current [`Activity`](https://serenity-js.org/api/core/class/Activity/).
|
|
202
201
|
*
|
|
203
202
|
* This method should be used in custom test runner adapters
|
|
204
|
-
* when instantiating the
|
|
203
|
+
* when instantiating the [ActivityStarts](https://serenity-js.org/api/core-events/class/ActivityStarts/) event.
|
|
205
204
|
*
|
|
206
205
|
* #### Learn more
|
|
207
|
-
* -
|
|
206
|
+
* - [`Stage.currentActivityId`](https://serenity-js.org/api/core/class/Stage/#currentActivityId)
|
|
208
207
|
*/
|
|
209
208
|
assignNewActivityId(activityDetails) {
|
|
210
209
|
this.currentActivity = {
|
|
@@ -214,10 +213,10 @@ class Stage {
|
|
|
214
213
|
return this.currentActivity.id;
|
|
215
214
|
}
|
|
216
215
|
/**
|
|
217
|
-
* Returns the
|
|
216
|
+
* Returns the `CorrelationId` for the current [`Activity`](https://serenity-js.org/api/core/class/Activity/).
|
|
218
217
|
*
|
|
219
218
|
* #### Learn more
|
|
220
|
-
* -
|
|
219
|
+
* - [`Stage.assignNewSceneId`](https://serenity-js.org/api/core/class/Stage/#assignNewSceneId)
|
|
221
220
|
*/
|
|
222
221
|
currentActivityId() {
|
|
223
222
|
if (!this.currentActivity) {
|
package/lib/stage/Stage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../src/stage/Stage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../src/stage/Stage.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAG/C,sCAAwE;AAIxE,sCAOmB;AAEnB,oCAA4D;AAE5D,8CAAoD;AAKpD;;;;;;;;;;;;;;GAcG;AACH,MAAa,KAAK;IAmCF;IACS;IACT;IACS;IACA;IArCb,MAAM,CAAU,cAAc,GAAG,IAAI,qBAAa,CAAC,SAAS,CAAC,CAAA;IAErE;;;OAGG;IACK,kBAAkB,GAAuB,IAAI,GAAG,EAAiB,CAAC;IAE1E;;;OAGG;IACK,iBAAiB,GAAuB,IAAI,GAAG,EAAiB,CAAC;IAEjE,aAAa,GAAuB,IAAI,CAAC,iBAAiB,CAAC;IAEnE;;OAEG;IACK,mBAAmB,GAAU,SAAS,CAAC;IAEvC,eAAe,GAAoD,SAAS,CAAC;IAE7E,YAAY,GAAkB,KAAK,CAAC,cAAc,CAAC;IAE3D;;;;;;OAMG;IACH,YACY,IAAU,EACD,OAAqB,EAC9B,MAAoB,EACX,KAAY,EACZ,kBAA4B;QAJrC,SAAI,GAAJ,IAAI,CAAM;QACD,YAAO,GAAP,OAAO,CAAc;QAC9B,WAAM,GAAN,MAAM,CAAc;QACX,UAAK,GAAL,KAAK,CAAO;QACZ,uBAAkB,GAAlB,kBAAkB,CAAU;QAE7C,IAAA,mBAAM,EAAC,MAAM,EAAE,IAAI,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QAClC,IAAA,mBAAM,EAAC,cAAc,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QAC7C,IAAA,mBAAM,EAAC,cAAc,EAAE,MAAM,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QAC5C,IAAA,mBAAM,EAAC,OAAO,EAAE,KAAK,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QACpC,IAAA,mBAAM,EAAC,oBAAoB,EAAE,kBAAkB,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAY;QACd,IAAI,CAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE;YACtC,IAAI,KAAK,CAAC;YACV,IAAI;gBACA,MAAM,QAAQ,GAAG,IAAI,kBAAK,CAAC,IAAI,EAAE,IAAI,EAAE;oBACnC,IAAI,oBAAW,CAAC,IAAI,CAAC;oBACrB,IAAI,yBAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC;iBACxD,CAAC,CAAC;gBAEH,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAEpC,0CAA0C;gBAC1C,yEAAyE;aAC5E;YACD,OAAO,KAAK,EAAE;gBACV,MAAM,IAAI,2BAAkB,CAAC,GAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAE,gDAAiD,IAAK,aAAa,EAAE,KAAK,CAAC,CAAC;aACvI;YAED,IAAI,CAAE,CAAC,KAAK,YAAY,kBAAK,CAAC,EAAE;gBAC5B,MAAM,IAAI,2BAAkB,CAAC,uCAAwC,IAAK,MAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAE,aAAc,KAAM,EAAE,CAAC,CAAC;aACnI;YAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;SACtC;QAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,sBAAsB;QAClB,IAAI,CAAE,IAAI,CAAC,mBAAmB,EAAE;YAC5B,MAAM,IAAI,mBAAU,CAAC,+HAA+H,CAAC,CAAC;SACzJ;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,OAAO,CAAC,CAAE,IAAI,CAAC,mBAAmB,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAY;QACf,IAAA,mBAAM,EAAC,MAAM,EAAE,MAAM,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,SAAkC;QACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,MAA0B;QAClC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,cAAc,CAAC,KAAkB;QACrC,IAAI,KAAK,YAAY,oBAAW,EAAE;YAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC;SAChD;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,KAAK,YAAY,sBAAa,EAAE;YAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAC/C;QAED,IAAI,KAAK,YAAY,wBAAe,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACpC;IACL,CAAC;IAED;;;OAGG;IACH,WAAW;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB;QACZ,uDAAuD;QACvD,IAAI,CAAC,YAAY,GAAG,qBAAa,CAAC,MAAM,EAAE,CAAC;QAE3C,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,cAAc;QACV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,eAAgC;QAChD,IAAI,CAAC,eAAe,GAAG;YACnB,EAAE,EAAE,qBAAa,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE,eAAe;SAC3B,CAAC;QAEF,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,iBAAiB;QACb,IAAI,CAAE,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,mBAAU,CAAC,qGAAqG,CAAC,CAAC;SAC/H;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACH,cAAc;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;IAED,WAAW,CAA0B,SAAqC,EAAE,OAAqB;QAC7F,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;YACjC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ;YAChD,GAAG,OAAO;SACb,CAAC,CAAC;IACP,CAAC;IAEO,uBAAuB,CAAC,IAAY;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,YAAgC;QAClD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YAC3C,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;SACxC;QAED,6DAA6D;QAC7D,MAAM,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC;QAEtD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAuB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,qBAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5G,KAAK,MAAM,CAAE,KAAK,EAAE,aAAa,CAAE,IAAI,eAAe,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,gCAAuB,CACrC,IAAI,YAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC/B,IAAI,mBAAW,CAAC,cAAe,KAAK,CAAC,IAAK,KAAK,CAAC,EAChD,aAAa,EACb,IAAI,CAAC,WAAW,EAAE,CACrB,CAAC,CAAC;SACN;QAED,4BAA4B;QAC5B,KAAK,MAAM,CAAE,KAAK,EAAE,aAAa,CAAE,IAAI,eAAe,EAAE;YACpD,IAAI;gBACA,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBAEtB,IAAI,CAAC,QAAQ,CAAC,IAAI,gCAAuB,CACrC,aAAa,EACb,IAAI,CAAC,WAAW,EAAE,CACrB,CAAC,CAAC;aACN;YACD,OAAO,KAAK,EAAE;gBACV,IAAI,CAAC,QAAQ,CAAC,IAAI,6BAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAK,6BAA6B;aACvH;SACJ;QAED,YAAY,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,IAAU;QACrB,OAAO,IAAI,CAAC,WAAW,KAAK,MAAM;YAC9B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAChC,CAAC;;AAhTL,sBAiTC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { ListensToDomainEvents } from './ListensToDomainEvents';
|
|
2
2
|
import type { Stage } from './Stage';
|
|
3
3
|
/**
|
|
4
|
-
* You can think of the
|
|
5
|
-
* published by the
|
|
6
|
-
* test runner adapters notifying the framework about test scenario-specific events like
|
|
4
|
+
* You can think of the [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) as an in-memory microservice that reacts to [Serenity/JS domain events](https://serenity-js.org/api/core-events/class/DomainEvent/),
|
|
5
|
+
* published by the [`StageManager`](https://serenity-js.org/api/core/class/StageManager/), and originally emitted by [actors](https://serenity-js.org/api/core/class/Actor/) performing activities and Serenity/JS
|
|
6
|
+
* test runner adapters notifying the framework about test scenario-specific events like [SceneStarts](https://serenity-js.org/api/core-events/class/SceneStarts/) or [SceneFinishes](https://serenity-js.org/api/core-events/class/SceneFinishes/).
|
|
7
7
|
*
|
|
8
|
-
* Every
|
|
9
|
-
* and therefore
|
|
8
|
+
* Every [stage crew member](https://serenity-js.org/api/core/interface/StageCrewMember/) receives a reference to the [stage](https://serenity-js.org/api/core/class/Stage/),
|
|
9
|
+
* and therefore the [stage manager](https://serenity-js.org/api/core/class/StageManager/), which enables them to emit [domain events](https://serenity-js.org/api/core-events/class/DomainEvent/) back.
|
|
10
10
|
*
|
|
11
11
|
* This interface is useful when you're interested in implementing custom Serenity/JS reporters or supporting services.
|
|
12
12
|
*
|
|
@@ -61,17 +61,17 @@ import type { Stage } from './Stage';
|
|
|
61
61
|
* ```
|
|
62
62
|
*
|
|
63
63
|
* ## Learn more
|
|
64
|
-
* -
|
|
65
|
-
* -
|
|
66
|
-
* -
|
|
67
|
-
* -
|
|
68
|
-
* -
|
|
64
|
+
* - [`SerenityConfig.crew`](https://serenity-js.org/api/core/class/SerenityConfig/#crew)
|
|
65
|
+
* - [`configure`](https://serenity-js.org/api/core/function/configure/)
|
|
66
|
+
* - [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMemberBuilder/)
|
|
67
|
+
* - [`ListensToDomainEvents`](https://serenity-js.org/api/core/interface/ListensToDomainEvents/)
|
|
68
|
+
* - [`DomainEvent`](https://serenity-js.org/api/core-events/class/DomainEvent/)
|
|
69
69
|
*
|
|
70
70
|
* @group Stage
|
|
71
71
|
*/
|
|
72
72
|
export interface StageCrewMember extends ListensToDomainEvents {
|
|
73
73
|
/**
|
|
74
|
-
* Assigns a
|
|
74
|
+
* Assigns a [`Stage`](https://serenity-js.org/api/core/class/Stage/) to this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/)
|
|
75
75
|
*/
|
|
76
76
|
assignedTo(stage: Stage): StageCrewMember;
|
|
77
77
|
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import type { ListensToDomainEvents } from './ListensToDomainEvents';
|
|
2
2
|
import type { StageCrewMemberBuilderDependencies } from './StageCrewMemberBuilderDependencies';
|
|
3
3
|
/**
|
|
4
|
-
* Use a
|
|
4
|
+
* Use a [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMemberBuilder/) to configure complex [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) objects.
|
|
5
5
|
*
|
|
6
6
|
* Useful when you're interested in implementing custom reporters with multiple configuration options.
|
|
7
|
-
* See
|
|
7
|
+
* See [`ConsoleReporter`](https://serenity-js.org/api/console-reporter/class/ConsoleReporter/) for an example.
|
|
8
8
|
*
|
|
9
9
|
* ## Learn more
|
|
10
|
-
* -
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
10
|
+
* - [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/)
|
|
11
|
+
* - [`StageCrewMemberBuilderDependencies`](https://serenity-js.org/api/core/interface/StageCrewMemberBuilderDependencies/)
|
|
12
|
+
* - [`SerenityConfig.crew`](https://serenity-js.org/api/core/class/SerenityConfig/#crew)
|
|
13
13
|
*
|
|
14
14
|
* @group Stage
|
|
15
15
|
*/
|
|
16
16
|
export interface StageCrewMemberBuilder<T extends ListensToDomainEvents = ListensToDomainEvents> {
|
|
17
17
|
/**
|
|
18
|
-
* Instantiates a
|
|
19
|
-
* such as
|
|
18
|
+
* Instantiates a [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/), giving it access to shared dependencies
|
|
19
|
+
* such as [`Stage`](https://serenity-js.org/api/core/class/Stage/) or [`OutputStream`](https://serenity-js.org/api/core-adapter/interface/OutputStream/)
|
|
20
20
|
*/
|
|
21
21
|
build(dependencies: StageCrewMemberBuilderDependencies): T;
|
|
22
22
|
}
|
|
@@ -2,10 +2,10 @@ import type { OutputStream } from '../adapter';
|
|
|
2
2
|
import type { FileSystem } from '../io';
|
|
3
3
|
import type { Stage } from './Stage';
|
|
4
4
|
/**
|
|
5
|
-
* Dependencies injected by
|
|
5
|
+
* Dependencies injected by [`Serenity.configure`](https://serenity-js.org/api/core/class/Serenity/#configure) into [`StageCrewMemberBuilder.build`](https://serenity-js.org/api/core/interface/StageCrewMemberBuilder/#build)
|
|
6
6
|
*
|
|
7
7
|
* ## Learn more
|
|
8
|
-
* -
|
|
8
|
+
* - [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMemberBuilder/)
|
|
9
9
|
*
|
|
10
10
|
* @group Stage
|
|
11
11
|
*/
|
|
@@ -3,7 +3,7 @@ import { FileSystem } from '../../../io';
|
|
|
3
3
|
import type { Stage } from '../../Stage';
|
|
4
4
|
import type { StageCrewMember } from '../../StageCrewMember';
|
|
5
5
|
/**
|
|
6
|
-
* Stores any
|
|
6
|
+
* Stores any artifacts emitted via [`ArtifactGenerated`](https://serenity-js.org/api/core-events/class/ArtifactGenerated/) events on the file system.
|
|
7
7
|
*
|
|
8
8
|
* ## Registering Artifact Archiver programmatically
|
|
9
9
|
*
|
|
@@ -104,14 +104,14 @@ export declare class ArtifactArchiver implements StageCrewMember {
|
|
|
104
104
|
/**
|
|
105
105
|
* @param {FileSystem} fileSystem
|
|
106
106
|
* @param {Stage} [stage]
|
|
107
|
-
* The stage this
|
|
107
|
+
* The stage this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) should be assigned to
|
|
108
108
|
*/
|
|
109
109
|
constructor(fileSystem: FileSystem, stage?: Stage);
|
|
110
110
|
assignedTo(stage: Stage): StageCrewMember;
|
|
111
111
|
/**
|
|
112
|
-
* Handles
|
|
112
|
+
* Handles [`DomainEvent`](https://serenity-js.org/api/core-events/class/DomainEvent/) objects emitted by the [`StageManager`](https://serenity-js.org/api/core/class/StageManager/).
|
|
113
113
|
*
|
|
114
|
-
* @see
|
|
114
|
+
* @see [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/)
|
|
115
115
|
*
|
|
116
116
|
* @listens {ArtifactGenerated}
|
|
117
117
|
* @emits {ArtifactArchived}
|
|
@@ -7,7 +7,7 @@ const io_1 = require("../../../io");
|
|
|
7
7
|
const model_1 = require("../../../model");
|
|
8
8
|
const Hash_1 = require("./Hash");
|
|
9
9
|
/**
|
|
10
|
-
* Stores any
|
|
10
|
+
* Stores any artifacts emitted via [`ArtifactGenerated`](https://serenity-js.org/api/core-events/class/ArtifactGenerated/) events on the file system.
|
|
11
11
|
*
|
|
12
12
|
* ## Registering Artifact Archiver programmatically
|
|
13
13
|
*
|
|
@@ -113,7 +113,7 @@ class ArtifactArchiver {
|
|
|
113
113
|
/**
|
|
114
114
|
* @param {FileSystem} fileSystem
|
|
115
115
|
* @param {Stage} [stage]
|
|
116
|
-
* The stage this
|
|
116
|
+
* The stage this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) should be assigned to
|
|
117
117
|
*/
|
|
118
118
|
constructor(fileSystem, stage) {
|
|
119
119
|
this.fileSystem = fileSystem;
|
|
@@ -124,9 +124,9 @@ class ArtifactArchiver {
|
|
|
124
124
|
return this;
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
127
|
-
* Handles
|
|
127
|
+
* Handles [`DomainEvent`](https://serenity-js.org/api/core-events/class/DomainEvent/) objects emitted by the [`StageManager`](https://serenity-js.org/api/core/class/StageManager/).
|
|
128
128
|
*
|
|
129
|
-
* @see
|
|
129
|
+
* @see [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/)
|
|
130
130
|
*
|
|
131
131
|
* @listens {ArtifactGenerated}
|
|
132
132
|
* @emits {ArtifactArchived}
|
|
@@ -4,7 +4,7 @@ import type { DomainEvent } from '../../../events';
|
|
|
4
4
|
import type { Stage } from '../../Stage';
|
|
5
5
|
import type { StageCrewMember } from '../../StageCrewMember';
|
|
6
6
|
/**
|
|
7
|
-
* Serialises all the
|
|
7
|
+
* Serialises all the [`DomainEvent`](https://serenity-js.org/api/core-events/class/DomainEvent/) objects it receives and streams
|
|
8
8
|
* them as [ndjson](http://ndjson.org/) to the output stream or file.
|
|
9
9
|
*
|
|
10
10
|
* Useful when debugging issues related to custom Serenity/JS test runner adapters.
|
|
@@ -99,7 +99,7 @@ export declare class StreamReporter implements StageCrewMember {
|
|
|
99
99
|
private readonly output;
|
|
100
100
|
private readonly stage?;
|
|
101
101
|
/**
|
|
102
|
-
* Instantiates a `StreamReporter` outputting a stream of
|
|
102
|
+
* Instantiates a `StreamReporter` outputting a stream of [Serenity/JS domain events](https://serenity-js.org/api/core-events/class/DomainEvent/)
|
|
103
103
|
* to an `outputFile` at the given location.
|
|
104
104
|
*
|
|
105
105
|
* @param config
|
|
@@ -113,21 +113,21 @@ export declare class StreamReporter implements StageCrewMember {
|
|
|
113
113
|
* A Writable stream that should receive the output
|
|
114
114
|
*
|
|
115
115
|
* @param {Stage} [stage]
|
|
116
|
-
* The stage this
|
|
116
|
+
* The stage this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) should be assigned to
|
|
117
117
|
*/
|
|
118
118
|
constructor(output?: Writable, stage?: Stage);
|
|
119
119
|
/**
|
|
120
|
-
* Creates a new instance of this
|
|
120
|
+
* Creates a new instance of this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) and assigns it to a given [`Stage`](https://serenity-js.org/api/core/class/Stage/).
|
|
121
121
|
*
|
|
122
122
|
* @param stage
|
|
123
|
-
* An instance of a
|
|
123
|
+
* An instance of a [`Stage`](https://serenity-js.org/api/core/class/Stage/) this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) will be assigned to
|
|
124
124
|
*
|
|
125
125
|
* @returns {StageCrewMember}
|
|
126
|
-
* A new instance of this
|
|
126
|
+
* A new instance of this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/)
|
|
127
127
|
*/
|
|
128
128
|
assignedTo(stage: Stage): StageCrewMember;
|
|
129
129
|
/**
|
|
130
|
-
* Handles
|
|
130
|
+
* Handles [`DomainEvent`](https://serenity-js.org/api/core-events/class/DomainEvent/) objects emitted by the [`StageManager`](https://serenity-js.org/api/core/class/StageManager/).
|
|
131
131
|
*
|
|
132
132
|
* @listens {DomainEvent}
|
|
133
133
|
*
|
|
@@ -4,7 +4,7 @@ exports.StreamReporter = void 0;
|
|
|
4
4
|
const tiny_types_1 = require("tiny-types");
|
|
5
5
|
const io_1 = require("../../../io");
|
|
6
6
|
/**
|
|
7
|
-
* Serialises all the
|
|
7
|
+
* Serialises all the [`DomainEvent`](https://serenity-js.org/api/core-events/class/DomainEvent/) objects it receives and streams
|
|
8
8
|
* them as [ndjson](http://ndjson.org/) to the output stream or file.
|
|
9
9
|
*
|
|
10
10
|
* Useful when debugging issues related to custom Serenity/JS test runner adapters.
|
|
@@ -99,7 +99,7 @@ class StreamReporter {
|
|
|
99
99
|
output;
|
|
100
100
|
stage;
|
|
101
101
|
/**
|
|
102
|
-
* Instantiates a `StreamReporter` outputting a stream of
|
|
102
|
+
* Instantiates a `StreamReporter` outputting a stream of [Serenity/JS domain events](https://serenity-js.org/api/core-events/class/DomainEvent/)
|
|
103
103
|
* to an `outputFile` at the given location.
|
|
104
104
|
*
|
|
105
105
|
* @param config
|
|
@@ -115,26 +115,26 @@ class StreamReporter {
|
|
|
115
115
|
* A Writable stream that should receive the output
|
|
116
116
|
*
|
|
117
117
|
* @param {Stage} [stage]
|
|
118
|
-
* The stage this
|
|
118
|
+
* The stage this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) should be assigned to
|
|
119
119
|
*/
|
|
120
120
|
constructor(output = process.stdout, stage) {
|
|
121
121
|
this.output = output;
|
|
122
122
|
this.stage = stage;
|
|
123
123
|
}
|
|
124
124
|
/**
|
|
125
|
-
* Creates a new instance of this
|
|
125
|
+
* Creates a new instance of this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) and assigns it to a given [`Stage`](https://serenity-js.org/api/core/class/Stage/).
|
|
126
126
|
*
|
|
127
127
|
* @param stage
|
|
128
|
-
* An instance of a
|
|
128
|
+
* An instance of a [`Stage`](https://serenity-js.org/api/core/class/Stage/) this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) will be assigned to
|
|
129
129
|
*
|
|
130
130
|
* @returns {StageCrewMember}
|
|
131
|
-
* A new instance of this
|
|
131
|
+
* A new instance of this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/)
|
|
132
132
|
*/
|
|
133
133
|
assignedTo(stage) {
|
|
134
134
|
return new StreamReporter(this.output, stage);
|
|
135
135
|
}
|
|
136
136
|
/**
|
|
137
|
-
* Handles
|
|
137
|
+
* Handles [`DomainEvent`](https://serenity-js.org/api/core-events/class/DomainEvent/) objects emitted by the [`StageManager`](https://serenity-js.org/api/core/class/StageManager/).
|
|
138
138
|
*
|
|
139
139
|
* @listens {DomainEvent}
|
|
140
140
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serenity-js/core",
|
|
3
|
-
"version": "3.25.
|
|
3
|
+
"version": "3.25.1",
|
|
4
4
|
"description": "Serenity/JS Screenplay, reporting engine and core interfaces.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jan Molak",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"engines": {
|
|
72
72
|
"node": "^16.13 || ^18.12 || ^20"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "450b994115cf9f1a1547ef92ac9387e0c57821ce"
|
|
75
75
|
}
|
package/src/Serenity.ts
CHANGED
|
@@ -121,20 +121,20 @@ export class Serenity implements EmitsDomainEvents {
|
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
/**
|
|
124
|
-
* Re-configures Serenity/JS with a new
|
|
125
|
-
* you want to use in any subsequent calls to
|
|
124
|
+
* Re-configures Serenity/JS with a new [cast](https://serenity-js.org/api/core/class/Cast/) of [actors](https://serenity-js.org/api/core/class/Actor/)
|
|
125
|
+
* you want to use in any subsequent calls to [`actorCalled`](https://serenity-js.org/api/core/function/actorCalled/).
|
|
126
126
|
*
|
|
127
|
-
* For your convenience, use
|
|
128
|
-
* which provides an alternative to calling
|
|
127
|
+
* For your convenience, use [`engage`](https://serenity-js.org/api/core/function/engage/) function instead,
|
|
128
|
+
* which provides an alternative to calling [`Actor.whoCan`](https://serenity-js.org/api/core/class/Actor/#whoCan) directly in your tests
|
|
129
129
|
* and is typically invoked in a "before all" or "before each" hook of your test runner of choice.
|
|
130
130
|
*
|
|
131
|
-
* If your implementation of the
|
|
131
|
+
* If your implementation of the [cast](https://serenity-js.org/api/core/class/Cast/) interface is stateless,
|
|
132
132
|
* you can invoke this function just once before your entire test suite is executed, see
|
|
133
133
|
* - [`beforeAll`](https://jasmine.github.io/api/3.6/global.html#beforeAll) in Jasmine,
|
|
134
134
|
* - [`before`](https://mochajs.org/#hooks) in Mocha,
|
|
135
135
|
* - [`BeforeAll`](https://github.com/cucumber/cucumber-js/blob/master/docs/support_files/hooks.md#beforeall--afterall) in Cucumber.js
|
|
136
136
|
*
|
|
137
|
-
* However, if your
|
|
137
|
+
* However, if your [cast](https://serenity-js.org/api/core/class/Cast/) holds state that you want to reset before each scenario,
|
|
138
138
|
* it's better to invoke `engage` before each test using:
|
|
139
139
|
* - [`beforeEach`](https://jasmine.github.io/api/3.6/global.html#beforeEach) in Jasmine
|
|
140
140
|
* - [`beforeEach`](https://mochajs.org/#hooks) in Mocha,
|
|
@@ -181,9 +181,9 @@ export class Serenity implements EmitsDomainEvents {
|
|
|
181
181
|
* ```
|
|
182
182
|
*
|
|
183
183
|
* ## Learn more
|
|
184
|
-
* -
|
|
185
|
-
* -
|
|
186
|
-
* -
|
|
184
|
+
* - [`Actor`](https://serenity-js.org/api/core/class/Actor/)
|
|
185
|
+
* - [`Cast`](https://serenity-js.org/api/core/class/Cast/)
|
|
186
|
+
* - [`engage`](https://serenity-js.org/api/core/function/engage/)
|
|
187
187
|
*
|
|
188
188
|
* @param actors
|
|
189
189
|
*/
|
|
@@ -194,10 +194,10 @@ export class Serenity implements EmitsDomainEvents {
|
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
/**
|
|
197
|
-
* Instantiates or retrieves an
|
|
197
|
+
* Instantiates or retrieves an [`Actor`](https://serenity-js.org/api/core/class/Actor/)
|
|
198
198
|
* called `name` if one has already been instantiated.
|
|
199
199
|
*
|
|
200
|
-
* For your convenience, use
|
|
200
|
+
* For your convenience, use [`actorCalled`](https://serenity-js.org/api/core/function/actorCalled/) function instead.
|
|
201
201
|
*
|
|
202
202
|
* ## Usage with Mocha
|
|
203
203
|
*
|
|
@@ -243,10 +243,10 @@ export class Serenity implements EmitsDomainEvents {
|
|
|
243
243
|
*
|
|
244
244
|
* ## Learn more
|
|
245
245
|
*
|
|
246
|
-
* -
|
|
247
|
-
* -
|
|
248
|
-
* -
|
|
249
|
-
* -
|
|
246
|
+
* - [`engage`](https://serenity-js.org/api/core/function/engage/)
|
|
247
|
+
* - [`Actor`](https://serenity-js.org/api/core/class/Actor/)
|
|
248
|
+
* - [`Cast`](https://serenity-js.org/api/core/class/Cast/)
|
|
249
|
+
* - [`actorCalled`](https://serenity-js.org/api/core/function/actorCalled/)
|
|
250
250
|
*
|
|
251
251
|
* @param name
|
|
252
252
|
* The name of the actor to instantiate or retrieve
|
|
@@ -257,11 +257,11 @@ export class Serenity implements EmitsDomainEvents {
|
|
|
257
257
|
|
|
258
258
|
/**
|
|
259
259
|
* Retrieves an actor who was last instantiated or retrieved
|
|
260
|
-
* using
|
|
260
|
+
* using [`Serenity.theActorCalled`](https://serenity-js.org/api/core/class/Serenity/#theActorCalled).
|
|
261
261
|
*
|
|
262
262
|
* This function is particularly useful when automating Cucumber scenarios.
|
|
263
263
|
*
|
|
264
|
-
* For your convenience, use
|
|
264
|
+
* For your convenience, use [`actorInTheSpotlight`](https://serenity-js.org/api/core/function/actorInTheSpotlight/) function instead.
|
|
265
265
|
*
|
|
266
266
|
* ## Usage with Cucumber
|
|
267
267
|
*
|
|
@@ -282,11 +282,11 @@ export class Serenity implements EmitsDomainEvents {
|
|
|
282
282
|
*
|
|
283
283
|
* ## Learn more
|
|
284
284
|
*
|
|
285
|
-
* -
|
|
286
|
-
* -
|
|
287
|
-
* -
|
|
288
|
-
* -
|
|
289
|
-
* -
|
|
285
|
+
* - [`engage`](https://serenity-js.org/api/core/function/engage/)
|
|
286
|
+
* - [`actorCalled`](https://serenity-js.org/api/core/function/actorCalled/)
|
|
287
|
+
* - [`actorInTheSpotlight`](https://serenity-js.org/api/core/function/actorInTheSpotlight/)
|
|
288
|
+
* - [`Actor`](https://serenity-js.org/api/core/class/Actor/)
|
|
289
|
+
* - [`Cast`](https://serenity-js.org/api/core/class/Cast/)
|
|
290
290
|
*/
|
|
291
291
|
theActorInTheSpotlight(): Actor {
|
|
292
292
|
return this.stage.theActorInTheSpotlight();
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* An output stream to be injected into
|
|
2
|
+
* An output stream to be injected into [stage crew member builders](https://serenity-js.org/api/core/interface/StageCrewMemberBuilder/)
|
|
3
|
+
* configured via [`SerenityConfig.crew`](https://serenity-js.org/api/core/class/SerenityConfig/#crew).
|
|
3
4
|
*
|
|
4
5
|
* ## Learn more
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
6
|
+
* - [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMemberBuilder/)
|
|
7
|
+
* - [`Serenity.configure`](https://serenity-js.org/api/core/class/Serenity/#configure)
|
|
8
|
+
* - [`SerenityConfig.crew`](https://serenity-js.org/api/core/class/SerenityConfig/#crew)
|
|
8
9
|
*
|
|
9
10
|
* @group Integration
|
|
10
11
|
*/
|
|
@@ -15,7 +15,7 @@ export interface TestRunnerAdapter {
|
|
|
15
15
|
/**
|
|
16
16
|
* Returns the number of loaded scenarios
|
|
17
17
|
*
|
|
18
|
-
* @throws
|
|
18
|
+
* @throws [`LogicError`](https://serenity-js.org/api/core/class/LogicError/)
|
|
19
19
|
* If called before `load`
|
|
20
20
|
*/
|
|
21
21
|
scenarioCount(): number;
|
|
@@ -23,7 +23,7 @@ export interface TestRunnerAdapter {
|
|
|
23
23
|
/**
|
|
24
24
|
* Runs loaded test scenarios.
|
|
25
25
|
*
|
|
26
|
-
* @throws
|
|
26
|
+
* @throws [`LogicError`](https://serenity-js.org/api/core/class/LogicError/)
|
|
27
27
|
* If called before `load`
|
|
28
28
|
*/
|
|
29
29
|
run(): Promise<void>;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* - a named export that you want to import
|
|
4
4
|
* - a parameter that should be passed to the static `fromJSON` method if the imported type provides it.
|
|
5
5
|
*
|
|
6
|
-
* `ClassDescription` is used to describe the
|
|
6
|
+
* `ClassDescription` is used to describe the [stage crew members](https://serenity-js.org/api/core/interface/StageCrewMember/) passed to [`SerenityConfig`](https://serenity-js.org/api/core/class/SerenityConfig/).
|
|
7
7
|
*
|
|
8
8
|
* The most basic class description is the name of a Node module that must provide a `default` export.
|
|
9
9
|
* For example, below definition would be interpreted as a request to import the `default` export from the `@serenity-js/serenity-bdd` module and instantiate it using its no-arg constructor:
|