@serenity-js/core 3.25.0 → 3.25.2
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 +19 -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 +30 -30
- package/lib/stage/Stage.d.ts.map +1 -1
- package/lib/stage/Stage.js +30 -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 +4 -4
- 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 +30 -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
|
@@ -3,7 +3,7 @@ import { TinyType } from 'tiny-types';
|
|
|
3
3
|
import { Name } from '../../../model';
|
|
4
4
|
import { Unanswered } from '../Unanswered';
|
|
5
5
|
/**
|
|
6
|
-
* Used with
|
|
6
|
+
* Used with [`ExpectationOutcome`](https://serenity-js.org/api/core/class/ExpectationOutcome/) to describe an [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) and the arguments it's been executed with.
|
|
7
7
|
*
|
|
8
8
|
* @group Expectations
|
|
9
9
|
*/
|
|
@@ -6,7 +6,7 @@ const io_1 = require("../../../io");
|
|
|
6
6
|
const model_1 = require("../../../model");
|
|
7
7
|
const Unanswered_1 = require("../Unanswered");
|
|
8
8
|
/**
|
|
9
|
-
* Used with
|
|
9
|
+
* Used with [`ExpectationOutcome`](https://serenity-js.org/api/core/class/ExpectationOutcome/) to describe an [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) and the arguments it's been executed with.
|
|
10
10
|
*
|
|
11
11
|
* @group Expectations
|
|
12
12
|
*/
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ExpectationMet = void 0;
|
|
4
4
|
const ExpectationOutcome_1 = require("./ExpectationOutcome");
|
|
5
5
|
/**
|
|
6
|
-
* Indicates that an
|
|
6
|
+
* Indicates that an [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) was met.
|
|
7
7
|
*
|
|
8
8
|
* @group Expectations
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ExpectationNotMet = void 0;
|
|
4
4
|
const ExpectationOutcome_1 = require("./ExpectationOutcome");
|
|
5
5
|
/**
|
|
6
|
-
* Indicates that an
|
|
6
|
+
* Indicates that an [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) was not met.
|
|
7
7
|
*
|
|
8
8
|
* @group Expectations
|
|
9
9
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { TinyType } from 'tiny-types';
|
|
2
2
|
import type { ExpectationDetails } from './ExpectationDetails';
|
|
3
3
|
/**
|
|
4
|
-
* An outcome of an
|
|
5
|
-
* which could be either
|
|
4
|
+
* An outcome of an [`Expectation`](https://serenity-js.org/api/core/class/Expectation/),
|
|
5
|
+
* which could be either [met](https://serenity-js.org/api/core/class/ExpectationMet/) or [not met](https://serenity-js.org/api/core/class/ExpectationNotMet/).
|
|
6
6
|
*
|
|
7
7
|
* @group Expectations
|
|
8
8
|
*/
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ExpectationOutcome = void 0;
|
|
4
4
|
const tiny_types_1 = require("tiny-types");
|
|
5
5
|
/**
|
|
6
|
-
* An outcome of an
|
|
7
|
-
* which could be either
|
|
6
|
+
* An outcome of an [`Expectation`](https://serenity-js.org/api/core/class/Expectation/),
|
|
7
|
+
* which could be either [met](https://serenity-js.org/api/core/class/ExpectationMet/) or [not met](https://serenity-js.org/api/core/class/ExpectationNotMet/).
|
|
8
8
|
*
|
|
9
9
|
* @group Expectations
|
|
10
10
|
*/
|
|
@@ -3,12 +3,13 @@ import type { MetaQuestionAdapter, QuestionAdapter } from '../Question';
|
|
|
3
3
|
import type { DescriptionFormattingOptions } from './DescriptionFormattingOptions';
|
|
4
4
|
import type { MetaQuestion } from './MetaQuestion';
|
|
5
5
|
/**
|
|
6
|
-
* Creates a single-line description of an
|
|
6
|
+
* Creates a single-line description of an [`Activity`](https://serenity-js.org/api/core/class/Activity/) by transforming
|
|
7
7
|
* a [template literal](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#Tagged_templates),
|
|
8
8
|
* parameterised with [primitive data types](https://developer.mozilla.org/en-US/docs/Glossary/Primitive),
|
|
9
9
|
* [complex data structures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#objects),
|
|
10
|
-
* or any other
|
|
11
|
-
*
|
|
10
|
+
* or any other [answerables](https://serenity-js.org/api/core/#Answerable),
|
|
11
|
+
* into a [`QuestionAdapter<string>`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
12
|
+
* that can be used with [`Task.where`](https://serenity-js.org/api/core/class/Task/#where) and [`Interaction.where`](https://serenity-js.org/api/core/class/Interaction/#where) methods.
|
|
12
13
|
*
|
|
13
14
|
* ```ts
|
|
14
15
|
* const dial = (phoneNumber: Answerable<string>) =>
|
|
@@ -22,7 +23,8 @@ import type { MetaQuestion } from './MetaQuestion';
|
|
|
22
23
|
*
|
|
23
24
|
* ## Trimming the output
|
|
24
25
|
*
|
|
25
|
-
* Use
|
|
26
|
+
* Use [`DescriptionFormattingOptions`](http://serenity-js.org/api/core/interface/DescriptionFormattingOptions/)
|
|
27
|
+
* to trim the descriptions of template parameters.
|
|
26
28
|
* By default, the output is displayed in full.
|
|
27
29
|
*
|
|
28
30
|
* ```ts
|
|
@@ -39,9 +41,9 @@ import type { MetaQuestion } from './MetaQuestion';
|
|
|
39
41
|
*
|
|
40
42
|
* ## Using with Questions
|
|
41
43
|
*
|
|
42
|
-
* When `the` is parameterised with
|
|
43
|
-
* it retrieves their description by calling
|
|
44
|
-
* in the context of the
|
|
44
|
+
* When `the` is parameterised with [questions](https://serenity-js.org/api/core/class/Question/),
|
|
45
|
+
* it retrieves their description by calling [`Question.describedBy`](https://serenity-js.org/api/core/class/Question/#describedBy)
|
|
46
|
+
* in the context of the [`Actor`](https://serenity-js.org/api/core/class/Actor/) performing the [`Activity`](https://serenity-js.org/api/core/class/Activity/).
|
|
45
47
|
*
|
|
46
48
|
* ```ts
|
|
47
49
|
* import { actorCalled, Question, Task, the } from '@serenity-js/core'
|
|
@@ -60,7 +62,7 @@ import type { MetaQuestion } from './MetaQuestion';
|
|
|
60
62
|
* )
|
|
61
63
|
* ```
|
|
62
64
|
*
|
|
63
|
-
* If you'd like the question to be described using its formatted value instead of its description, use
|
|
65
|
+
* If you'd like the question to be described using its formatted value instead of its description, use [`Question.formattedValue`](https://serenity-js.org/api/core/class/Question/#formattedValue).
|
|
64
66
|
*
|
|
65
67
|
* ```ts
|
|
66
68
|
* import { actorCalled, Question, Task, the } from '@serenity-js/core'
|
|
@@ -83,7 +85,7 @@ import type { MetaQuestion } from './MetaQuestion';
|
|
|
83
85
|
*
|
|
84
86
|
* When `the` is parameterised with objects that have
|
|
85
87
|
* a custom [`toString()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString) method,
|
|
86
|
-
* or
|
|
88
|
+
* or [answerables](https://serenity-js.org/api/core/#Answerable) resolving to such objects, the `toString()` method is called to produce the resulting description.
|
|
87
89
|
*
|
|
88
90
|
* ```ts
|
|
89
91
|
* import { actorCalled, description, Task } from '@serenity-js/core'
|
|
@@ -112,7 +114,7 @@ import type { MetaQuestion } from './MetaQuestion';
|
|
|
112
114
|
* ## Using with objects without a custom `toString` method
|
|
113
115
|
*
|
|
114
116
|
* When `the` is parameterised with complex objects that don't have a custom `toString()` method,
|
|
115
|
-
* or
|
|
117
|
+
* or [`Answerable`](https://serenity-js.org/api/core/#Answerable)s resolving to such objects,
|
|
116
118
|
* the resulting description will contain a JSON-like string representation of the object.
|
|
117
119
|
*
|
|
118
120
|
* ```ts
|
|
@@ -135,7 +137,7 @@ import type { MetaQuestion } from './MetaQuestion';
|
|
|
135
137
|
*
|
|
136
138
|
* ## Using with masked values
|
|
137
139
|
*
|
|
138
|
-
* When `the` is parameterised with
|
|
140
|
+
* When `the` is parameterised with [masked values](https://serenity-js.org/api/core/class/Masked/),
|
|
139
141
|
* the resulting description will contain a masked representation of the values.
|
|
140
142
|
*
|
|
141
143
|
* ```ts
|
|
@@ -152,11 +154,11 @@ import type { MetaQuestion } from './MetaQuestion';
|
|
|
152
154
|
*
|
|
153
155
|
* ## Learn more
|
|
154
156
|
*
|
|
155
|
-
* -
|
|
156
|
-
* -
|
|
157
|
-
* -
|
|
158
|
-
* -
|
|
159
|
-
* -
|
|
157
|
+
* - [`Answerable`](https://serenity-js.org/api/core/#Answerable)
|
|
158
|
+
* - [`Question`](https://serenity-js.org/api/core/class/Question/)
|
|
159
|
+
* - [`Question.describedAs`](https://serenity-js.org/api/core/class/Question/#describedAs)
|
|
160
|
+
* - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
161
|
+
* - [`Masked`](https://serenity-js.org/api/core/class/Masked/)
|
|
160
162
|
*
|
|
161
163
|
* @group Questions
|
|
162
164
|
*/
|
|
@@ -199,7 +201,7 @@ export declare function the<Supported_Context_Type>(templates: TemplateStringsAr
|
|
|
199
201
|
*
|
|
200
202
|
* ## Transforming the interpolated string
|
|
201
203
|
*
|
|
202
|
-
* The mechanism presented below relies on
|
|
204
|
+
* The mechanism presented below relies on [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter).
|
|
203
205
|
*
|
|
204
206
|
* ```ts
|
|
205
207
|
* import { q, actorCalled } from '@serenity-js/core'
|
|
@@ -214,10 +216,10 @@ export declare function the<Supported_Context_Type>(templates: TemplateStringsAr
|
|
|
214
216
|
*
|
|
215
217
|
* ## Learn more
|
|
216
218
|
*
|
|
217
|
-
* -
|
|
218
|
-
* -
|
|
219
|
-
* -
|
|
220
|
-
* -
|
|
219
|
+
* - [`Answerable`](https://serenity-js.org/api/core/#Answerable)
|
|
220
|
+
* - [`Question`](https://serenity-js.org/api/core/class/Question/)
|
|
221
|
+
* - [`Question.describedAs`](https://serenity-js.org/api/core/class/Question/#describedAs)
|
|
222
|
+
* - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
221
223
|
*
|
|
222
224
|
* @group Questions
|
|
223
225
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-functions.d.ts","sourceRoot":"","sources":["../../../src/screenplay/questions/tag-functions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIxE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"tag-functions.d.ts","sourceRoot":"","sources":["../../../src/screenplay/questions/tag-functions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIxE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+JG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,4BAA4B,GAAG,CAAC,sBAAsB,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,sBAAsB,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,mBAAmB,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;AACrP,wBAAgB,GAAG,CAAC,sBAAsB,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,sBAAsB,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,mBAAmB,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;AAYxM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,wBAAgB,CAAC,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAc7H"}
|
|
@@ -49,7 +49,7 @@ exports.the = the;
|
|
|
49
49
|
*
|
|
50
50
|
* ## Transforming the interpolated string
|
|
51
51
|
*
|
|
52
|
-
* The mechanism presented below relies on
|
|
52
|
+
* The mechanism presented below relies on [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter).
|
|
53
53
|
*
|
|
54
54
|
* ```ts
|
|
55
55
|
* import { q, actorCalled } from '@serenity-js/core'
|
|
@@ -64,10 +64,10 @@ exports.the = the;
|
|
|
64
64
|
*
|
|
65
65
|
* ## Learn more
|
|
66
66
|
*
|
|
67
|
-
* -
|
|
68
|
-
* -
|
|
69
|
-
* -
|
|
70
|
-
* -
|
|
67
|
+
* - [`Answerable`](https://serenity-js.org/api/core/#Answerable)
|
|
68
|
+
* - [`Question`](https://serenity-js.org/api/core/class/Question/)
|
|
69
|
+
* - [`Question.describedAs`](https://serenity-js.org/api/core/class/Question/#describedAs)
|
|
70
|
+
* - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
|
|
71
71
|
*
|
|
72
72
|
* @group Questions
|
|
73
73
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-functions.js","sourceRoot":"","sources":["../../../src/screenplay/questions/tag-functions.ts"],"names":[],"mappings":";;;AAAA,iCAAoD;AAIpD,0CAAuC;AAEvC,+CAA4C;
|
|
1
|
+
{"version":3,"file":"tag-functions.js","sourceRoot":"","sources":["../../../src/screenplay/questions/tag-functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Timestamp } from './models';
|
|
2
2
|
/**
|
|
3
|
-
* Describes an
|
|
3
|
+
* Describes an [`Actor`](https://serenity-js.org/api/core/class/Actor/) or a supporting class capable of telling
|
|
4
4
|
* the current wall clock time.
|
|
5
5
|
*
|
|
6
6
|
* ## Learn more
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
7
|
+
* - [`Actor`](https://serenity-js.org/api/core/class/Actor/)
|
|
8
|
+
* - [`Serenity`](https://serenity-js.org/api/core/class/Serenity/)
|
|
9
|
+
* - [`Stage`](https://serenity-js.org/api/core/class/Stage/)
|
|
10
10
|
*
|
|
11
11
|
* @group Time
|
|
12
12
|
*/
|
|
@@ -2,10 +2,10 @@ import type { Discardable } from '../../abilities';
|
|
|
2
2
|
import { Ability } from '../../abilities';
|
|
3
3
|
import type { Clock, DelayedCallback, Duration, RepeatUntilLimits } from '../models';
|
|
4
4
|
/**
|
|
5
|
-
* An
|
|
5
|
+
* An [`Ability`](https://serenity-js.org/api/core/class/Ability/) that enables an [`Actor`](https://serenity-js.org/api/core/class/Actor/) to schedule a callback function
|
|
6
6
|
* to be executed with a delay, or until some condition is met.
|
|
7
7
|
*
|
|
8
|
-
* Used internally by the
|
|
8
|
+
* Used internally by the [interaction](https://serenity-js.org/api/core/class/Interaction/) to [`Wait`](https://serenity-js.org/api/core/class/Wait/).
|
|
9
9
|
*
|
|
10
10
|
* @experimental
|
|
11
11
|
*
|
|
@@ -4,10 +4,10 @@ exports.ScheduleWork = void 0;
|
|
|
4
4
|
const abilities_1 = require("../../abilities");
|
|
5
5
|
const models_1 = require("../models");
|
|
6
6
|
/**
|
|
7
|
-
* An
|
|
7
|
+
* An [`Ability`](https://serenity-js.org/api/core/class/Ability/) that enables an [`Actor`](https://serenity-js.org/api/core/class/Actor/) to schedule a callback function
|
|
8
8
|
* to be executed with a delay, or until some condition is met.
|
|
9
9
|
*
|
|
10
|
-
* Used internally by the
|
|
10
|
+
* Used internally by the [interaction](https://serenity-js.org/api/core/class/Interaction/) to [`Wait`](https://serenity-js.org/api/core/class/Wait/).
|
|
11
11
|
*
|
|
12
12
|
* @experimental
|
|
13
13
|
*
|
|
@@ -4,13 +4,13 @@ import { Interaction } from '../../Interaction';
|
|
|
4
4
|
import type { AnswersQuestions, Expectation } from '../../questions';
|
|
5
5
|
import { Duration } from '../models';
|
|
6
6
|
/**
|
|
7
|
-
* `Wait` is a synchronisation statement that instructs the
|
|
8
|
-
* to wait before proceeding with their next
|
|
9
|
-
* either for a set
|
|
7
|
+
* `Wait` is a synchronisation statement that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
|
|
8
|
+
* to wait before proceeding with their next [activity](https://serenity-js.org/api/core/class/Activity/),
|
|
9
|
+
* either for a set [duration](https://serenity-js.org/api/core/class/Duration/), or until a given [expectation](https://serenity-js.org/api/core/class/Expectation/) is met.
|
|
10
10
|
*
|
|
11
|
-
* You can configure the timeout of the interaction to
|
|
12
|
-
* - globally, using
|
|
13
|
-
* - locally, on a per-interaction basis using
|
|
11
|
+
* You can configure the timeout of the interaction to [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until):
|
|
12
|
+
* - globally, using [`SerenityConfig.interactionTimeout`](https://serenity-js.org/api/core/class/SerenityConfig/#interactionTimeout)
|
|
13
|
+
* - locally, on a per-interaction basis using [`Wait.upTo`](https://serenity-js.org/api/core/class/Wait/#upTo)
|
|
14
14
|
*
|
|
15
15
|
* :::tip Portable waiting
|
|
16
16
|
* Serenity/JS implements `Wait` from scratch, so that the behaviour is consistent no matter the integration tool you use (Playwright, WebdriverIO, Selenium, etc.)
|
|
@@ -90,7 +90,8 @@ import { Duration } from '../models';
|
|
|
90
90
|
* );
|
|
91
91
|
* ```
|
|
92
92
|
*
|
|
93
|
-
* `Wait.until` makes the
|
|
93
|
+
* `Wait.until` makes the [`Actor`](https://serenity-js.org/api/core/class/Actor/)
|
|
94
|
+
* keep asking the [`Question`](https://serenity-js.org/api/core/class/Question/),
|
|
94
95
|
* in this case `Text.of(App.status)`, until the answer meets
|
|
95
96
|
* the expectation, or a timeout expires (default: 5s).
|
|
96
97
|
*
|
|
@@ -117,74 +118,75 @@ import { Duration } from '../models';
|
|
|
117
118
|
* ```
|
|
118
119
|
*
|
|
119
120
|
* ## Learn more
|
|
120
|
-
* -
|
|
121
|
-
* -
|
|
122
|
-
* -
|
|
121
|
+
* - [`SerenityConfig.interactionTimeout`](https://serenity-js.org/api/core/class/SerenityConfig/#interactionTimeout)
|
|
122
|
+
* - [`Duration`](https://serenity-js.org/api/core/class/Duration/)
|
|
123
|
+
* - [`Expectation`](https://serenity-js.org/api/core/class/Expectation/)
|
|
123
124
|
*
|
|
124
125
|
* @group Time
|
|
125
126
|
*/
|
|
126
127
|
export declare class Wait {
|
|
127
128
|
/**
|
|
128
|
-
* Minimum timeout that can be used with
|
|
129
|
+
* Minimum timeout that can be used with [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until),
|
|
129
130
|
* defaults to 250 milliseconds,
|
|
130
131
|
*/
|
|
131
132
|
static readonly minimumTimeout: Duration;
|
|
132
133
|
/**
|
|
133
|
-
* The amount of time
|
|
134
|
+
* The amount of time [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until) should wait between condition checks,
|
|
134
135
|
* defaults to 500ms.
|
|
135
136
|
*
|
|
136
|
-
* Use
|
|
137
|
+
* Use [`WaitUntil.pollingEvery`](https://serenity-js.org/api/core/class/WaitUntil/#pollingEvery) to override it for a given interaction.
|
|
137
138
|
*
|
|
138
139
|
* @type {Duration}
|
|
139
140
|
*/
|
|
140
141
|
static readonly defaultPollingInterval: Duration;
|
|
141
142
|
/**
|
|
142
|
-
* Minimum polling interval of 50ms between condition checks, used with
|
|
143
|
+
* Minimum polling interval of 50ms between condition checks, used with [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until).
|
|
143
144
|
*/
|
|
144
145
|
static readonly minimumPollingInterval: Duration;
|
|
145
146
|
/**
|
|
146
|
-
* Instantiates a version of this
|
|
147
|
+
* Instantiates a version of this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
|
|
147
148
|
* configured to wait for a set duration.
|
|
148
149
|
*
|
|
149
150
|
* @param duration
|
|
150
|
-
* A set duration the
|
|
151
|
+
* A set duration the [`Actor`](https://serenity-js.org/api/core/class/Actor/) should wait for before proceeding.
|
|
151
152
|
*/
|
|
152
153
|
static for(duration: Answerable<Duration>): Interaction;
|
|
153
154
|
/**
|
|
154
|
-
* Instantiates a version of this
|
|
155
|
+
* Instantiates a version of this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
|
|
155
156
|
* configured to wait until the answer to the question `actual` meets the `expectation`,
|
|
156
157
|
* or the `timeout` expires.
|
|
157
158
|
*
|
|
158
159
|
* @param timeout
|
|
159
|
-
* Custom timeout to override
|
|
160
|
+
* Custom timeout to override [`SerenityConfig.interactionTimeout`](https://serenity-js.org/api/core/class/SerenityConfig/#interactionTimeout)
|
|
160
161
|
*/
|
|
161
162
|
static upTo(timeout: Duration): {
|
|
162
163
|
until: <Actual>(actual: Answerable<Actual>, expectation: Expectation<Actual>) => WaitUntil<Actual>;
|
|
163
164
|
};
|
|
164
165
|
/**
|
|
165
|
-
* Instantiates a version of this
|
|
166
|
-
* poll every
|
|
166
|
+
* Instantiates a version of this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/) configured to
|
|
167
|
+
* poll every [`Wait.defaultPollingInterval`](https://serenity-js.org/api/core/class/Wait/#defaultPollingInterval) for the result of the provided
|
|
167
168
|
* question (`actual`) until it meets the `expectation`,
|
|
168
169
|
* or the timeout expires.
|
|
169
170
|
*
|
|
170
171
|
* @param actual
|
|
171
|
-
* An
|
|
172
|
-
* until the answer meets the
|
|
172
|
+
* An [`Answerable`](https://serenity-js.org/api/core/#Answerable) that the [`Actor`](https://serenity-js.org/api/core/class/Actor/) will keep answering
|
|
173
|
+
* until the answer meets the [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) provided, or the timeout expires.
|
|
173
174
|
*
|
|
174
175
|
* @param expectation
|
|
175
|
-
* An
|
|
176
|
+
* An [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) to be met before proceeding
|
|
176
177
|
*/
|
|
177
178
|
static until<Actual>(actual: Answerable<Actual>, expectation: Expectation<Actual>): WaitUntil<Actual>;
|
|
178
179
|
}
|
|
179
180
|
/**
|
|
180
|
-
* Synchronisation statement that instructs the
|
|
181
|
+
* Synchronisation statement that instructs the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to wait before proceeding until a given [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) is met.
|
|
181
182
|
*
|
|
182
183
|
* :::tip
|
|
183
|
-
* To instantiate
|
|
184
|
+
* To instantiate the [interaction](https://serenity-js.org/api/core/class/Interaction/) to [`WaitUntil`](https://serenity-js.org/api/core/class/WaitUntil/),
|
|
185
|
+
* use the factory method [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until).
|
|
184
186
|
* :::
|
|
185
187
|
*
|
|
186
188
|
* ## Learn more
|
|
187
|
-
* *
|
|
189
|
+
* * [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until)
|
|
188
190
|
*
|
|
189
191
|
* @group Time
|
|
190
192
|
*/
|
|
@@ -195,7 +197,7 @@ export declare class WaitUntil<Actual> extends Interaction {
|
|
|
195
197
|
private readonly timeout?;
|
|
196
198
|
constructor(actual: Answerable<Actual>, expectation: Expectation<Actual>, pollingInterval: Duration, timeout?: Duration);
|
|
197
199
|
/**
|
|
198
|
-
* Configure how frequently the
|
|
200
|
+
* Configure how frequently the [`Actor`](https://serenity-js.org/api/core/class/Actor/) should check if the answer meets the expectation.
|
|
199
201
|
*
|
|
200
202
|
* Note that the polling interval defines the delay between subsequent attempts
|
|
201
203
|
* to evaluate the expected value, and doesn't include the amount of time
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wait.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/activities/Wait.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAqB,MAAM,iBAAiB,CAAC;AAIxF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC
|
|
1
|
+
{"version":3,"file":"Wait.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/time/activities/Wait.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAqB,MAAM,iBAAiB,CAAC;AAIxF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwHG;AACH,qBAAa,IAAI;IAEb;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,WAAgC;IAE9D;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,sBAAsB,WAAgC;IAEtE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,sBAAsB,WAA+B;IAErE;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,WAAW;IAIvD;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG;QAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,CAAA;KAAE;IAOtI;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;CAGxG;AAiBD;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAS,CAAC,MAAM,CAAE,SAAQ,WAAW;IAE1C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAHR,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAC1B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,eAAe,EAAE,QAAQ,EACzB,OAAO,CAAC,EAAE,QAAQ;IAYvC;;;;;;;;OAQG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW;IAI7C;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAmC1E"}
|
|
@@ -10,13 +10,13 @@ const questions_2 = require("../../questions");
|
|
|
10
10
|
const abilities_1 = require("../abilities");
|
|
11
11
|
const models_1 = require("../models");
|
|
12
12
|
/**
|
|
13
|
-
* `Wait` is a synchronisation statement that instructs the
|
|
14
|
-
* to wait before proceeding with their next
|
|
15
|
-
* either for a set
|
|
13
|
+
* `Wait` is a synchronisation statement that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
|
|
14
|
+
* to wait before proceeding with their next [activity](https://serenity-js.org/api/core/class/Activity/),
|
|
15
|
+
* either for a set [duration](https://serenity-js.org/api/core/class/Duration/), or until a given [expectation](https://serenity-js.org/api/core/class/Expectation/) is met.
|
|
16
16
|
*
|
|
17
|
-
* You can configure the timeout of the interaction to
|
|
18
|
-
* - globally, using
|
|
19
|
-
* - locally, on a per-interaction basis using
|
|
17
|
+
* You can configure the timeout of the interaction to [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until):
|
|
18
|
+
* - globally, using [`SerenityConfig.interactionTimeout`](https://serenity-js.org/api/core/class/SerenityConfig/#interactionTimeout)
|
|
19
|
+
* - locally, on a per-interaction basis using [`Wait.upTo`](https://serenity-js.org/api/core/class/Wait/#upTo)
|
|
20
20
|
*
|
|
21
21
|
* :::tip Portable waiting
|
|
22
22
|
* Serenity/JS implements `Wait` from scratch, so that the behaviour is consistent no matter the integration tool you use (Playwright, WebdriverIO, Selenium, etc.)
|
|
@@ -96,7 +96,8 @@ const models_1 = require("../models");
|
|
|
96
96
|
* );
|
|
97
97
|
* ```
|
|
98
98
|
*
|
|
99
|
-
* `Wait.until` makes the
|
|
99
|
+
* `Wait.until` makes the [`Actor`](https://serenity-js.org/api/core/class/Actor/)
|
|
100
|
+
* keep asking the [`Question`](https://serenity-js.org/api/core/class/Question/),
|
|
100
101
|
* in this case `Text.of(App.status)`, until the answer meets
|
|
101
102
|
* the expectation, or a timeout expires (default: 5s).
|
|
102
103
|
*
|
|
@@ -123,48 +124,48 @@ const models_1 = require("../models");
|
|
|
123
124
|
* ```
|
|
124
125
|
*
|
|
125
126
|
* ## Learn more
|
|
126
|
-
* -
|
|
127
|
-
* -
|
|
128
|
-
* -
|
|
127
|
+
* - [`SerenityConfig.interactionTimeout`](https://serenity-js.org/api/core/class/SerenityConfig/#interactionTimeout)
|
|
128
|
+
* - [`Duration`](https://serenity-js.org/api/core/class/Duration/)
|
|
129
|
+
* - [`Expectation`](https://serenity-js.org/api/core/class/Expectation/)
|
|
129
130
|
*
|
|
130
131
|
* @group Time
|
|
131
132
|
*/
|
|
132
133
|
class Wait {
|
|
133
134
|
/**
|
|
134
|
-
* Minimum timeout that can be used with
|
|
135
|
+
* Minimum timeout that can be used with [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until),
|
|
135
136
|
* defaults to 250 milliseconds,
|
|
136
137
|
*/
|
|
137
138
|
static minimumTimeout = models_1.Duration.ofMilliseconds(250);
|
|
138
139
|
/**
|
|
139
|
-
* The amount of time
|
|
140
|
+
* The amount of time [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until) should wait between condition checks,
|
|
140
141
|
* defaults to 500ms.
|
|
141
142
|
*
|
|
142
|
-
* Use
|
|
143
|
+
* Use [`WaitUntil.pollingEvery`](https://serenity-js.org/api/core/class/WaitUntil/#pollingEvery) to override it for a given interaction.
|
|
143
144
|
*
|
|
144
145
|
* @type {Duration}
|
|
145
146
|
*/
|
|
146
147
|
static defaultPollingInterval = models_1.Duration.ofMilliseconds(500);
|
|
147
148
|
/**
|
|
148
|
-
* Minimum polling interval of 50ms between condition checks, used with
|
|
149
|
+
* Minimum polling interval of 50ms between condition checks, used with [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until).
|
|
149
150
|
*/
|
|
150
151
|
static minimumPollingInterval = models_1.Duration.ofMilliseconds(50);
|
|
151
152
|
/**
|
|
152
|
-
* Instantiates a version of this
|
|
153
|
+
* Instantiates a version of this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
|
|
153
154
|
* configured to wait for a set duration.
|
|
154
155
|
*
|
|
155
156
|
* @param duration
|
|
156
|
-
* A set duration the
|
|
157
|
+
* A set duration the [`Actor`](https://serenity-js.org/api/core/class/Actor/) should wait for before proceeding.
|
|
157
158
|
*/
|
|
158
159
|
static for(duration) {
|
|
159
160
|
return new WaitFor(duration);
|
|
160
161
|
}
|
|
161
162
|
/**
|
|
162
|
-
* Instantiates a version of this
|
|
163
|
+
* Instantiates a version of this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
|
|
163
164
|
* configured to wait until the answer to the question `actual` meets the `expectation`,
|
|
164
165
|
* or the `timeout` expires.
|
|
165
166
|
*
|
|
166
167
|
* @param timeout
|
|
167
|
-
* Custom timeout to override
|
|
168
|
+
* Custom timeout to override [`SerenityConfig.interactionTimeout`](https://serenity-js.org/api/core/class/SerenityConfig/#interactionTimeout)
|
|
168
169
|
*/
|
|
169
170
|
static upTo(timeout) {
|
|
170
171
|
return {
|
|
@@ -172,17 +173,17 @@ class Wait {
|
|
|
172
173
|
};
|
|
173
174
|
}
|
|
174
175
|
/**
|
|
175
|
-
* Instantiates a version of this
|
|
176
|
-
* poll every
|
|
176
|
+
* Instantiates a version of this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/) configured to
|
|
177
|
+
* poll every [`Wait.defaultPollingInterval`](https://serenity-js.org/api/core/class/Wait/#defaultPollingInterval) for the result of the provided
|
|
177
178
|
* question (`actual`) until it meets the `expectation`,
|
|
178
179
|
* or the timeout expires.
|
|
179
180
|
*
|
|
180
181
|
* @param actual
|
|
181
|
-
* An
|
|
182
|
-
* until the answer meets the
|
|
182
|
+
* An [`Answerable`](https://serenity-js.org/api/core/#Answerable) that the [`Actor`](https://serenity-js.org/api/core/class/Actor/) will keep answering
|
|
183
|
+
* until the answer meets the [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) provided, or the timeout expires.
|
|
183
184
|
*
|
|
184
185
|
* @param expectation
|
|
185
|
-
* An
|
|
186
|
+
* An [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) to be met before proceeding
|
|
186
187
|
*/
|
|
187
188
|
static until(actual, expectation) {
|
|
188
189
|
return new WaitUntil(actual, expectation, Wait.defaultPollingInterval);
|
|
@@ -204,14 +205,15 @@ class WaitFor extends Interaction_1.Interaction {
|
|
|
204
205
|
}
|
|
205
206
|
}
|
|
206
207
|
/**
|
|
207
|
-
* Synchronisation statement that instructs the
|
|
208
|
+
* Synchronisation statement that instructs the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to wait before proceeding until a given [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) is met.
|
|
208
209
|
*
|
|
209
210
|
* :::tip
|
|
210
|
-
* To instantiate
|
|
211
|
+
* To instantiate the [interaction](https://serenity-js.org/api/core/class/Interaction/) to [`WaitUntil`](https://serenity-js.org/api/core/class/WaitUntil/),
|
|
212
|
+
* use the factory method [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until).
|
|
211
213
|
* :::
|
|
212
214
|
*
|
|
213
215
|
* ## Learn more
|
|
214
|
-
* *
|
|
216
|
+
* * [`Wait.until`](https://serenity-js.org/api/core/class/Wait/#until)
|
|
215
217
|
*
|
|
216
218
|
* @group Time
|
|
217
219
|
*/
|
|
@@ -233,7 +235,7 @@ class WaitUntil extends Interaction_1.Interaction {
|
|
|
233
235
|
(0, tiny_types_1.ensure)('Polling interval', pollingInterval.inMilliseconds(), (0, tiny_types_1.isGreaterThanOrEqualTo)(Wait.minimumPollingInterval.inMilliseconds()));
|
|
234
236
|
}
|
|
235
237
|
/**
|
|
236
|
-
* Configure how frequently the
|
|
238
|
+
* Configure how frequently the [`Actor`](https://serenity-js.org/api/core/class/Actor/) should check if the answer meets the expectation.
|
|
237
239
|
*
|
|
238
240
|
* Note that the polling interval defines the delay between subsequent attempts
|
|
239
241
|
* to evaluate the expected value, and doesn't include the amount of time
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wait.js","sourceRoot":"","sources":["../../../../src/screenplay/time/activities/Wait.ts"],"names":[],"mappings":";;;AAAA,2CAAuE;AAEvE,4CAA0G;AAC1G,oCAAgC;AAGhC,mDAAgD;AAEhD,+CAAsC;AACtC,+CAAiD;AACjD,4CAA4C;AAC5C,sCAAqC;AAErC
|
|
1
|
+
{"version":3,"file":"Wait.js","sourceRoot":"","sources":["../../../../src/screenplay/time/activities/Wait.ts"],"names":[],"mappings":";;;AAAA,2CAAuE;AAEvE,4CAA0G;AAC1G,oCAAgC;AAGhC,mDAAgD;AAEhD,+CAAsC;AACtC,+CAAiD;AACjD,4CAA4C;AAC5C,sCAAqC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwHG;AACH,MAAa,IAAI;IAEb;;;OAGG;IACH,MAAM,CAAU,cAAc,GAAG,iBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAE9D;;;;;;;OAOG;IACH,MAAM,CAAU,sBAAsB,GAAG,iBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAEtE;;OAEG;IACH,MAAM,CAAU,sBAAsB,GAAG,iBAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAErE;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,QAA8B;QACrC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,OAAiB;QACzB,OAAO;YACH,KAAK,EAAE,CAAS,MAA0B,EAAE,WAAgC,EAAqB,EAAE,CAC/F,IAAI,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;SAC3I,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,KAAK,CAAS,MAA0B,EAAE,WAAgC;QAC7E,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC3E,CAAC;;AAhEL,oBAiEC;AAED;;GAEG;AACH,MAAM,OAAQ,SAAQ,yBAAW;IACA;IAA7B,YAA6B,QAA8B;QACvD,KAAK,CAAC,IAAA,eAAG,EAAA,oBAAqB,QAAS,EAAE,CAAC,CAAC;QADlB,aAAQ,GAAR,QAAQ,CAAsB;IAE3D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAuC;QACnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEnD,OAAO,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;CACJ;AAED;;;;;;;;;;;;GAYG;AACH,MAAa,SAAkB,SAAQ,yBAAW;IAEzB;IACA;IACA;IACA;IAJrB,YACqB,MAA0B,EAC1B,WAAgC,EAChC,eAAyB,EACzB,OAAkB;QAEnC,KAAK,CAAC,IAAA,eAAG,EAAA,sBAAuB,MAAO,SAAU,WAAY,EAAE,CAAC,CAAC;QALhD,WAAM,GAAN,MAAM,CAAoB;QAC1B,gBAAW,GAAX,WAAW,CAAqB;QAChC,oBAAe,GAAf,eAAe,CAAU;QACzB,YAAO,GAAP,OAAO,CAAW;QAInC,IAAI,OAAO,EAAE;YACT,IAAA,mBAAM,EAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,IAAA,mCAAsB,EAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAC1G,IAAA,mBAAM,EAAC,kBAAkB,EAAE,eAAe,CAAC,cAAc,EAAE,EAAE,IAAA,sBAAS,EAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;SACnJ;QAED,IAAA,mBAAM,EAAC,kBAAkB,EAAE,eAAe,CAAC,cAAc,EAAE,EAAE,IAAA,mCAAsB,EAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACvI,CAAC;IAED;;;;;;;;OAQG;IACH,YAAY,CAAC,QAAkB;QAC3B,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAuC;QAEnD,MAAM,wBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,CACpC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAC1D;YACI,aAAa,EAAE,OAAO,CAAC,EAAE,CACrB,OAAO,YAAY,0BAAc;YAErC,uBAAuB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,CAAC;gBACrD,CAAC,CAAC,iBAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC5B,CAAC,CAAC,IAAI,CAAC,eAAe;YAE1B,OAAO,EAAE,IAAI,CAAC,OAAO;YAErB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC7B,IAAI,KAAK,YAAY,8BAAqB,EAAE;oBACxC,OAAO,CAAC,0CAA0C;iBACrD;gBAED,IAAI,KAAK,YAAY,4BAAmB,EAAE;oBAEtC,MAAM,oBAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,uBAAc,EAAE;wBAC/C,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,IAAA,MAAC,EAAA,sBAAuB,IAAI,CAAC,MAAO,OAAQ,IAAI,CAAC,WAAY,EAAE;wBACxF,WAAW,EAAE,OAAO,EAAE,WAAW;wBACjC,IAAI,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;wBACzE,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE;wBACtC,KAAK,EAAE,KAAK;qBACf,CAAC,CAAC;iBACN;gBAED,MAAM,KAAK,CAAC;YAChB,CAAC;SACJ,CACJ,CAAC;IACN,CAAC;CACJ;AApED,8BAoEC"}
|