@serenity-js/core 3.0.0-rc.9 → 3.0.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 +208 -2139
- package/README.md +8 -10
- package/lib/Serenity.d.ts +145 -80
- package/lib/Serenity.d.ts.map +1 -0
- package/lib/Serenity.js +159 -86
- package/lib/Serenity.js.map +1 -1
- package/lib/adapter/OutputStream.d.ts +14 -0
- package/lib/adapter/OutputStream.d.ts.map +1 -0
- package/lib/{io → adapter}/OutputStream.js.map +1 -1
- package/lib/adapter/TestRunnerAdapter.d.ts +33 -0
- package/lib/adapter/TestRunnerAdapter.d.ts.map +1 -0
- package/lib/adapter/TestRunnerAdapter.js.map +1 -0
- package/lib/adapter/index.d.ts +3 -0
- package/lib/adapter/index.d.ts.map +1 -0
- package/lib/adapter/index.js +19 -0
- package/lib/adapter/index.js.map +1 -0
- package/lib/config/ClassDescription.d.ts +60 -0
- package/lib/config/ClassDescription.d.ts.map +1 -0
- package/lib/config/ClassDescription.js +3 -0
- package/lib/config/ClassDescription.js.map +1 -0
- package/lib/config/SerenityConfig.d.ts +73 -0
- package/lib/config/SerenityConfig.d.ts.map +1 -0
- package/lib/config/SerenityConfig.js +20 -0
- package/lib/config/SerenityConfig.js.map +1 -0
- package/lib/config/index.d.ts +3 -0
- package/lib/config/index.d.ts.map +1 -0
- package/lib/config/index.js +19 -0
- package/lib/config/index.js.map +1 -0
- package/lib/errors/ErrorFactory.d.ts +16 -0
- package/lib/errors/ErrorFactory.d.ts.map +1 -0
- package/lib/errors/ErrorFactory.js +241 -0
- package/lib/errors/ErrorFactory.js.map +1 -0
- package/lib/errors/ErrorOptions.d.ts +16 -0
- package/lib/errors/ErrorOptions.d.ts.map +1 -0
- package/lib/errors/ErrorOptions.js +3 -0
- package/lib/errors/ErrorOptions.js.map +1 -0
- package/lib/errors/ErrorSerialiser.d.ts +14 -0
- package/lib/errors/ErrorSerialiser.d.ts.map +1 -0
- package/lib/{io → errors}/ErrorSerialiser.js +33 -7
- package/lib/errors/ErrorSerialiser.js.map +1 -0
- package/lib/errors/ErrorStackParser.d.ts +13 -0
- package/lib/errors/ErrorStackParser.d.ts.map +1 -0
- package/lib/errors/ErrorStackParser.js +42 -0
- package/lib/errors/ErrorStackParser.js.map +1 -0
- package/lib/errors/RaiseErrors.d.ts +57 -0
- package/lib/errors/RaiseErrors.d.ts.map +1 -0
- package/lib/errors/RaiseErrors.js +62 -0
- package/lib/errors/RaiseErrors.js.map +1 -0
- package/lib/errors/diff/AnsiDiffFormatter.d.ts +28 -0
- package/lib/errors/diff/AnsiDiffFormatter.d.ts.map +1 -0
- package/lib/errors/diff/AnsiDiffFormatter.js +38 -0
- package/lib/errors/diff/AnsiDiffFormatter.js.map +1 -0
- package/lib/errors/diff/DiffFormatter.d.ts +13 -0
- package/lib/errors/diff/DiffFormatter.d.ts.map +1 -0
- package/lib/errors/diff/DiffFormatter.js +3 -0
- package/lib/errors/diff/DiffFormatter.js.map +1 -0
- package/lib/errors/diff/NoOpDiffFormatter.d.ts +12 -0
- package/lib/errors/diff/NoOpDiffFormatter.d.ts.map +1 -0
- package/lib/errors/diff/NoOpDiffFormatter.js +21 -0
- package/lib/errors/diff/NoOpDiffFormatter.js.map +1 -0
- package/lib/errors/diff/index.d.ts +4 -0
- package/lib/errors/diff/index.d.ts.map +1 -0
- package/lib/errors/diff/index.js +20 -0
- package/lib/errors/diff/index.js.map +1 -0
- package/lib/errors/index.d.ts +8 -7
- package/lib/errors/index.d.ts.map +1 -0
- package/lib/errors/index.js +23 -8
- package/lib/errors/index.js.map +1 -1
- package/lib/errors/model/AssertionError.d.ts +16 -0
- package/lib/errors/model/AssertionError.d.ts.map +1 -0
- package/lib/errors/model/AssertionError.js +26 -0
- package/lib/errors/model/AssertionError.js.map +1 -0
- package/lib/errors/model/ConfigurationError.d.ts +16 -0
- package/lib/errors/model/ConfigurationError.d.ts.map +1 -0
- package/lib/errors/model/ConfigurationError.js +26 -0
- package/lib/errors/model/ConfigurationError.js.map +1 -0
- package/lib/errors/model/ImplementationPendingError.d.ts +37 -0
- package/lib/errors/model/ImplementationPendingError.d.ts.map +1 -0
- package/lib/errors/model/ImplementationPendingError.js +47 -0
- package/lib/errors/model/ImplementationPendingError.js.map +1 -0
- package/lib/errors/model/ListItemNotFoundError.d.ts +20 -0
- package/lib/errors/model/ListItemNotFoundError.d.ts.map +1 -0
- package/lib/errors/model/ListItemNotFoundError.js +30 -0
- package/lib/errors/model/ListItemNotFoundError.js.map +1 -0
- package/lib/errors/model/LogicError.d.ts +20 -0
- package/lib/errors/model/LogicError.d.ts.map +1 -0
- package/lib/errors/model/LogicError.js +30 -0
- package/lib/errors/model/LogicError.js.map +1 -0
- package/lib/errors/model/OperationInterruptedError.d.ts +20 -0
- package/lib/errors/model/OperationInterruptedError.d.ts.map +1 -0
- package/lib/errors/model/OperationInterruptedError.js +30 -0
- package/lib/errors/model/OperationInterruptedError.js.map +1 -0
- package/lib/errors/model/RuntimeError.d.ts +80 -0
- package/lib/errors/model/RuntimeError.d.ts.map +1 -0
- package/lib/errors/model/RuntimeError.js +97 -0
- package/lib/errors/model/RuntimeError.js.map +1 -0
- package/lib/errors/model/TestCompromisedError.d.ts +31 -0
- package/lib/errors/model/TestCompromisedError.d.ts.map +1 -0
- package/lib/errors/model/TestCompromisedError.js +41 -0
- package/lib/errors/model/TestCompromisedError.js.map +1 -0
- package/lib/errors/model/TimeoutExpiredError.d.ts +20 -0
- package/lib/errors/model/TimeoutExpiredError.d.ts.map +1 -0
- package/lib/errors/model/TimeoutExpiredError.js +30 -0
- package/lib/errors/model/TimeoutExpiredError.js.map +1 -0
- package/lib/errors/model/UnknownError.d.ts +16 -0
- package/lib/errors/model/UnknownError.d.ts.map +1 -0
- package/lib/errors/model/UnknownError.js +26 -0
- package/lib/errors/model/UnknownError.js.map +1 -0
- package/lib/errors/model/index.d.ts +11 -0
- package/lib/errors/model/index.d.ts.map +1 -0
- package/lib/errors/model/index.js +27 -0
- package/lib/errors/model/index.js.map +1 -0
- package/lib/events/ActivityFinished.d.ts +5 -5
- package/lib/events/ActivityFinished.d.ts.map +1 -0
- package/lib/events/ActivityFinished.js +2 -4
- package/lib/events/ActivityFinished.js.map +1 -1
- package/lib/events/ActivityRelatedArtifactArchived.d.ts +6 -1
- package/lib/events/ActivityRelatedArtifactArchived.d.ts.map +1 -0
- package/lib/events/ActivityRelatedArtifactArchived.js +7 -3
- package/lib/events/ActivityRelatedArtifactArchived.js.map +1 -1
- package/lib/events/ActivityRelatedArtifactGenerated.d.ts +6 -1
- package/lib/events/ActivityRelatedArtifactGenerated.d.ts.map +1 -0
- package/lib/events/ActivityRelatedArtifactGenerated.js +7 -3
- package/lib/events/ActivityRelatedArtifactGenerated.js.map +1 -1
- package/lib/events/ActivityStarts.d.ts +5 -5
- package/lib/events/ActivityStarts.d.ts.map +1 -0
- package/lib/events/ActivityStarts.js +2 -4
- package/lib/events/ActivityStarts.js.map +1 -1
- package/lib/events/ArtifactArchived.d.ts +6 -1
- package/lib/events/ArtifactArchived.d.ts.map +1 -0
- package/lib/events/ArtifactArchived.js +7 -3
- package/lib/events/ArtifactArchived.js.map +1 -1
- package/lib/events/ArtifactGenerated.d.ts +6 -1
- package/lib/events/ArtifactGenerated.d.ts.map +1 -0
- package/lib/events/ArtifactGenerated.js +7 -3
- package/lib/events/ArtifactGenerated.js.map +1 -1
- package/lib/events/AsyncOperationAborted.d.ts +14 -0
- package/lib/events/AsyncOperationAborted.d.ts.map +1 -0
- package/lib/events/AsyncOperationAborted.js +24 -0
- package/lib/events/AsyncOperationAborted.js.map +1 -0
- package/lib/events/AsyncOperationAttempted.d.ts +9 -3
- package/lib/events/AsyncOperationAttempted.d.ts.map +1 -0
- package/lib/events/AsyncOperationAttempted.js +12 -6
- package/lib/events/AsyncOperationAttempted.js.map +1 -1
- package/lib/events/AsyncOperationCompleted.d.ts +7 -3
- package/lib/events/AsyncOperationCompleted.d.ts.map +1 -0
- package/lib/events/AsyncOperationCompleted.js +8 -6
- package/lib/events/AsyncOperationCompleted.js.map +1 -1
- package/lib/events/AsyncOperationFailed.d.ts +6 -1
- package/lib/events/AsyncOperationFailed.d.ts.map +1 -0
- package/lib/events/AsyncOperationFailed.js +9 -5
- package/lib/events/AsyncOperationFailed.js.map +1 -1
- package/lib/events/BusinessRuleDetected.d.ts +6 -5
- package/lib/events/BusinessRuleDetected.d.ts.map +1 -0
- package/lib/events/BusinessRuleDetected.js +7 -7
- package/lib/events/BusinessRuleDetected.js.map +1 -1
- package/lib/events/DomainEvent.d.ts +5 -7
- package/lib/events/DomainEvent.d.ts.map +1 -0
- package/lib/events/DomainEvent.js +5 -8
- package/lib/events/DomainEvent.js.map +1 -1
- package/lib/events/FeatureNarrativeDetected.d.ts +6 -1
- package/lib/events/FeatureNarrativeDetected.d.ts.map +1 -0
- package/lib/events/FeatureNarrativeDetected.js +7 -3
- package/lib/events/FeatureNarrativeDetected.js.map +1 -1
- package/lib/events/InteractionFinished.d.ts +4 -0
- package/lib/events/InteractionFinished.d.ts.map +1 -0
- package/lib/events/InteractionFinished.js +5 -1
- package/lib/events/InteractionFinished.js.map +1 -1
- package/lib/events/InteractionStarts.d.ts +4 -0
- package/lib/events/InteractionStarts.d.ts.map +1 -0
- package/lib/events/InteractionStarts.js +5 -1
- package/lib/events/InteractionStarts.js.map +1 -1
- package/lib/events/RetryableSceneDetected.d.ts +9 -10
- package/lib/events/RetryableSceneDetected.d.ts.map +1 -0
- package/lib/events/RetryableSceneDetected.js +13 -15
- package/lib/events/RetryableSceneDetected.js.map +1 -1
- package/lib/events/SceneBackgroundDetected.d.ts +6 -1
- package/lib/events/SceneBackgroundDetected.d.ts.map +1 -0
- package/lib/events/SceneBackgroundDetected.js +8 -5
- package/lib/events/SceneBackgroundDetected.js.map +1 -1
- package/lib/events/SceneDescriptionDetected.d.ts +6 -1
- package/lib/events/SceneDescriptionDetected.d.ts.map +1 -0
- package/lib/events/SceneDescriptionDetected.js +7 -3
- package/lib/events/SceneDescriptionDetected.js.map +1 -1
- package/lib/events/SceneFinished.d.ts +6 -1
- package/lib/events/SceneFinished.d.ts.map +1 -0
- package/lib/events/SceneFinished.js +7 -3
- package/lib/events/SceneFinished.js.map +1 -1
- package/lib/events/SceneFinishes.d.ts +10 -4
- package/lib/events/SceneFinishes.d.ts.map +1 -0
- package/lib/events/SceneFinishes.js +11 -8
- package/lib/events/SceneFinishes.js.map +1 -1
- package/lib/events/SceneParametersDetected.d.ts +6 -1
- package/lib/events/SceneParametersDetected.d.ts.map +1 -0
- package/lib/events/SceneParametersDetected.js +7 -3
- package/lib/events/SceneParametersDetected.js.map +1 -1
- package/lib/events/SceneSequenceDetected.d.ts +6 -1
- package/lib/events/SceneSequenceDetected.d.ts.map +1 -0
- package/lib/events/SceneSequenceDetected.js +7 -3
- package/lib/events/SceneSequenceDetected.js.map +1 -1
- package/lib/events/SceneStarts.d.ts +6 -1
- package/lib/events/SceneStarts.d.ts.map +1 -0
- package/lib/events/SceneStarts.js +7 -3
- package/lib/events/SceneStarts.js.map +1 -1
- package/lib/events/SceneTagged.d.ts +6 -1
- package/lib/events/SceneTagged.d.ts.map +1 -0
- package/lib/events/SceneTagged.js +7 -3
- package/lib/events/SceneTagged.js.map +1 -1
- package/lib/events/SceneTemplateDetected.d.ts +6 -1
- package/lib/events/SceneTemplateDetected.d.ts.map +1 -0
- package/lib/events/SceneTemplateDetected.js +7 -3
- package/lib/events/SceneTemplateDetected.js.map +1 -1
- package/lib/events/TaskFinished.d.ts +4 -0
- package/lib/events/TaskFinished.d.ts.map +1 -0
- package/lib/events/TaskFinished.js +5 -1
- package/lib/events/TaskFinished.js.map +1 -1
- package/lib/events/TaskStarts.d.ts +4 -0
- package/lib/events/TaskStarts.d.ts.map +1 -0
- package/lib/events/TaskStarts.js +5 -1
- package/lib/events/TaskStarts.js.map +1 -1
- package/lib/events/TestRunFinished.d.ts +10 -5
- package/lib/events/TestRunFinished.d.ts.map +1 -0
- package/lib/events/TestRunFinished.js +8 -5
- package/lib/events/TestRunFinished.js.map +1 -1
- package/lib/events/TestRunFinishes.d.ts +6 -4
- package/lib/events/TestRunFinishes.d.ts.map +1 -0
- package/lib/events/TestRunFinishes.js +6 -5
- package/lib/events/TestRunFinishes.js.map +1 -1
- package/lib/events/TestRunStarts.d.ts +4 -4
- package/lib/events/TestRunStarts.d.ts.map +1 -0
- package/lib/events/TestRunStarts.js +4 -5
- package/lib/events/TestRunStarts.js.map +1 -1
- package/lib/events/TestRunnerDetected.d.ts +6 -2
- package/lib/events/TestRunnerDetected.d.ts.map +1 -0
- package/lib/events/TestRunnerDetected.js +9 -7
- package/lib/events/TestRunnerDetected.js.map +1 -1
- package/lib/events/TestSuiteFinished.d.ts +6 -1
- package/lib/events/TestSuiteFinished.d.ts.map +1 -0
- package/lib/events/TestSuiteFinished.js +7 -3
- package/lib/events/TestSuiteFinished.js.map +1 -1
- package/lib/events/TestSuiteStarts.d.ts +6 -1
- package/lib/events/TestSuiteStarts.d.ts.map +1 -0
- package/lib/events/TestSuiteStarts.js +7 -3
- package/lib/events/TestSuiteStarts.js.map +1 -1
- package/lib/events/index.d.ts +2 -0
- package/lib/events/index.d.ts.map +1 -0
- package/lib/events/index.js +6 -1
- package/lib/events/index.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +7 -7
- package/lib/index.js.map +1 -1
- package/lib/instance.d.ts +180 -90
- package/lib/instance.d.ts.map +1 -0
- package/lib/instance.js +179 -90
- package/lib/instance.js.map +1 -1
- package/lib/io/Config.d.ts +2 -1
- package/lib/io/Config.d.ts.map +1 -0
- package/lib/io/FileFinder.d.ts +1 -0
- package/lib/io/FileFinder.d.ts.map +1 -0
- package/lib/io/FileFinder.js +5 -2
- package/lib/io/FileFinder.js.map +1 -1
- package/lib/io/FileSystem.d.ts +3 -0
- package/lib/io/FileSystem.d.ts.map +1 -0
- package/lib/io/FileSystem.js +30 -4
- package/lib/io/FileSystem.js.map +1 -1
- package/lib/io/FileSystemLocation.d.ts +1 -0
- package/lib/io/FileSystemLocation.d.ts.map +1 -0
- package/lib/io/FileSystemLocation.js +3 -3
- package/lib/io/FileSystemLocation.js.map +1 -1
- package/lib/io/Path.d.ts +2 -0
- package/lib/io/Path.d.ts.map +1 -0
- package/lib/io/Path.js +22 -16
- package/lib/io/Path.js.map +1 -1
- package/lib/io/asyncMap.d.ts +4 -4
- package/lib/io/asyncMap.d.ts.map +1 -0
- package/lib/io/asyncMap.js +5 -5
- package/lib/io/asyncMap.js.map +1 -1
- package/lib/io/commaSeparated.d.ts +6 -6
- package/lib/io/commaSeparated.d.ts.map +1 -0
- package/lib/io/commaSeparated.js +8 -9
- package/lib/io/commaSeparated.js.map +1 -1
- package/lib/io/format.d.ts +46 -19
- package/lib/io/format.d.ts.map +1 -0
- package/lib/io/format.js +48 -22
- package/lib/io/format.js.map +1 -1
- package/lib/io/index.d.ts +4 -9
- package/lib/io/index.d.ts.map +1 -0
- package/lib/io/index.js +8 -10
- package/lib/io/index.js.map +1 -1
- package/lib/io/inspected.d.ts +4 -19
- package/lib/io/inspected.d.ts.map +1 -0
- package/lib/io/inspected.js +11 -222
- package/lib/io/inspected.js.map +1 -1
- package/lib/io/inspectedObject.d.ts +4 -0
- package/lib/io/inspectedObject.d.ts.map +1 -0
- package/lib/io/inspectedObject.js +55 -0
- package/lib/io/inspectedObject.js.map +1 -0
- package/lib/io/loader/ClassDescriptionParser.d.ts +8 -0
- package/lib/io/loader/ClassDescriptionParser.d.ts.map +1 -0
- package/lib/io/loader/ClassDescriptionParser.js +52 -0
- package/lib/io/loader/ClassDescriptionParser.js.map +1 -0
- package/lib/io/loader/ClassDescriptor.d.ts +7 -0
- package/lib/io/loader/ClassDescriptor.d.ts.map +1 -0
- package/lib/io/loader/ClassDescriptor.js +3 -0
- package/lib/io/loader/ClassDescriptor.js.map +1 -0
- package/lib/io/loader/ClassLoader.d.ts +11 -0
- package/lib/io/loader/ClassLoader.d.ts.map +1 -0
- package/lib/io/loader/ClassLoader.js +34 -0
- package/lib/io/loader/ClassLoader.js.map +1 -0
- package/lib/io/{ModuleLoader.d.ts → loader/ModuleLoader.d.ts} +11 -18
- package/lib/io/loader/ModuleLoader.d.ts.map +1 -0
- package/lib/io/loader/ModuleLoader.js +96 -0
- package/lib/io/loader/ModuleLoader.js.map +1 -0
- package/lib/io/{Version.d.ts → loader/Version.d.ts} +2 -4
- package/lib/io/loader/Version.d.ts.map +1 -0
- package/lib/io/{Version.js → loader/Version.js} +14 -14
- package/lib/io/loader/Version.js.map +1 -0
- package/lib/io/loader/index.d.ts +6 -0
- package/lib/io/loader/index.d.ts.map +1 -0
- package/lib/io/loader/index.js +22 -0
- package/lib/io/loader/index.js.map +1 -0
- package/lib/io/proxies.d.ts +1 -0
- package/lib/io/proxies.d.ts.map +1 -0
- package/lib/io/reflection/has.d.ts +4 -5
- package/lib/io/reflection/has.d.ts.map +1 -0
- package/lib/io/reflection/has.js +3 -5
- package/lib/io/reflection/has.js.map +1 -1
- package/lib/io/reflection/index.d.ts +3 -0
- package/lib/io/reflection/index.d.ts.map +1 -0
- package/lib/io/reflection/index.js +7 -1
- package/lib/io/reflection/index.js.map +1 -1
- package/lib/io/reflection/isPrimitive.d.ts +8 -0
- package/lib/io/reflection/isPrimitive.d.ts.map +1 -0
- package/lib/io/reflection/isPrimitive.js +24 -0
- package/lib/io/reflection/isPrimitive.js.map +1 -0
- package/lib/io/reflection/typeOf.d.ts +7 -0
- package/lib/io/reflection/typeOf.d.ts.map +1 -0
- package/lib/io/reflection/typeOf.js +35 -0
- package/lib/io/reflection/typeOf.js.map +1 -0
- package/lib/io/stringified.d.ts +24 -0
- package/lib/io/stringified.d.ts.map +1 -0
- package/lib/io/stringified.js +220 -0
- package/lib/io/stringified.js.map +1 -0
- package/lib/io/trimmed.d.ts +6 -7
- package/lib/io/trimmed.d.ts.map +1 -0
- package/lib/io/trimmed.js +6 -8
- package/lib/io/trimmed.js.map +1 -1
- package/lib/model/ActivityDetails.d.ts +9 -1
- package/lib/model/ActivityDetails.d.ts.map +1 -0
- package/lib/model/ActivityDetails.js +9 -4
- package/lib/model/ActivityDetails.js.map +1 -1
- package/lib/model/Artifact.d.ts +2 -1
- package/lib/model/Artifact.d.ts.map +1 -0
- package/lib/model/Artifact.js +29 -6
- package/lib/model/Artifact.js.map +1 -1
- package/lib/model/BusinessRule.d.ts +1 -0
- package/lib/model/BusinessRule.d.ts.map +1 -0
- package/lib/model/BusinessRule.js +3 -3
- package/lib/model/BusinessRule.js.map +1 -1
- package/lib/model/Category.d.ts +1 -0
- package/lib/model/Category.d.ts.map +1 -0
- package/lib/model/Category.js +3 -3
- package/lib/model/Category.js.map +1 -1
- package/lib/model/CorrelationId.d.ts +1 -0
- package/lib/model/CorrelationId.d.ts.map +1 -0
- package/lib/model/CorrelationId.js +5 -2
- package/lib/model/CorrelationId.js.map +1 -1
- package/lib/model/Description.d.ts +1 -0
- package/lib/model/Description.d.ts.map +1 -0
- package/lib/model/Description.js +3 -3
- package/lib/model/Description.js.map +1 -1
- package/lib/model/Name.d.ts +1 -0
- package/lib/model/Name.d.ts.map +1 -0
- package/lib/model/Name.js +3 -3
- package/lib/model/Name.js.map +1 -1
- package/lib/model/ScenarioDetails.d.ts +1 -0
- package/lib/model/ScenarioDetails.d.ts.map +1 -0
- package/lib/model/ScenarioDetails.js +6 -3
- package/lib/model/ScenarioDetails.js.map +1 -1
- package/lib/model/ScenarioParameters.d.ts +1 -0
- package/lib/model/ScenarioParameters.d.ts.map +1 -0
- package/lib/model/ScenarioParameters.js +3 -3
- package/lib/model/ScenarioParameters.js.map +1 -1
- package/lib/model/TestSuiteDetails.d.ts +1 -0
- package/lib/model/TestSuiteDetails.d.ts.map +1 -0
- package/lib/model/TestSuiteDetails.js +3 -3
- package/lib/model/TestSuiteDetails.js.map +1 -1
- package/lib/model/artifacts/HTTPRequestResponse.d.ts +6 -13
- package/lib/model/artifacts/HTTPRequestResponse.d.ts.map +1 -0
- package/lib/model/artifacts/HTTPRequestResponse.js +1 -4
- package/lib/model/artifacts/HTTPRequestResponse.js.map +1 -1
- package/lib/model/artifacts/JSONData.d.ts +1 -0
- package/lib/model/artifacts/JSONData.d.ts.map +1 -0
- package/lib/model/artifacts/LogEntry.d.ts +1 -0
- package/lib/model/artifacts/LogEntry.d.ts.map +1 -0
- package/lib/model/artifacts/Photo.d.ts +1 -8
- package/lib/model/artifacts/Photo.d.ts.map +1 -0
- package/lib/model/artifacts/Photo.js +0 -8
- package/lib/model/artifacts/Photo.js.map +1 -1
- package/lib/model/artifacts/TestReport.d.ts +1 -0
- package/lib/model/artifacts/TestReport.d.ts.map +1 -0
- package/lib/model/artifacts/TextData.d.ts +1 -0
- package/lib/model/artifacts/TextData.d.ts.map +1 -0
- package/lib/model/artifacts/index.d.ts +1 -1
- package/lib/model/artifacts/index.d.ts.map +1 -0
- package/lib/model/artifacts/index.js +5 -2
- package/lib/model/artifacts/index.js.map +1 -1
- package/lib/model/index.d.ts +1 -2
- package/lib/model/index.d.ts.map +1 -0
- package/lib/model/index.js +5 -3
- package/lib/model/index.js.map +1 -1
- package/lib/model/outcomes.d.ts +1 -0
- package/lib/model/outcomes.d.ts.map +1 -0
- package/lib/model/outcomes.js +7 -7
- package/lib/model/outcomes.js.map +1 -1
- package/lib/model/tags/ArbitraryTag.d.ts +3 -5
- package/lib/model/tags/ArbitraryTag.d.ts.map +1 -0
- package/lib/model/tags/ArbitraryTag.js +2 -5
- package/lib/model/tags/ArbitraryTag.js.map +1 -1
- package/lib/model/tags/BrowserTag.d.ts +1 -0
- package/lib/model/tags/BrowserTag.d.ts.map +1 -0
- package/lib/model/tags/BrowserTag.js +3 -3
- package/lib/model/tags/BrowserTag.js.map +1 -1
- package/lib/model/tags/CapabilityTag.d.ts +1 -0
- package/lib/model/tags/CapabilityTag.d.ts.map +1 -0
- package/lib/model/tags/ExecutionRetriedTag.d.ts +3 -5
- package/lib/model/tags/ExecutionRetriedTag.d.ts.map +1 -0
- package/lib/model/tags/ExecutionRetriedTag.js +5 -8
- package/lib/model/tags/ExecutionRetriedTag.js.map +1 -1
- package/lib/model/tags/FeatureTag.d.ts +1 -0
- package/lib/model/tags/FeatureTag.d.ts.map +1 -0
- package/lib/model/tags/IssueTag.d.ts +1 -0
- package/lib/model/tags/IssueTag.d.ts.map +1 -0
- package/lib/model/tags/ManualTag.d.ts +1 -0
- package/lib/model/tags/ManualTag.d.ts.map +1 -0
- package/lib/model/tags/PlatformTag.d.ts +1 -0
- package/lib/model/tags/PlatformTag.d.ts.map +1 -0
- package/lib/model/tags/PlatformTag.js +3 -3
- package/lib/model/tags/PlatformTag.js.map +1 -1
- package/lib/model/tags/Tag.d.ts +1 -0
- package/lib/model/tags/Tag.d.ts.map +1 -0
- package/lib/model/tags/Tag.js +31 -8
- package/lib/model/tags/Tag.js.map +1 -1
- package/lib/model/tags/Tags.d.ts +1 -0
- package/lib/model/tags/Tags.d.ts.map +1 -0
- package/lib/model/tags/ThemeTag.d.ts +1 -0
- package/lib/model/tags/ThemeTag.d.ts.map +1 -0
- package/lib/model/tags/index.d.ts +1 -1
- package/lib/model/tags/index.d.ts.map +1 -0
- package/lib/model/tags/index.js +5 -2
- package/lib/model/tags/index.js.map +1 -1
- package/lib/screenplay/Activity.d.ts +35 -19
- package/lib/screenplay/Activity.d.ts.map +1 -0
- package/lib/screenplay/Activity.js +74 -0
- package/lib/screenplay/Activity.js.map +1 -1
- package/lib/screenplay/Actor.d.ts +146 -0
- package/lib/screenplay/Actor.d.ts.map +1 -0
- package/lib/screenplay/Actor.js +283 -0
- package/lib/screenplay/Actor.js.map +1 -0
- package/lib/screenplay/Answerable.d.ts +5 -7
- package/lib/screenplay/Answerable.d.ts.map +1 -0
- package/lib/screenplay/Answered.d.ts +13 -0
- package/lib/screenplay/Answered.d.ts.map +1 -0
- package/lib/screenplay/{Ability.js → Answered.js} +1 -1
- package/lib/screenplay/Answered.js.map +1 -0
- package/lib/screenplay/Interaction.d.ts +81 -18
- package/lib/screenplay/Interaction.d.ts.map +1 -0
- package/lib/screenplay/Interaction.js +70 -28
- package/lib/screenplay/Interaction.js.map +1 -1
- package/lib/screenplay/Optional.d.ts +15 -18
- package/lib/screenplay/Optional.d.ts.map +1 -0
- package/lib/screenplay/Question.d.ts +201 -70
- package/lib/screenplay/Question.d.ts.map +1 -0
- package/lib/screenplay/Question.js +295 -75
- package/lib/screenplay/Question.js.map +1 -1
- package/lib/screenplay/RecursivelyAnswered.d.ts +40 -0
- package/lib/screenplay/RecursivelyAnswered.d.ts.map +1 -0
- package/lib/screenplay/RecursivelyAnswered.js +3 -0
- package/lib/screenplay/RecursivelyAnswered.js.map +1 -0
- package/lib/screenplay/Task.d.ts +180 -40
- package/lib/screenplay/Task.d.ts.map +1 -0
- package/lib/screenplay/Task.js +175 -76
- package/lib/screenplay/Task.js.map +1 -1
- package/lib/screenplay/WithAnswerableProperties.d.ts +33 -0
- package/lib/screenplay/WithAnswerableProperties.d.ts.map +1 -0
- package/lib/screenplay/WithAnswerableProperties.js +3 -0
- package/lib/screenplay/WithAnswerableProperties.js.map +1 -0
- package/lib/screenplay/abilities/Ability.d.ts +397 -0
- package/lib/screenplay/abilities/Ability.d.ts.map +1 -0
- package/lib/screenplay/abilities/Ability.js +401 -0
- package/lib/screenplay/abilities/Ability.js.map +1 -0
- package/lib/screenplay/abilities/AbilityType.d.ts +45 -0
- package/lib/screenplay/abilities/AbilityType.d.ts.map +1 -0
- package/lib/screenplay/abilities/AbilityType.js.map +1 -0
- package/lib/screenplay/abilities/CanHaveAbilities.d.ts +19 -0
- package/lib/screenplay/abilities/CanHaveAbilities.d.ts.map +1 -0
- package/lib/screenplay/abilities/CanHaveAbilities.js.map +1 -0
- package/lib/screenplay/abilities/Discardable.d.ts +19 -7
- package/lib/screenplay/abilities/Discardable.d.ts.map +1 -0
- package/lib/screenplay/abilities/Initialisable.d.ts +18 -16
- package/lib/screenplay/abilities/Initialisable.d.ts.map +1 -0
- package/lib/screenplay/abilities/UsesAbilities.d.ts +23 -0
- package/lib/screenplay/abilities/UsesAbilities.d.ts.map +1 -0
- package/lib/screenplay/abilities/UsesAbilities.js.map +1 -0
- package/lib/screenplay/abilities/index.d.ts +5 -1
- package/lib/screenplay/abilities/index.d.ts.map +1 -0
- package/lib/screenplay/abilities/index.js +9 -2
- package/lib/screenplay/abilities/index.js.map +1 -1
- package/lib/screenplay/activities/PerformsActivities.d.ts +20 -0
- package/lib/screenplay/activities/PerformsActivities.d.ts.map +1 -0
- package/lib/screenplay/activities/PerformsActivities.js.map +1 -0
- package/lib/screenplay/activities/index.d.ts +2 -1
- package/lib/screenplay/activities/index.d.ts.map +1 -0
- package/lib/screenplay/activities/index.js +6 -2
- package/lib/screenplay/activities/index.js.map +1 -1
- package/lib/screenplay/artifacts/CollectsArtifacts.d.ts +24 -0
- package/lib/screenplay/artifacts/CollectsArtifacts.d.ts.map +1 -0
- package/lib/screenplay/artifacts/CollectsArtifacts.js.map +1 -0
- package/lib/screenplay/artifacts/index.d.ts +2 -0
- package/lib/screenplay/artifacts/index.d.ts.map +1 -0
- package/lib/screenplay/{actor → artifacts}/index.js +5 -6
- package/lib/screenplay/artifacts/index.js.map +1 -0
- package/lib/screenplay/debugging/Debug.d.ts +107 -0
- package/lib/screenplay/debugging/Debug.d.ts.map +1 -0
- package/lib/screenplay/debugging/Debug.js +131 -0
- package/lib/screenplay/debugging/Debug.js.map +1 -0
- package/lib/screenplay/debugging/DebuggingResult.d.ts +11 -0
- package/lib/screenplay/debugging/DebuggingResult.d.ts.map +1 -0
- package/lib/screenplay/debugging/DebuggingResult.js +3 -0
- package/lib/screenplay/debugging/DebuggingResult.js.map +1 -0
- package/lib/screenplay/debugging/Log.d.ts +47 -0
- package/lib/screenplay/debugging/Log.d.ts.map +1 -0
- package/lib/screenplay/debugging/Log.js +59 -0
- package/lib/screenplay/debugging/Log.js.map +1 -0
- package/lib/screenplay/debugging/index.d.ts +4 -0
- package/lib/screenplay/debugging/index.d.ts.map +1 -0
- package/lib/screenplay/debugging/index.js +20 -0
- package/lib/screenplay/debugging/index.js.map +1 -0
- package/lib/screenplay/index.d.ts +10 -4
- package/lib/screenplay/index.d.ts.map +1 -0
- package/lib/screenplay/index.js +14 -5
- package/lib/screenplay/index.js.map +1 -1
- package/lib/screenplay/notes/ChainableSetter.d.ts +9 -0
- package/lib/screenplay/notes/ChainableSetter.d.ts.map +1 -0
- package/lib/screenplay/notes/ChainableSetter.js +3 -0
- package/lib/screenplay/notes/ChainableSetter.js.map +1 -0
- package/lib/screenplay/notes/Notepad.d.ts +164 -0
- package/lib/screenplay/notes/Notepad.d.ts.map +1 -0
- package/lib/screenplay/notes/Notepad.js +200 -0
- package/lib/screenplay/notes/Notepad.js.map +1 -0
- package/lib/screenplay/notes/NotepadAdapter.d.ts +245 -0
- package/lib/screenplay/notes/NotepadAdapter.d.ts.map +1 -0
- package/lib/screenplay/notes/NotepadAdapter.js +298 -0
- package/lib/screenplay/notes/NotepadAdapter.js.map +1 -0
- package/lib/screenplay/notes/TakeNotes.d.ts +249 -0
- package/lib/screenplay/notes/TakeNotes.d.ts.map +1 -0
- package/lib/screenplay/notes/TakeNotes.js +259 -0
- package/lib/screenplay/notes/TakeNotes.js.map +1 -0
- package/lib/screenplay/notes/index.d.ts +6 -0
- package/lib/screenplay/notes/index.d.ts.map +1 -0
- package/lib/screenplay/notes/index.js +22 -0
- package/lib/screenplay/notes/index.js.map +1 -0
- package/lib/screenplay/notes/notes.d.ts +117 -0
- package/lib/screenplay/notes/notes.d.ts.map +1 -0
- package/lib/screenplay/notes/notes.js +123 -0
- package/lib/screenplay/notes/notes.js.map +1 -0
- package/lib/screenplay/questions/AnswersQuestions.d.ts +19 -0
- package/lib/screenplay/questions/AnswersQuestions.d.ts.map +1 -0
- package/lib/screenplay/questions/AnswersQuestions.js.map +1 -0
- package/lib/screenplay/questions/Check.d.ts +39 -57
- package/lib/screenplay/questions/Check.d.ts.map +1 -0
- package/lib/screenplay/questions/Check.js +41 -63
- package/lib/screenplay/questions/Check.js.map +1 -1
- package/lib/screenplay/questions/Expectation.d.ts +155 -44
- package/lib/screenplay/questions/Expectation.d.ts.map +1 -0
- package/lib/screenplay/questions/Expectation.js +172 -46
- package/lib/screenplay/questions/Expectation.js.map +1 -1
- package/lib/screenplay/questions/List.d.ts +14 -2
- package/lib/screenplay/questions/List.d.ts.map +1 -0
- package/lib/screenplay/questions/List.js +14 -11
- package/lib/screenplay/questions/List.js.map +1 -1
- package/lib/screenplay/questions/MetaQuestion.d.ts +18 -22
- package/lib/screenplay/questions/MetaQuestion.d.ts.map +1 -0
- package/lib/screenplay/questions/Unanswered.d.ts +20 -0
- package/lib/screenplay/questions/Unanswered.d.ts.map +1 -0
- package/lib/screenplay/questions/Unanswered.js +52 -0
- package/lib/screenplay/questions/Unanswered.js.map +1 -0
- package/lib/screenplay/questions/expectations/ExpectationDetails.d.ts +24 -0
- package/lib/screenplay/questions/expectations/ExpectationDetails.d.ts.map +1 -0
- package/lib/screenplay/questions/expectations/ExpectationDetails.js +55 -0
- package/lib/screenplay/questions/expectations/ExpectationDetails.js.map +1 -0
- package/lib/screenplay/questions/expectations/ExpectationMet.d.ts +7 -1
- package/lib/screenplay/questions/expectations/ExpectationMet.d.ts.map +1 -0
- package/lib/screenplay/questions/expectations/ExpectationMet.js +5 -0
- package/lib/screenplay/questions/expectations/ExpectationMet.js.map +1 -1
- package/lib/screenplay/questions/expectations/ExpectationNotMet.d.ts +7 -1
- package/lib/screenplay/questions/expectations/ExpectationNotMet.d.ts.map +1 -0
- package/lib/screenplay/questions/expectations/ExpectationNotMet.js +5 -0
- package/lib/screenplay/questions/expectations/ExpectationNotMet.js.map +1 -1
- package/lib/screenplay/questions/expectations/ExpectationOutcome.d.ts +13 -4
- package/lib/screenplay/questions/expectations/ExpectationOutcome.d.ts.map +1 -0
- package/lib/screenplay/questions/expectations/ExpectationOutcome.js +8 -1
- package/lib/screenplay/questions/expectations/ExpectationOutcome.js.map +1 -1
- package/lib/screenplay/questions/expectations/index.d.ts +2 -0
- package/lib/screenplay/questions/expectations/index.d.ts.map +1 -0
- package/lib/screenplay/questions/expectations/index.js +6 -1
- package/lib/screenplay/questions/expectations/index.js.map +1 -1
- package/lib/screenplay/questions/index.d.ts +3 -1
- package/lib/screenplay/questions/index.d.ts.map +1 -0
- package/lib/screenplay/questions/index.js +7 -2
- package/lib/screenplay/questions/index.js.map +1 -1
- package/lib/screenplay/questions/q.d.ts +56 -25
- package/lib/screenplay/questions/q.d.ts.map +1 -0
- package/lib/screenplay/questions/q.js +53 -23
- package/lib/screenplay/questions/q.js.map +1 -1
- package/lib/screenplay/time/abilities/ScheduleWork.d.ts +26 -0
- package/lib/screenplay/time/abilities/ScheduleWork.d.ts.map +1 -0
- package/lib/screenplay/time/abilities/ScheduleWork.js +45 -0
- package/lib/screenplay/time/abilities/ScheduleWork.js.map +1 -0
- package/lib/screenplay/time/abilities/index.d.ts +2 -0
- package/lib/screenplay/time/abilities/index.d.ts.map +1 -0
- package/lib/{io/json → screenplay/time/abilities}/index.js +6 -2
- package/lib/screenplay/time/abilities/index.js.map +1 -0
- package/lib/screenplay/time/activities/Wait.d.ts +212 -0
- package/lib/screenplay/time/activities/Wait.d.ts.map +1 -0
- package/lib/screenplay/time/activities/Wait.js +270 -0
- package/lib/screenplay/time/activities/Wait.js.map +1 -0
- package/lib/screenplay/time/activities/index.d.ts +2 -0
- package/lib/screenplay/time/activities/index.d.ts.map +1 -0
- package/lib/screenplay/{interactions → time/activities}/index.js +6 -3
- package/lib/screenplay/time/activities/index.js.map +1 -0
- package/lib/screenplay/time/index.d.ts +4 -0
- package/lib/screenplay/time/index.d.ts.map +1 -0
- package/lib/screenplay/time/index.js +20 -0
- package/lib/screenplay/time/index.js.map +1 -0
- package/lib/screenplay/time/models/Clock.d.ts +24 -0
- package/lib/screenplay/time/models/Clock.d.ts.map +1 -0
- package/lib/screenplay/time/models/Clock.js +31 -0
- package/lib/screenplay/time/models/Clock.js.map +1 -0
- package/lib/screenplay/time/models/DelayedCallback.d.ts +11 -0
- package/lib/screenplay/time/models/DelayedCallback.d.ts.map +1 -0
- package/lib/screenplay/time/models/DelayedCallback.js +3 -0
- package/lib/screenplay/time/models/DelayedCallback.js.map +1 -0
- package/lib/{model → screenplay/time/models}/Duration.d.ts +11 -1
- package/lib/screenplay/time/models/Duration.d.ts.map +1 -0
- package/lib/{model → screenplay/time/models}/Duration.js +14 -0
- package/lib/screenplay/time/models/Duration.js.map +1 -0
- package/lib/screenplay/time/models/RepeatUntilLimits.d.ts +12 -0
- package/lib/screenplay/time/models/RepeatUntilLimits.d.ts.map +1 -0
- package/lib/screenplay/time/models/RepeatUntilLimits.js +3 -0
- package/lib/screenplay/time/models/RepeatUntilLimits.js.map +1 -0
- package/lib/screenplay/time/models/Scheduler.d.ts +43 -0
- package/lib/screenplay/time/models/Scheduler.d.ts.map +1 -0
- package/lib/screenplay/time/models/Scheduler.js +166 -0
- package/lib/screenplay/time/models/Scheduler.js.map +1 -0
- package/lib/{model → screenplay/time/models}/Timestamp.d.ts +16 -0
- package/lib/screenplay/time/models/Timestamp.d.ts.map +1 -0
- package/lib/screenplay/time/models/Timestamp.js +81 -0
- package/lib/screenplay/time/models/Timestamp.js.map +1 -0
- package/lib/screenplay/time/models/index.d.ts +7 -0
- package/lib/screenplay/time/models/index.d.ts.map +1 -0
- package/lib/screenplay/time/models/index.js +23 -0
- package/lib/screenplay/time/models/index.js.map +1 -0
- package/lib/stage/Cast.d.ts +142 -49
- package/lib/stage/Cast.d.ts.map +1 -0
- package/lib/stage/Cast.js +141 -55
- package/lib/stage/Cast.js.map +1 -1
- package/lib/stage/Extras.d.ts +2 -4
- package/lib/stage/Extras.d.ts.map +1 -0
- package/lib/stage/Extras.js +1 -4
- package/lib/stage/Extras.js.map +1 -1
- package/lib/stage/ListensToDomainEvents.d.ts +14 -11
- package/lib/stage/ListensToDomainEvents.d.ts.map +1 -0
- package/lib/stage/Stage.d.ts +81 -100
- package/lib/stage/Stage.d.ts.map +1 -0
- package/lib/stage/Stage.js +122 -119
- package/lib/stage/Stage.js.map +1 -1
- package/lib/stage/StageCrewMember.d.ts +67 -15
- package/lib/stage/StageCrewMember.d.ts.map +1 -0
- package/lib/stage/StageCrewMemberBuilder.d.ts +14 -12
- package/lib/stage/StageCrewMemberBuilder.d.ts.map +1 -0
- package/lib/stage/StageCrewMemberBuilderDependencies.d.ts +6 -13
- package/lib/stage/StageCrewMemberBuilderDependencies.d.ts.map +1 -0
- package/lib/stage/StageManager.d.ts +6 -2
- package/lib/stage/StageManager.d.ts.map +1 -0
- package/lib/stage/StageManager.js +22 -20
- package/lib/stage/StageManager.js.map +1 -1
- package/lib/stage/crew/artifact-archiver/ArtifactArchiver.d.ts +70 -47
- package/lib/stage/crew/artifact-archiver/ArtifactArchiver.d.ts.map +1 -0
- package/lib/stage/crew/artifact-archiver/ArtifactArchiver.js +80 -56
- package/lib/stage/crew/artifact-archiver/ArtifactArchiver.js.map +1 -1
- package/lib/stage/crew/artifact-archiver/Hash.d.ts +1 -0
- package/lib/stage/crew/artifact-archiver/Hash.d.ts.map +1 -0
- package/lib/stage/crew/artifact-archiver/Hash.js +3 -3
- package/lib/stage/crew/artifact-archiver/Hash.js.map +1 -1
- package/lib/stage/crew/artifact-archiver/index.d.ts +1 -0
- package/lib/stage/crew/artifact-archiver/index.d.ts.map +1 -0
- package/lib/stage/crew/artifact-archiver/index.js +5 -1
- package/lib/stage/crew/artifact-archiver/index.js.map +1 -1
- package/lib/stage/crew/index.d.ts +1 -0
- package/lib/stage/crew/index.d.ts.map +1 -0
- package/lib/stage/crew/index.js +5 -1
- package/lib/stage/crew/index.js.map +1 -1
- package/lib/stage/crew/stream-reporter/StreamReporter.d.ts +82 -54
- package/lib/stage/crew/stream-reporter/StreamReporter.d.ts.map +1 -0
- package/lib/stage/crew/stream-reporter/StreamReporter.js +81 -54
- package/lib/stage/crew/stream-reporter/StreamReporter.js.map +1 -1
- package/lib/stage/crew/stream-reporter/index.d.ts +1 -0
- package/lib/stage/crew/stream-reporter/index.d.ts.map +1 -0
- package/lib/stage/crew/stream-reporter/index.js +5 -1
- package/lib/stage/crew/stream-reporter/index.js.map +1 -1
- package/lib/stage/index.d.ts +2 -1
- package/lib/stage/index.d.ts.map +1 -0
- package/lib/stage/index.js +6 -2
- package/lib/stage/index.js.map +1 -1
- package/lib/stage/queues/DomainEventQueue.d.ts +25 -0
- package/lib/stage/queues/DomainEventQueue.d.ts.map +1 -0
- package/lib/stage/queues/DomainEventQueue.js +33 -0
- package/lib/stage/queues/DomainEventQueue.js.map +1 -0
- package/lib/stage/queues/DomainEventQueues.d.ts +22 -0
- package/lib/stage/queues/DomainEventQueues.d.ts.map +1 -0
- package/lib/stage/queues/DomainEventQueues.js +76 -0
- package/lib/stage/queues/DomainEventQueues.js.map +1 -0
- package/lib/stage/queues/index.d.ts +3 -0
- package/lib/stage/queues/index.d.ts.map +1 -0
- package/lib/stage/queues/index.js +19 -0
- package/lib/stage/queues/index.js.map +1 -0
- package/package.json +31 -51
- package/src/Serenity.ts +183 -88
- package/src/adapter/OutputStream.ts +13 -0
- package/src/adapter/TestRunnerAdapter.ts +35 -0
- package/src/adapter/index.ts +2 -0
- package/src/config/ClassDescription.ts +55 -0
- package/src/config/SerenityConfig.ts +79 -0
- package/src/config/index.ts +2 -0
- package/src/errors/ErrorFactory.ts +329 -0
- package/src/errors/ErrorOptions.ts +16 -0
- package/src/errors/ErrorSerialiser.ts +106 -0
- package/src/{io → errors}/ErrorStackParser.ts +4 -4
- package/src/errors/RaiseErrors.ts +61 -0
- package/src/errors/diff/AnsiDiffFormatter.ts +41 -0
- package/src/errors/diff/DiffFormatter.ts +12 -0
- package/src/errors/diff/NoOpDiffFormatter.ts +20 -0
- package/src/errors/diff/index.ts +3 -0
- package/src/errors/index.ts +28 -7
- package/src/errors/model/AssertionError.ts +31 -0
- package/src/errors/model/ConfigurationError.ts +31 -0
- package/src/errors/model/ImplementationPendingError.ts +52 -0
- package/src/errors/model/ListItemNotFoundError.ts +35 -0
- package/src/errors/model/LogicError.ts +35 -0
- package/src/errors/model/OperationInterruptedError.ts +38 -0
- package/src/errors/model/RuntimeError.ts +101 -0
- package/src/errors/model/TestCompromisedError.ts +46 -0
- package/src/errors/model/TimeoutExpiredError.ts +38 -0
- package/src/errors/model/UnknownError.ts +31 -0
- package/src/errors/model/index.ts +10 -0
- package/src/events/ActivityFinished.ts +4 -5
- package/src/events/ActivityRelatedArtifactArchived.ts +6 -1
- package/src/events/ActivityRelatedArtifactGenerated.ts +5 -1
- package/src/events/ActivityStarts.ts +4 -5
- package/src/events/ArtifactArchived.ts +5 -1
- package/src/events/ArtifactGenerated.ts +5 -1
- package/src/events/AsyncOperationAborted.ts +28 -0
- package/src/events/AsyncOperationAttempted.ts +11 -4
- package/src/events/AsyncOperationCompleted.ts +5 -4
- package/src/events/AsyncOperationFailed.ts +6 -2
- package/src/events/BusinessRuleDetected.ts +5 -5
- package/src/events/DomainEvent.ts +4 -7
- package/src/events/FeatureNarrativeDetected.ts +5 -1
- package/src/events/InteractionFinished.ts +5 -1
- package/src/events/InteractionStarts.ts +5 -1
- package/src/events/RetryableSceneDetected.ts +8 -10
- package/src/events/SceneBackgroundDetected.ts +6 -1
- package/src/events/SceneDescriptionDetected.ts +5 -1
- package/src/events/SceneFinished.ts +5 -1
- package/src/events/SceneFinishes.ts +8 -7
- package/src/events/SceneParametersDetected.ts +5 -1
- package/src/events/SceneSequenceDetected.ts +5 -1
- package/src/events/SceneStarts.ts +5 -1
- package/src/events/SceneTagged.ts +5 -1
- package/src/events/SceneTemplateDetected.ts +5 -1
- package/src/events/TaskFinished.ts +5 -1
- package/src/events/TaskStarts.ts +5 -1
- package/src/events/TestRunFinished.ts +14 -6
- package/src/events/TestRunFinishes.ts +5 -4
- package/src/events/TestRunStarts.ts +3 -4
- package/src/events/TestRunnerDetected.ts +7 -4
- package/src/events/TestSuiteFinished.ts +5 -1
- package/src/events/TestSuiteStarts.ts +5 -1
- package/src/events/index.ts +1 -0
- package/src/index.ts +1 -2
- package/src/instance.ts +180 -91
- package/src/io/FileFinder.ts +2 -1
- package/src/io/FileSystem.ts +1 -1
- package/src/io/Path.ts +6 -3
- package/src/io/asyncMap.ts +6 -5
- package/src/io/commaSeparated.ts +8 -9
- package/src/io/format.ts +49 -22
- package/src/io/index.ts +3 -9
- package/src/io/inspected.ts +13 -271
- package/src/io/inspectedObject.ts +38 -0
- package/src/io/loader/ClassDescriptionParser.ts +67 -0
- package/src/io/loader/ClassDescriptor.ts +7 -0
- package/src/io/loader/ClassLoader.ts +42 -0
- package/src/io/{ModuleLoader.ts → loader/ModuleLoader.ts} +11 -19
- package/src/io/{Version.ts → loader/Version.ts} +2 -5
- package/src/io/loader/index.ts +5 -0
- package/src/io/reflection/has.ts +3 -5
- package/src/io/reflection/index.ts +2 -0
- package/src/io/reflection/isPrimitive.ts +20 -0
- package/src/io/reflection/typeOf.ts +31 -0
- package/src/io/stringified.ts +266 -0
- package/src/io/trimmed.ts +7 -9
- package/src/model/ActivityDetails.ts +8 -2
- package/src/model/CorrelationId.ts +1 -1
- package/src/model/ScenarioDetails.ts +4 -1
- package/src/model/artifacts/HTTPRequestResponse.ts +6 -10
- package/src/model/artifacts/Photo.ts +0 -8
- package/src/model/artifacts/index.ts +0 -1
- package/src/model/index.ts +0 -2
- package/src/model/outcomes.ts +5 -4
- package/src/model/tags/ArbitraryTag.ts +2 -5
- package/src/model/tags/ExecutionRetriedTag.ts +2 -5
- package/src/model/tags/index.ts +0 -1
- package/src/screenplay/Activity.ts +78 -20
- package/src/screenplay/Actor.ts +370 -0
- package/src/screenplay/Answerable.ts +3 -6
- package/src/screenplay/Answered.ts +16 -0
- package/src/screenplay/Interaction.ts +85 -42
- package/src/screenplay/Optional.ts +14 -18
- package/src/screenplay/Question.ts +369 -114
- package/src/screenplay/RecursivelyAnswered.ts +43 -0
- package/src/screenplay/Task.ts +185 -88
- package/src/screenplay/WithAnswerableProperties.ts +36 -0
- package/src/screenplay/abilities/Ability.ts +403 -0
- package/src/screenplay/abilities/AbilityType.ts +46 -0
- package/src/screenplay/abilities/CanHaveAbilities.ts +20 -0
- package/src/screenplay/abilities/Discardable.ts +19 -7
- package/src/screenplay/abilities/Initialisable.ts +17 -16
- package/src/screenplay/abilities/UsesAbilities.ts +24 -0
- package/src/screenplay/abilities/index.ts +4 -1
- package/src/screenplay/activities/PerformsActivities.ts +21 -0
- package/src/screenplay/activities/index.ts +1 -1
- package/src/screenplay/artifacts/CollectsArtifacts.ts +25 -0
- package/src/screenplay/artifacts/index.ts +1 -0
- package/src/screenplay/debugging/Debug.ts +161 -0
- package/src/screenplay/debugging/DebuggingResult.ts +10 -0
- package/src/screenplay/debugging/Log.ts +68 -0
- package/src/screenplay/debugging/index.ts +3 -0
- package/src/screenplay/index.ts +9 -4
- package/src/screenplay/notes/ChainableSetter.ts +9 -0
- package/src/screenplay/notes/Notepad.ts +208 -0
- package/src/screenplay/notes/NotepadAdapter.ts +317 -0
- package/src/screenplay/notes/TakeNotes.ts +257 -0
- package/src/screenplay/notes/index.ts +5 -0
- package/src/screenplay/notes/notes.ts +120 -0
- package/src/screenplay/questions/AnswersQuestions.ts +20 -0
- package/src/screenplay/questions/Check.ts +41 -62
- package/src/screenplay/questions/Expectation.ts +211 -65
- package/src/screenplay/questions/List.ts +18 -11
- package/src/screenplay/questions/MetaQuestion.ts +18 -22
- package/src/screenplay/questions/Unanswered.ts +27 -0
- package/src/screenplay/questions/expectations/ExpectationDetails.ts +64 -0
- package/src/screenplay/questions/expectations/ExpectationMet.ts +6 -1
- package/src/screenplay/questions/expectations/ExpectationNotMet.ts +6 -1
- package/src/screenplay/questions/expectations/ExpectationOutcome.ts +12 -3
- package/src/screenplay/questions/expectations/index.ts +1 -0
- package/src/screenplay/questions/index.ts +2 -1
- package/src/screenplay/questions/q.ts +55 -25
- package/src/screenplay/time/abilities/ScheduleWork.ts +52 -0
- package/src/screenplay/time/abilities/index.ts +1 -0
- package/src/screenplay/time/activities/Wait.ts +294 -0
- package/src/screenplay/time/activities/index.ts +1 -0
- package/src/screenplay/time/index.ts +3 -0
- package/src/screenplay/time/models/Clock.ts +28 -0
- package/src/screenplay/time/models/DelayedCallback.ts +8 -0
- package/src/{model → screenplay/time/models}/Duration.ts +17 -1
- package/src/screenplay/time/models/RepeatUntilLimits.ts +12 -0
- package/src/screenplay/time/models/Scheduler.ts +226 -0
- package/src/{model → screenplay/time/models}/Timestamp.ts +36 -2
- package/src/screenplay/time/models/index.ts +6 -0
- package/src/stage/Cast.ts +147 -62
- package/src/stage/Extras.ts +1 -4
- package/src/stage/ListensToDomainEvents.ts +13 -11
- package/src/stage/Stage.ts +140 -130
- package/src/stage/StageCrewMember.ts +66 -15
- package/src/stage/StageCrewMemberBuilder.ts +13 -12
- package/src/stage/StageCrewMemberBuilderDependencies.ts +5 -15
- package/src/stage/StageManager.ts +44 -44
- package/src/stage/crew/artifact-archiver/ArtifactArchiver.ts +81 -53
- package/src/stage/crew/stream-reporter/StreamReporter.ts +81 -54
- package/src/stage/index.ts +1 -1
- package/src/stage/queues/DomainEventQueue.ts +41 -0
- package/src/stage/queues/DomainEventQueues.ts +88 -0
- package/src/stage/queues/index.ts +2 -0
- package/tsconfig.build.json +10 -0
- package/lib/SerenityConfig.d.ts +0 -45
- package/lib/SerenityConfig.js +0 -12
- package/lib/SerenityConfig.js.map +0 -1
- package/lib/errors/AssertionError.d.ts +0 -18
- package/lib/errors/AssertionError.js +0 -25
- package/lib/errors/AssertionError.js.map +0 -1
- package/lib/errors/ConfigurationError.d.ts +0 -14
- package/lib/errors/ConfigurationError.js +0 -21
- package/lib/errors/ConfigurationError.js.map +0 -1
- package/lib/errors/ImplementationPendingError.d.ts +0 -29
- package/lib/errors/ImplementationPendingError.js +0 -36
- package/lib/errors/ImplementationPendingError.js.map +0 -1
- package/lib/errors/LogicError.d.ts +0 -17
- package/lib/errors/LogicError.js +0 -24
- package/lib/errors/LogicError.js.map +0 -1
- package/lib/errors/RuntimeError.d.ts +0 -43
- package/lib/errors/RuntimeError.js +0 -58
- package/lib/errors/RuntimeError.js.map +0 -1
- package/lib/errors/TestCompromisedError.d.ts +0 -26
- package/lib/errors/TestCompromisedError.js +0 -33
- package/lib/errors/TestCompromisedError.js.map +0 -1
- package/lib/errors/UnknownError.d.ts +0 -14
- package/lib/errors/UnknownError.js +0 -21
- package/lib/errors/UnknownError.js.map +0 -1
- package/lib/io/AssertionReportDiffer.d.ts +0 -12
- package/lib/io/AssertionReportDiffer.js +0 -34
- package/lib/io/AssertionReportDiffer.js.map +0 -1
- package/lib/io/ErrorSerialiser.d.ts +0 -27
- package/lib/io/ErrorSerialiser.js.map +0 -1
- package/lib/io/ErrorStackParser.d.ts +0 -12
- package/lib/io/ErrorStackParser.js +0 -19
- package/lib/io/ErrorStackParser.js.map +0 -1
- package/lib/io/ModuleLoader.js +0 -81
- package/lib/io/ModuleLoader.js.map +0 -1
- package/lib/io/OutputStream.d.ts +0 -16
- package/lib/io/TestRunnerAdapter.d.ts +0 -47
- package/lib/io/TestRunnerAdapter.js.map +0 -1
- package/lib/io/Version.js.map +0 -1
- package/lib/io/formatted.d.ts +0 -16
- package/lib/io/formatted.js +0 -23
- package/lib/io/formatted.js.map +0 -1
- package/lib/io/json/cycle.d.ts +0 -11
- package/lib/io/json/cycle.js +0 -165
- package/lib/io/json/cycle.js.map +0 -1
- package/lib/io/json/index.d.ts +0 -1
- package/lib/io/json/index.js.map +0 -1
- package/lib/model/Duration.js.map +0 -1
- package/lib/model/Timestamp.js +0 -48
- package/lib/model/Timestamp.js.map +0 -1
- package/lib/model/artifacts/AssertionReport.d.ts +0 -7
- package/lib/model/artifacts/AssertionReport.js +0 -11
- package/lib/model/artifacts/AssertionReport.js.map +0 -1
- package/lib/model/tags/ContextTag.d.ts +0 -17
- package/lib/model/tags/ContextTag.js +0 -24
- package/lib/model/tags/ContextTag.js.map +0 -1
- package/lib/screenplay/Ability.d.ts +0 -100
- package/lib/screenplay/Ability.js.map +0 -1
- package/lib/screenplay/AbilityType.d.ts +0 -42
- package/lib/screenplay/AbilityType.js.map +0 -1
- package/lib/screenplay/abilities/TakeNotes.d.ts +0 -151
- package/lib/screenplay/abilities/TakeNotes.js +0 -205
- package/lib/screenplay/abilities/TakeNotes.js.map +0 -1
- package/lib/screenplay/activities/ActivityDescriber.d.ts +0 -9
- package/lib/screenplay/activities/ActivityDescriber.js +0 -18
- package/lib/screenplay/activities/ActivityDescriber.js.map +0 -1
- package/lib/screenplay/activities/OutcomeMatcher.d.ts +0 -5
- package/lib/screenplay/activities/OutcomeMatcher.js +0 -21
- package/lib/screenplay/activities/OutcomeMatcher.js.map +0 -1
- package/lib/screenplay/activities/TrackedActivity.d.ts +0 -17
- package/lib/screenplay/activities/TrackedActivity.js +0 -40
- package/lib/screenplay/activities/TrackedActivity.js.map +0 -1
- package/lib/screenplay/actor/Actor.d.ts +0 -106
- package/lib/screenplay/actor/Actor.js +0 -189
- package/lib/screenplay/actor/Actor.js.map +0 -1
- package/lib/screenplay/actor/AnswersQuestions.d.ts +0 -10
- package/lib/screenplay/actor/AnswersQuestions.js.map +0 -1
- package/lib/screenplay/actor/CanHaveAbilities.d.ts +0 -15
- package/lib/screenplay/actor/CanHaveAbilities.js.map +0 -1
- package/lib/screenplay/actor/CollectsArtifacts.d.ts +0 -17
- package/lib/screenplay/actor/CollectsArtifacts.js.map +0 -1
- package/lib/screenplay/actor/PerformsActivities.d.ts +0 -10
- package/lib/screenplay/actor/PerformsActivities.js.map +0 -1
- package/lib/screenplay/actor/UsesAbilities.d.ts +0 -18
- package/lib/screenplay/actor/UsesAbilities.js.map +0 -1
- package/lib/screenplay/actor/index.d.ts +0 -6
- package/lib/screenplay/actor/index.js.map +0 -1
- package/lib/screenplay/interactions/Log.d.ts +0 -57
- package/lib/screenplay/interactions/Log.js +0 -74
- package/lib/screenplay/interactions/Log.js.map +0 -1
- package/lib/screenplay/interactions/TakeNote.d.ts +0 -87
- package/lib/screenplay/interactions/TakeNote.js +0 -103
- package/lib/screenplay/interactions/TakeNote.js.map +0 -1
- package/lib/screenplay/interactions/index.d.ts +0 -2
- package/lib/screenplay/interactions/index.js.map +0 -1
- package/lib/screenplay/questions/Note.d.ts +0 -79
- package/lib/screenplay/questions/Note.js +0 -96
- package/lib/screenplay/questions/Note.js.map +0 -1
- package/lib/stage/Clock.d.ts +0 -15
- package/lib/stage/Clock.js +0 -23
- package/lib/stage/Clock.js.map +0 -1
- package/src/SerenityConfig.ts +0 -49
- package/src/errors/AssertionError.ts +0 -20
- package/src/errors/ConfigurationError.ts +0 -18
- package/src/errors/ImplementationPendingError.ts +0 -33
- package/src/errors/LogicError.ts +0 -21
- package/src/errors/RuntimeError.ts +0 -60
- package/src/errors/TestCompromisedError.ts +0 -30
- package/src/errors/UnknownError.ts +0 -18
- package/src/io/AssertionReportDiffer.ts +0 -43
- package/src/io/ErrorSerialiser.ts +0 -78
- package/src/io/OutputStream.ts +0 -16
- package/src/io/TestRunnerAdapter.ts +0 -50
- package/src/io/formatted.ts +0 -20
- package/src/io/json/cycle.ts +0 -177
- package/src/io/json/index.ts +0 -1
- package/src/model/artifacts/AssertionReport.ts +0 -7
- package/src/model/tags/ContextTag.ts +0 -21
- package/src/screenplay/Ability.ts +0 -100
- package/src/screenplay/AbilityType.ts +0 -44
- package/src/screenplay/abilities/TakeNotes.ts +0 -216
- package/src/screenplay/activities/ActivityDescriber.ts +0 -20
- package/src/screenplay/activities/OutcomeMatcher.ts +0 -25
- package/src/screenplay/activities/TrackedActivity.ts +0 -50
- package/src/screenplay/actor/Actor.ts +0 -243
- package/src/screenplay/actor/AnswersQuestions.ts +0 -11
- package/src/screenplay/actor/CanHaveAbilities.ts +0 -16
- package/src/screenplay/actor/CollectsArtifacts.ts +0 -18
- package/src/screenplay/actor/PerformsActivities.ts +0 -11
- package/src/screenplay/actor/UsesAbilities.ts +0 -20
- package/src/screenplay/actor/index.ts +0 -6
- package/src/screenplay/interactions/Log.ts +0 -81
- package/src/screenplay/interactions/TakeNote.ts +0 -107
- package/src/screenplay/interactions/index.ts +0 -2
- package/src/screenplay/questions/Note.ts +0 -99
- package/src/stage/Clock.ts +0 -19
- package/tsconfig.eslint.json +0 -10
- /package/lib/{io → adapter}/OutputStream.js +0 -0
- /package/lib/{io → adapter}/TestRunnerAdapter.js +0 -0
- /package/lib/screenplay/{AbilityType.js → abilities/AbilityType.js} +0 -0
- /package/lib/screenplay/{actor → abilities}/CanHaveAbilities.js +0 -0
- /package/lib/screenplay/{actor → abilities}/UsesAbilities.js +0 -0
- /package/lib/screenplay/{actor → activities}/PerformsActivities.js +0 -0
- /package/lib/screenplay/{actor → artifacts}/CollectsArtifacts.js +0 -0
- /package/lib/screenplay/{actor → questions}/AnswersQuestions.js +0 -0
package/lib/stage/Stage.d.ts
CHANGED
|
@@ -1,178 +1,159 @@
|
|
|
1
|
+
import { ErrorFactory, ErrorOptions, RuntimeError } from '../errors';
|
|
1
2
|
import { DomainEvent } from '../events';
|
|
2
|
-
import {
|
|
3
|
-
import { Actor } from '../screenplay
|
|
3
|
+
import { ActivityDetails, CorrelationId } from '../model';
|
|
4
|
+
import { Actor, Clock, Duration, Timestamp } from '../screenplay';
|
|
4
5
|
import { ListensToDomainEvents } from '../stage';
|
|
5
6
|
import { Cast } from './Cast';
|
|
6
7
|
import { StageManager } from './StageManager';
|
|
7
8
|
/**
|
|
8
|
-
* @
|
|
9
|
-
* The place where {@link Actor}s perform.
|
|
9
|
+
* Stage is the place where {@apilink Actor|actors} perform.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* In more technical terms, the Stage is the main event bus propagating {@apilink DomainEvent|DomainEvents}
|
|
12
|
+
* to {@apilink Actor|Actors} it instantiates and {@apilink StageCrewMember|StageCrewMembers} that have been registered with it.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
* @
|
|
14
|
+
* It is unlikely that you'll ever need to interact with the `Stage` directly in your tests. Instead, you'll use functions like
|
|
15
|
+
* {@apilink actorCalled} and {@apilink actorInTheSpotlight}.
|
|
16
|
+
*
|
|
17
|
+
* ## Learn more
|
|
18
|
+
* - {@apilink configure}
|
|
19
|
+
* - {@apilink engage}
|
|
20
|
+
*
|
|
21
|
+
* @group Stage
|
|
16
22
|
*/
|
|
17
23
|
export declare class Stage {
|
|
18
24
|
private cast;
|
|
19
25
|
private readonly manager;
|
|
26
|
+
private errors;
|
|
27
|
+
private readonly clock;
|
|
28
|
+
private readonly interactionTimeout;
|
|
29
|
+
private static readonly unknownSceneId;
|
|
20
30
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* who will be dismissed when the scene finishes.
|
|
24
|
-
*
|
|
25
|
-
* @private
|
|
31
|
+
* Actors instantiated after the scene has started,
|
|
32
|
+
* who will be dismissed when the scene finishes.
|
|
26
33
|
*/
|
|
27
34
|
private actorsOnFrontStage;
|
|
28
35
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* who will be dismissed when the test run finishes.
|
|
32
|
-
*
|
|
33
|
-
* @private
|
|
36
|
+
* Actors instantiated before the scene has started,
|
|
37
|
+
* who will be dismissed when the test run finishes.
|
|
34
38
|
*/
|
|
35
39
|
private actorsOnBackstage;
|
|
36
40
|
private actorsOnStage;
|
|
37
41
|
/**
|
|
38
|
-
* @
|
|
39
|
-
* The most recent actor referenced via the {@link actor} method
|
|
40
|
-
*
|
|
41
|
-
* @private
|
|
42
|
+
* The most recent actor referenced via the {@apilink actor} method
|
|
42
43
|
*/
|
|
43
44
|
private actorInTheSpotlight;
|
|
44
45
|
private currentActivity;
|
|
45
46
|
private currentScene;
|
|
46
47
|
/**
|
|
47
|
-
* @param
|
|
48
|
-
* @param
|
|
48
|
+
* @param cast
|
|
49
|
+
* @param manager
|
|
50
|
+
* @param errors
|
|
51
|
+
* @param clock
|
|
52
|
+
* @param interactionTimeout
|
|
49
53
|
*/
|
|
50
|
-
constructor(cast: Cast, manager: StageManager);
|
|
54
|
+
constructor(cast: Cast, manager: StageManager, errors: ErrorFactory, clock: Clock, interactionTimeout: Duration);
|
|
51
55
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* @
|
|
55
|
-
* @param {string} name
|
|
56
|
-
* @return {Actor}
|
|
56
|
+
* An alias for {@apilink Stage.actor}
|
|
57
|
+
*
|
|
58
|
+
* @param name
|
|
57
59
|
*/
|
|
58
60
|
theActorCalled(name: string): Actor;
|
|
59
61
|
/**
|
|
60
|
-
*
|
|
61
|
-
* by their name if they've already been instantiated.
|
|
62
|
+
* Instantiates a new {@apilink Actor} or fetches an existing one
|
|
63
|
+
* identified by their name if they've already been instantiated.
|
|
62
64
|
*
|
|
63
|
-
* @param
|
|
64
|
-
*
|
|
65
|
+
* @param name
|
|
66
|
+
* Case-sensitive name of the Actor, e.g. `Alice`
|
|
65
67
|
*/
|
|
66
68
|
actor(name: string): Actor;
|
|
67
69
|
/**
|
|
68
|
-
* @
|
|
69
|
-
*
|
|
70
|
-
* Useful when you don't can't or choose not to reference the actor by their name.
|
|
70
|
+
* Returns the last {@apilink Actor} instantiated via {@apilink Stage.actor}.
|
|
71
|
+
* Useful when you don't can't or choose not to reference the actor by their name.
|
|
71
72
|
*
|
|
72
|
-
* @throws {LogicError}
|
|
73
|
-
* @
|
|
73
|
+
* @throws {LogicError}
|
|
74
|
+
* If no {@apilink Actor} has been activated yet
|
|
74
75
|
*/
|
|
75
76
|
theActorInTheSpotlight(): Actor;
|
|
76
77
|
/**
|
|
77
|
-
* @
|
|
78
|
-
* Returns {true} if there is an {@link Actor} in the spotlight, {false} otherwise.
|
|
79
|
-
*
|
|
80
|
-
* @return {boolean}
|
|
78
|
+
* Returns `true` if there is an {@apilink Actor} in the spotlight, `false` otherwise.
|
|
81
79
|
*/
|
|
82
80
|
theShowHasStarted(): boolean;
|
|
83
81
|
/**
|
|
84
|
-
* @
|
|
85
|
-
*
|
|
86
|
-
* instantiated via {@link Stage#actor} using the provided {@link Cast}.
|
|
82
|
+
* Configures the Stage to prepare {@apilink Actor|Actors}
|
|
83
|
+
* instantiated via {@apilink Stage.actor} using the provided {@apilink Cast}.
|
|
87
84
|
*
|
|
88
|
-
* @param
|
|
89
|
-
* @returns {void}
|
|
85
|
+
* @param actors
|
|
90
86
|
*/
|
|
91
87
|
engage(actors: Cast): void;
|
|
92
88
|
/**
|
|
93
|
-
* @
|
|
94
|
-
*
|
|
95
|
-
* emitted via {@link Stage#announce}
|
|
89
|
+
* Assigns listeners to be notified of {@apilink DomainEvent|DomainEvents}
|
|
90
|
+
* emitted via {@apilink Stage.announce}.s
|
|
96
91
|
*
|
|
97
|
-
* @param
|
|
98
|
-
* @returns {void}
|
|
92
|
+
* @param listeners
|
|
99
93
|
*/
|
|
100
94
|
assign(...listeners: ListensToDomainEvents[]): void;
|
|
101
95
|
/**
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* @listens {DomainEvent}
|
|
96
|
+
* Notifies all the assigned listeners of the events,
|
|
97
|
+
* emitting them one by one.
|
|
106
98
|
*
|
|
107
|
-
* @param
|
|
108
|
-
* @returns {void}
|
|
99
|
+
* @param events
|
|
109
100
|
*/
|
|
110
|
-
announce(
|
|
101
|
+
announce(...events: Array<DomainEvent>): void;
|
|
102
|
+
private announceSingle;
|
|
111
103
|
/**
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
* {@link DomainEvent} objects are instantiated by hand.
|
|
115
|
-
*
|
|
116
|
-
* @returns {Timestamp}
|
|
104
|
+
* Returns current time. This method should be used whenever
|
|
105
|
+
* {@apilink DomainEvent} objects are instantiated by you programmatically.
|
|
117
106
|
*/
|
|
118
107
|
currentTime(): Timestamp;
|
|
119
108
|
/**
|
|
120
|
-
* @
|
|
121
|
-
*
|
|
122
|
-
* for the current scene.
|
|
123
|
-
*
|
|
124
|
-
* This method should be used in custom test runner adapters
|
|
125
|
-
* when instantiating a {@link SceneStarts} event.
|
|
109
|
+
* Generates and remembers a {@apilink CorrelationId}
|
|
110
|
+
* for the current scene.
|
|
126
111
|
*
|
|
127
|
-
*
|
|
112
|
+
* This method should be used in custom test runner adapters
|
|
113
|
+
* when instantiating a {@apilink SceneStarts} event.
|
|
128
114
|
*
|
|
129
|
-
*
|
|
115
|
+
* #### Learn more
|
|
116
|
+
* - {@apilink Stage.currentSceneId}
|
|
117
|
+
* - {@apilink CorrelationId}
|
|
130
118
|
*/
|
|
131
119
|
assignNewSceneId(): CorrelationId;
|
|
132
120
|
/**
|
|
133
|
-
* @
|
|
134
|
-
* Returns the {@link CorrelationId} for the current scene.
|
|
121
|
+
* Returns the {@apilink CorrelationId} for the current scene.
|
|
135
122
|
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
* @returns {CorrelationId}
|
|
123
|
+
* #### Learn more
|
|
124
|
+
* - {@apilink Stage.assignNewSceneId}
|
|
139
125
|
*/
|
|
140
126
|
currentSceneId(): CorrelationId;
|
|
141
127
|
/**
|
|
142
|
-
* @
|
|
143
|
-
*
|
|
144
|
-
* for the current {@link Activity}.
|
|
145
|
-
*
|
|
146
|
-
* This method should be used in custom test runner adapters
|
|
147
|
-
* when instantiating an {@link ActivityStarts} event.
|
|
128
|
+
* Generates and remembers a {@apilink CorrelationId}
|
|
129
|
+
* for the current {@apilink Activity}.
|
|
148
130
|
*
|
|
149
|
-
*
|
|
131
|
+
* This method should be used in custom test runner adapters
|
|
132
|
+
* when instantiating the {@apilink ActivityStarts} event.
|
|
150
133
|
*
|
|
151
|
-
*
|
|
134
|
+
* #### Learn more
|
|
135
|
+
* - {@apilink Stage.currentActivityId}
|
|
152
136
|
*/
|
|
153
|
-
assignNewActivityId(): CorrelationId;
|
|
137
|
+
assignNewActivityId(activityDetails: ActivityDetails): CorrelationId;
|
|
154
138
|
/**
|
|
155
|
-
* @
|
|
156
|
-
* Returns the {@link CorrelationId} for the current {@link Activity}.
|
|
139
|
+
* Returns the {@apilink CorrelationId} for the current {@apilink Activity}.
|
|
157
140
|
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
* @returns {CorrelationId}
|
|
141
|
+
* #### Learn more
|
|
142
|
+
* - {@apilink Stage.assignNewSceneId}
|
|
161
143
|
*/
|
|
162
144
|
currentActivityId(): CorrelationId;
|
|
163
145
|
/**
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
* post-processing activities performed by Serenity/JS are completed.
|
|
146
|
+
* Returns a Promise that will be resolved when any asynchronous
|
|
147
|
+
* post-processing activities performed by Serenity/JS are completed.
|
|
167
148
|
*
|
|
168
|
-
*
|
|
149
|
+
* Invoked in Serenity/JS test runner adapters to inform the test runner when
|
|
150
|
+
* the scenario has finished and when it's safe for the test runner to proceed
|
|
151
|
+
* with the next test, or finish execution.
|
|
169
152
|
*/
|
|
170
153
|
waitForNextCue(): Promise<void>;
|
|
154
|
+
createError<RE extends RuntimeError>(errorType: new (...args: any[]) => RE, options: ErrorOptions): RE;
|
|
171
155
|
private instantiatedActorCalled;
|
|
172
156
|
private dismiss;
|
|
173
|
-
/**
|
|
174
|
-
* @private
|
|
175
|
-
* @param {Cast} cast
|
|
176
|
-
*/
|
|
177
157
|
private typeOf;
|
|
178
158
|
}
|
|
159
|
+
//# sourceMappingURL=Stage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stage.d.ts","sourceRoot":"","sources":["../../src/stage/Stage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,YAAY,EAAE,YAAY,EAA2B,YAAY,EAAE,MAAM,WAAW,CAAC;AAClH,OAAO,EAA0E,WAAW,EAA+C,MAAM,WAAW,CAAC;AAC7J,OAAO,EAAE,eAAe,EAAE,aAAa,EAAqB,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAgB,SAAS,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AACH,qBAAa,KAAK;IAmCV,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IArCvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAA+B;IAErE;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAAgD;IAE1E;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAgD;IAEzE,OAAO,CAAC,aAAa,CAA8C;IAEnE;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAoB;IAE/C,OAAO,CAAC,eAAe,CAA8D;IAErF,OAAO,CAAC,YAAY,CAAuC;IAE3D;;;;;;OAMG;gBAES,IAAI,EAAE,IAAI,EACD,OAAO,EAAE,YAAY,EAC9B,MAAM,EAAE,YAAY,EACX,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,QAAQ;IASjD;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAInC;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IA+B1B;;;;;;OAMG;IACH,sBAAsB,IAAI,KAAK;IAQ/B;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAM1B;;;;;OAKG;IACH,MAAM,CAAC,GAAG,SAAS,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAInD;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI;IAM7C,OAAO,CAAC,cAAc;IAkBtB;;;OAGG;IACH,WAAW,IAAI,SAAS;IAIxB;;;;;;;;;;OAUG;IACH,gBAAgB,IAAI,aAAa;IAOjC;;;;;OAKG;IACH,cAAc,IAAI,aAAa;IAI/B;;;;;;;;;OASG;IACH,mBAAmB,CAAC,eAAe,EAAE,eAAe,GAAG,aAAa;IASpE;;;;;OAKG;IACH,iBAAiB,IAAI,aAAa;IAQlC;;;;;;;OAOG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,WAAW,CAAC,EAAE,SAAS,YAAY,EAAE,SAAS,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,EAAE;IAOtG,OAAO,CAAC,uBAAuB;YAMjB,OAAO;IAuCrB,OAAO,CAAC,MAAM;CAKjB"}
|
package/lib/stage/Stage.js
CHANGED
|
@@ -5,76 +5,80 @@ const tiny_types_1 = require("tiny-types");
|
|
|
5
5
|
const errors_1 = require("../errors");
|
|
6
6
|
const events_1 = require("../events");
|
|
7
7
|
const model_1 = require("../model");
|
|
8
|
-
const
|
|
8
|
+
const screenplay_1 = require("../screenplay");
|
|
9
9
|
/**
|
|
10
|
-
* @
|
|
11
|
-
* The place where {@link Actor}s perform.
|
|
10
|
+
* Stage is the place where {@apilink Actor|actors} perform.
|
|
12
11
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* In more technical terms, the Stage is the main event bus propagating {@apilink DomainEvent|DomainEvents}
|
|
13
|
+
* to {@apilink Actor|Actors} it instantiates and {@apilink StageCrewMember|StageCrewMembers} that have been registered with it.
|
|
15
14
|
*
|
|
16
|
-
*
|
|
17
|
-
* @
|
|
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
|
+
* {@apilink actorCalled} and {@apilink actorInTheSpotlight}.
|
|
17
|
+
*
|
|
18
|
+
* ## Learn more
|
|
19
|
+
* - {@apilink configure}
|
|
20
|
+
* - {@apilink engage}
|
|
21
|
+
*
|
|
22
|
+
* @group Stage
|
|
18
23
|
*/
|
|
19
24
|
class Stage {
|
|
20
25
|
/**
|
|
21
|
-
* @param
|
|
22
|
-
* @param
|
|
26
|
+
* @param cast
|
|
27
|
+
* @param manager
|
|
28
|
+
* @param errors
|
|
29
|
+
* @param clock
|
|
30
|
+
* @param interactionTimeout
|
|
23
31
|
*/
|
|
24
|
-
constructor(cast, manager) {
|
|
32
|
+
constructor(cast, manager, errors, clock, interactionTimeout) {
|
|
25
33
|
this.cast = cast;
|
|
26
34
|
this.manager = manager;
|
|
35
|
+
this.errors = errors;
|
|
36
|
+
this.clock = clock;
|
|
37
|
+
this.interactionTimeout = interactionTimeout;
|
|
27
38
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* who will be dismissed when the scene finishes.
|
|
31
|
-
*
|
|
32
|
-
* @private
|
|
39
|
+
* Actors instantiated after the scene has started,
|
|
40
|
+
* who will be dismissed when the scene finishes.
|
|
33
41
|
*/
|
|
34
42
|
this.actorsOnFrontStage = new Map();
|
|
35
43
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* who will be dismissed when the test run finishes.
|
|
39
|
-
*
|
|
40
|
-
* @private
|
|
44
|
+
* Actors instantiated before the scene has started,
|
|
45
|
+
* who will be dismissed when the test run finishes.
|
|
41
46
|
*/
|
|
42
47
|
this.actorsOnBackstage = new Map();
|
|
43
48
|
this.actorsOnStage = this.actorsOnBackstage;
|
|
44
49
|
/**
|
|
45
|
-
* @
|
|
46
|
-
* The most recent actor referenced via the {@link actor} method
|
|
47
|
-
*
|
|
48
|
-
* @private
|
|
50
|
+
* The most recent actor referenced via the {@apilink actor} method
|
|
49
51
|
*/
|
|
50
52
|
this.actorInTheSpotlight = undefined;
|
|
51
53
|
this.currentActivity = undefined;
|
|
52
|
-
this.currentScene =
|
|
54
|
+
this.currentScene = Stage.unknownSceneId;
|
|
53
55
|
(0, tiny_types_1.ensure)('Cast', cast, (0, tiny_types_1.isDefined)());
|
|
54
56
|
(0, tiny_types_1.ensure)('StageManager', manager, (0, tiny_types_1.isDefined)());
|
|
57
|
+
(0, tiny_types_1.ensure)('ErrorFactory', errors, (0, tiny_types_1.isDefined)());
|
|
58
|
+
(0, tiny_types_1.ensure)('Clock', clock, (0, tiny_types_1.isDefined)());
|
|
59
|
+
(0, tiny_types_1.ensure)('interactionTimeout', interactionTimeout, (0, tiny_types_1.isDefined)());
|
|
55
60
|
}
|
|
56
61
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* @
|
|
60
|
-
* @param {string} name
|
|
61
|
-
* @return {Actor}
|
|
62
|
+
* An alias for {@apilink Stage.actor}
|
|
63
|
+
*
|
|
64
|
+
* @param name
|
|
62
65
|
*/
|
|
63
66
|
theActorCalled(name) {
|
|
64
67
|
return this.actor(name);
|
|
65
68
|
}
|
|
66
69
|
/**
|
|
67
|
-
*
|
|
68
|
-
* by their name if they've already been instantiated.
|
|
70
|
+
* Instantiates a new {@apilink Actor} or fetches an existing one
|
|
71
|
+
* identified by their name if they've already been instantiated.
|
|
69
72
|
*
|
|
70
|
-
* @param
|
|
71
|
-
*
|
|
73
|
+
* @param name
|
|
74
|
+
* Case-sensitive name of the Actor, e.g. `Alice`
|
|
72
75
|
*/
|
|
73
76
|
actor(name) {
|
|
74
77
|
if (!this.instantiatedActorCalled(name)) {
|
|
75
78
|
let actor;
|
|
76
79
|
try {
|
|
77
|
-
const newActor = new
|
|
80
|
+
const newActor = new screenplay_1.Actor(name, this)
|
|
81
|
+
.whoCan(new errors_1.RaiseErrors(this), new screenplay_1.ScheduleWork(this.clock, this.interactionTimeout));
|
|
78
82
|
actor = this.cast.prepare(newActor);
|
|
79
83
|
// todo this.manager.notifyOf(ActorStarts)
|
|
80
84
|
// todo: map this in Serenity BDD Reporter so that the "cast" is recorded
|
|
@@ -82,7 +86,7 @@ class Stage {
|
|
|
82
86
|
catch (error) {
|
|
83
87
|
throw new errors_1.ConfigurationError(`${this.typeOf(this.cast)} encountered a problem when preparing actor "${name}" for stage`, error);
|
|
84
88
|
}
|
|
85
|
-
if (!(actor instanceof
|
|
89
|
+
if (!(actor instanceof screenplay_1.Actor)) {
|
|
86
90
|
throw new errors_1.ConfigurationError(`Instead of a new instance of actor "${name}", ${this.typeOf(this.cast)} returned ${actor}`);
|
|
87
91
|
}
|
|
88
92
|
this.actorsOnStage.set(name, actor);
|
|
@@ -91,12 +95,11 @@ class Stage {
|
|
|
91
95
|
return this.actorInTheSpotlight;
|
|
92
96
|
}
|
|
93
97
|
/**
|
|
94
|
-
* @
|
|
95
|
-
*
|
|
96
|
-
* Useful when you don't can't or choose not to reference the actor by their name.
|
|
98
|
+
* Returns the last {@apilink Actor} instantiated via {@apilink Stage.actor}.
|
|
99
|
+
* Useful when you don't can't or choose not to reference the actor by their name.
|
|
97
100
|
*
|
|
98
|
-
* @throws {LogicError}
|
|
99
|
-
* @
|
|
101
|
+
* @throws {LogicError}
|
|
102
|
+
* If no {@apilink Actor} has been activated yet
|
|
100
103
|
*/
|
|
101
104
|
theActorInTheSpotlight() {
|
|
102
105
|
if (!this.actorInTheSpotlight) {
|
|
@@ -105,47 +108,42 @@ class Stage {
|
|
|
105
108
|
return this.actorInTheSpotlight;
|
|
106
109
|
}
|
|
107
110
|
/**
|
|
108
|
-
* @
|
|
109
|
-
* Returns {true} if there is an {@link Actor} in the spotlight, {false} otherwise.
|
|
110
|
-
*
|
|
111
|
-
* @return {boolean}
|
|
111
|
+
* Returns `true` if there is an {@apilink Actor} in the spotlight, `false` otherwise.
|
|
112
112
|
*/
|
|
113
113
|
theShowHasStarted() {
|
|
114
114
|
return !!this.actorInTheSpotlight;
|
|
115
115
|
}
|
|
116
116
|
/**
|
|
117
|
-
* @
|
|
118
|
-
*
|
|
119
|
-
* instantiated via {@link Stage#actor} using the provided {@link Cast}.
|
|
117
|
+
* Configures the Stage to prepare {@apilink Actor|Actors}
|
|
118
|
+
* instantiated via {@apilink Stage.actor} using the provided {@apilink Cast}.
|
|
120
119
|
*
|
|
121
|
-
* @param
|
|
122
|
-
* @returns {void}
|
|
120
|
+
* @param actors
|
|
123
121
|
*/
|
|
124
122
|
engage(actors) {
|
|
125
123
|
(0, tiny_types_1.ensure)('Cast', actors, (0, tiny_types_1.isDefined)());
|
|
126
124
|
this.cast = actors;
|
|
127
125
|
}
|
|
128
126
|
/**
|
|
129
|
-
* @
|
|
130
|
-
*
|
|
131
|
-
* emitted via {@link Stage#announce}
|
|
127
|
+
* Assigns listeners to be notified of {@apilink DomainEvent|DomainEvents}
|
|
128
|
+
* emitted via {@apilink Stage.announce}.s
|
|
132
129
|
*
|
|
133
|
-
* @param
|
|
134
|
-
* @returns {void}
|
|
130
|
+
* @param listeners
|
|
135
131
|
*/
|
|
136
132
|
assign(...listeners) {
|
|
137
133
|
this.manager.register(...listeners);
|
|
138
134
|
}
|
|
139
135
|
/**
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
* @listens {DomainEvent}
|
|
136
|
+
* Notifies all the assigned listeners of the events,
|
|
137
|
+
* emitting them one by one.
|
|
144
138
|
*
|
|
145
|
-
* @param
|
|
146
|
-
* @returns {void}
|
|
139
|
+
* @param events
|
|
147
140
|
*/
|
|
148
|
-
announce(
|
|
141
|
+
announce(...events) {
|
|
142
|
+
events.forEach(event => {
|
|
143
|
+
this.announceSingle(event);
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
announceSingle(event) {
|
|
149
147
|
if (event instanceof events_1.SceneStarts) {
|
|
150
148
|
this.actorsOnStage = this.actorsOnFrontStage;
|
|
151
149
|
}
|
|
@@ -159,26 +157,22 @@ class Stage {
|
|
|
159
157
|
}
|
|
160
158
|
}
|
|
161
159
|
/**
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
* {@link DomainEvent} objects are instantiated by hand.
|
|
165
|
-
*
|
|
166
|
-
* @returns {Timestamp}
|
|
160
|
+
* Returns current time. This method should be used whenever
|
|
161
|
+
* {@apilink DomainEvent} objects are instantiated by you programmatically.
|
|
167
162
|
*/
|
|
168
163
|
currentTime() {
|
|
169
164
|
return this.manager.currentTime();
|
|
170
165
|
}
|
|
171
166
|
/**
|
|
172
|
-
* @
|
|
173
|
-
*
|
|
174
|
-
* for the current scene.
|
|
175
|
-
*
|
|
176
|
-
* This method should be used in custom test runner adapters
|
|
177
|
-
* when instantiating a {@link SceneStarts} event.
|
|
167
|
+
* Generates and remembers a {@apilink CorrelationId}
|
|
168
|
+
* for the current scene.
|
|
178
169
|
*
|
|
179
|
-
*
|
|
170
|
+
* This method should be used in custom test runner adapters
|
|
171
|
+
* when instantiating a {@apilink SceneStarts} event.
|
|
180
172
|
*
|
|
181
|
-
*
|
|
173
|
+
* #### Learn more
|
|
174
|
+
* - {@apilink Stage.currentSceneId}
|
|
175
|
+
* - {@apilink CorrelationId}
|
|
182
176
|
*/
|
|
183
177
|
assignNewSceneId() {
|
|
184
178
|
// todo: inject an id factory to make it easier to test
|
|
@@ -186,86 +180,95 @@ class Stage {
|
|
|
186
180
|
return this.currentScene;
|
|
187
181
|
}
|
|
188
182
|
/**
|
|
189
|
-
* @
|
|
190
|
-
* Returns the {@link CorrelationId} for the current scene.
|
|
191
|
-
*
|
|
192
|
-
* @see {@link Stage#assignNewSceneId}
|
|
183
|
+
* Returns the {@apilink CorrelationId} for the current scene.
|
|
193
184
|
*
|
|
194
|
-
*
|
|
185
|
+
* #### Learn more
|
|
186
|
+
* - {@apilink Stage.assignNewSceneId}
|
|
195
187
|
*/
|
|
196
188
|
currentSceneId() {
|
|
197
189
|
return this.currentScene;
|
|
198
190
|
}
|
|
199
191
|
/**
|
|
200
|
-
* @
|
|
201
|
-
*
|
|
202
|
-
* for the current {@link Activity}.
|
|
192
|
+
* Generates and remembers a {@apilink CorrelationId}
|
|
193
|
+
* for the current {@apilink Activity}.
|
|
203
194
|
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
195
|
+
* This method should be used in custom test runner adapters
|
|
196
|
+
* when instantiating the {@apilink ActivityStarts} event.
|
|
206
197
|
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
* @returns {CorrelationId}
|
|
198
|
+
* #### Learn more
|
|
199
|
+
* - {@apilink Stage.currentActivityId}
|
|
210
200
|
*/
|
|
211
|
-
assignNewActivityId() {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
201
|
+
assignNewActivityId(activityDetails) {
|
|
202
|
+
this.currentActivity = {
|
|
203
|
+
id: model_1.CorrelationId.create(),
|
|
204
|
+
details: activityDetails,
|
|
205
|
+
};
|
|
206
|
+
return this.currentActivity.id;
|
|
215
207
|
}
|
|
216
208
|
/**
|
|
217
|
-
* @
|
|
218
|
-
* Returns the {@link CorrelationId} for the current {@link Activity}.
|
|
209
|
+
* Returns the {@apilink CorrelationId} for the current {@apilink Activity}.
|
|
219
210
|
*
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
* @returns {CorrelationId}
|
|
211
|
+
* #### Learn more
|
|
212
|
+
* - {@apilink Stage.assignNewSceneId}
|
|
223
213
|
*/
|
|
224
214
|
currentActivityId() {
|
|
225
215
|
if (!this.currentActivity) {
|
|
226
216
|
throw new errors_1.LogicError(`No activity is being performed. Did you call assignNewActivityId before invoking currentActivityId?`);
|
|
227
217
|
}
|
|
228
|
-
return this.currentActivity;
|
|
218
|
+
return this.currentActivity.id;
|
|
229
219
|
}
|
|
230
220
|
/**
|
|
231
|
-
*
|
|
232
|
-
*
|
|
233
|
-
* post-processing activities performed by Serenity/JS are completed.
|
|
221
|
+
* Returns a Promise that will be resolved when any asynchronous
|
|
222
|
+
* post-processing activities performed by Serenity/JS are completed.
|
|
234
223
|
*
|
|
235
|
-
*
|
|
224
|
+
* Invoked in Serenity/JS test runner adapters to inform the test runner when
|
|
225
|
+
* the scenario has finished and when it's safe for the test runner to proceed
|
|
226
|
+
* with the next test, or finish execution.
|
|
236
227
|
*/
|
|
237
228
|
waitForNextCue() {
|
|
238
229
|
return this.manager.waitForNextCue();
|
|
239
230
|
}
|
|
231
|
+
createError(errorType, options) {
|
|
232
|
+
var _a;
|
|
233
|
+
return this.errors.create(errorType, {
|
|
234
|
+
location: (_a = this.currentActivity) === null || _a === void 0 ? void 0 : _a.details.location,
|
|
235
|
+
...options,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
240
238
|
instantiatedActorCalled(name) {
|
|
241
239
|
return this.actorsOnBackstage.has(name)
|
|
242
240
|
? this.actorsOnBackstage.get(name)
|
|
243
241
|
: this.actorsOnFrontStage.get(name);
|
|
244
242
|
}
|
|
245
|
-
dismiss(activeActors) {
|
|
243
|
+
async dismiss(activeActors) {
|
|
246
244
|
const actors = Array.from(activeActors.values());
|
|
247
245
|
if (actors.includes(this.actorInTheSpotlight)) {
|
|
248
246
|
this.actorInTheSpotlight = undefined;
|
|
249
247
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
248
|
+
// Wait for the Photographer to finish taking any screenshots
|
|
249
|
+
await this.manager.waitForAsyncOperationsToComplete();
|
|
250
|
+
const actorsToDismiss = new Map(actors.map(actor => [actor, model_1.CorrelationId.create()]));
|
|
251
|
+
for (const [actor, correlationId] of actorsToDismiss) {
|
|
252
|
+
this.announce(new events_1.AsyncOperationAttempted(new model_1.Name(this.constructor.name), new model_1.Description(`Dismissing ${actor.name}...`), correlationId, this.currentTime()));
|
|
253
|
+
}
|
|
254
|
+
// Try to dismiss each actor
|
|
255
|
+
for (const [actor, correlationId] of actorsToDismiss) {
|
|
256
|
+
try {
|
|
257
|
+
await actor.dismiss();
|
|
258
|
+
this.announce(new events_1.AsyncOperationCompleted(correlationId, this.currentTime()));
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
this.announce(new events_1.AsyncOperationFailed(error, correlationId, this.currentTime())); // todo: serialise the error!
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
activeActors.clear();
|
|
259
265
|
}
|
|
260
|
-
/**
|
|
261
|
-
* @private
|
|
262
|
-
* @param {Cast} cast
|
|
263
|
-
*/
|
|
264
266
|
typeOf(cast) {
|
|
265
|
-
return
|
|
266
|
-
?
|
|
267
|
-
:
|
|
267
|
+
return cast.constructor === Object
|
|
268
|
+
? 'Cast'
|
|
269
|
+
: cast.constructor.name;
|
|
268
270
|
}
|
|
269
271
|
}
|
|
270
272
|
exports.Stage = Stage;
|
|
273
|
+
Stage.unknownSceneId = new model_1.CorrelationId('unknown');
|
|
271
274
|
//# sourceMappingURL=Stage.js.map
|