@serenity-js/core 3.0.0-rc.19 → 3.0.0-rc.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +1 -1
  3. package/lib/events/SceneFinishes.d.ts +7 -0
  4. package/lib/events/SceneFinishes.js +7 -0
  5. package/lib/events/SceneFinishes.js.map +1 -1
  6. package/lib/io/ModuleLoader.js.map +1 -1
  7. package/lib/io/Path.js.map +1 -1
  8. package/lib/screenplay/Question.js +1 -1
  9. package/lib/screenplay/Question.js.map +1 -1
  10. package/lib/screenplay/abilities/Discardable.d.ts +8 -1
  11. package/lib/screenplay/activities/OutcomeMatcher.js.map +1 -1
  12. package/lib/screenplay/interactions/Wait.d.ts +205 -0
  13. package/lib/screenplay/interactions/Wait.js +301 -0
  14. package/lib/screenplay/interactions/Wait.js.map +1 -0
  15. package/lib/screenplay/interactions/WaitBuilder.d.ts +28 -0
  16. package/lib/screenplay/interactions/WaitBuilder.js +3 -0
  17. package/lib/screenplay/interactions/WaitBuilder.js.map +1 -0
  18. package/lib/screenplay/interactions/index.d.ts +2 -0
  19. package/lib/screenplay/interactions/index.js +2 -0
  20. package/lib/screenplay/interactions/index.js.map +1 -1
  21. package/lib/stage/Stage.js +18 -10
  22. package/lib/stage/Stage.js.map +1 -1
  23. package/lib/stage/StageManager.d.ts +1 -0
  24. package/lib/stage/StageManager.js +13 -16
  25. package/lib/stage/StageManager.js.map +1 -1
  26. package/package.json +4 -4
  27. package/src/events/SceneFinishes.ts +7 -0
  28. package/src/io/ModuleLoader.ts +1 -1
  29. package/src/io/Path.ts +0 -1
  30. package/src/screenplay/Question.ts +1 -1
  31. package/src/screenplay/abilities/Discardable.ts +9 -1
  32. package/src/screenplay/activities/OutcomeMatcher.ts +1 -7
  33. package/src/screenplay/interactions/Wait.ts +350 -0
  34. package/src/screenplay/interactions/WaitBuilder.ts +30 -0
  35. package/src/screenplay/interactions/index.ts +2 -0
  36. package/src/stage/Stage.ts +27 -19
  37. package/src/stage/StageManager.ts +19 -26
package/CHANGELOG.md CHANGED
@@ -3,6 +3,45 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.0.0-rc.22](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.21...v3.0.0-rc.22) (2022-07-15)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **core:** ensure all async operations complete before attempting to dismiss the actors ([635cd9a](https://github.com/serenity-js/serenity-js/commit/635cd9a07481a97017506577e24e92e32a02e0e9)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
12
+ * **core:** further improvements to stage/actor synchronisation ([1e2e6fb](https://github.com/serenity-js/serenity-js/commit/1e2e6fb5c4ac727d209e1c45d466d0485f4cf548))
13
+
14
+
15
+
16
+
17
+
18
+ # [3.0.0-rc.21](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.20...v3.0.0-rc.21) (2022-07-11)
19
+
20
+ **Note:** Version bump only for package @serenity-js/core
21
+
22
+
23
+
24
+
25
+
26
+ # [3.0.0-rc.20](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.19...v3.0.0-rc.20) (2022-07-11)
27
+
28
+
29
+ ### Bug Fixes
30
+
31
+ * **core:** corrected Wait so that polling stops when the timeout expires ([60677e7](https://github.com/serenity-js/serenity-js/commit/60677e700269f03fd08e2cd58c06df0ec9c71f6f))
32
+
33
+
34
+ ### Features
35
+
36
+ * **core:** interaction to Wait stops upon errors ([56ff3eb](https://github.com/serenity-js/serenity-js/commit/56ff3ebd5366064f89be8ad3eefa53114ad12e85)), closes [#1035](https://github.com/serenity-js/serenity-js/issues/1035)
37
+ * **core:** interactions to Wait.for and Wait.until are now browser-independent ([d115142](https://github.com/serenity-js/serenity-js/commit/d1151427bed96c1ebd0d1dcc4159c6aeedc605de)), closes [#1035](https://github.com/serenity-js/serenity-js/issues/1035) [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
38
+ * **core:** minimum timeout and polling interval guards for Wait ([fd53d81](https://github.com/serenity-js/serenity-js/commit/fd53d81f5211eca18ba91729088d07883f2f9956)), closes [#1035](https://github.com/serenity-js/serenity-js/issues/1035)
39
+ * **web:** introduced PagesContext and implemented PlaywrightPage ([0045a72](https://github.com/serenity-js/serenity-js/commit/0045a726d540871333f644928218aed00bcd372c)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
40
+
41
+
42
+
43
+
44
+
6
45
  # [3.0.0-rc.19](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.18...v3.0.0-rc.19) (2022-06-11)
7
46
 
8
47
 
package/README.md CHANGED
@@ -8,7 +8,7 @@ and [API docs](https://serenity-js.org/modules/), and follow [@SerenityJS](https
8
8
 
9
9
  ### Learning Serenity/JS
10
10
 
11
- To learn more about Serenity/JS, check out the video below, read the [tutorial](https://serenity-js.org/handbook/thinking-in-serenity-js/index.html), review the [examples](https://github.com/serenity-js/serenity-js/tree/master/examples), and create your own test suite with [Serenity/JS template projects](https://github.com/serenity-js).
11
+ To learn more about Serenity/JS, check out the video below, read the [tutorial](https://serenity-js.org/handbook/thinking-in-serenity-js/index.html), review the [examples](https://github.com/serenity-js/serenity-js/tree/main/examples), and create your own test suite with [Serenity/JS template projects](https://github.com/serenity-js).
12
12
 
13
13
  If you have any questions, join us on [Serenity/JS Community Chat](https://gitter.im/serenity-js/Lobby).
14
14
 
@@ -1,6 +1,13 @@
1
1
  import { JSONObject } from 'tiny-types';
2
2
  import { CorrelationId, Outcome, ScenarioDetails, Timestamp } from '../model';
3
3
  import { DomainEvent } from './DomainEvent';
4
+ /**
5
+ * @desc
6
+ * Emitted by a Serenity/JS test runner adapter, right before a test and all its associated test hooks finish.
7
+ * Triggers any clean-up operations that might be required, such as discarding of the {@link Discardable} abilities.
8
+ *
9
+ * @extends {DomainEvent}
10
+ */
4
11
  export declare class SceneFinishes extends DomainEvent {
5
12
  readonly sceneId: CorrelationId;
6
13
  readonly details: ScenarioDetails;
@@ -4,6 +4,13 @@ exports.SceneFinishes = void 0;
4
4
  const tiny_types_1 = require("tiny-types");
5
5
  const model_1 = require("../model");
6
6
  const DomainEvent_1 = require("./DomainEvent");
7
+ /**
8
+ * @desc
9
+ * Emitted by a Serenity/JS test runner adapter, right before a test and all its associated test hooks finish.
10
+ * Triggers any clean-up operations that might be required, such as discarding of the {@link Discardable} abilities.
11
+ *
12
+ * @extends {DomainEvent}
13
+ */
7
14
  class SceneFinishes extends DomainEvent_1.DomainEvent {
8
15
  constructor(sceneId, details, outcome, timestamp) {
9
16
  super(timestamp);
@@ -1 +1 @@
1
- {"version":3,"file":"SceneFinishes.js","sourceRoot":"","sources":["../../src/events/SceneFinishes.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAE3D,oCAAiG;AACjG,+CAA4C;AAE5C,MAAa,aAAc,SAAQ,yBAAW;IAU1C,YACoB,OAAsB,EACtB,OAAwB,EACxB,OAAgB,EAChC,SAAqB;QAErB,KAAK,CAAC,SAAS,CAAC,CAAC;QALD,YAAO,GAAP,OAAO,CAAe;QACtB,YAAO,GAAP,OAAO,CAAiB;QACxB,YAAO,GAAP,OAAO,CAAS;QAIhC,IAAA,mBAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QACxC,IAAA,mBAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QACxC,IAAA,mBAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IAC5C,CAAC;IAnBD,MAAM,CAAC,QAAQ,CAAC,CAAa;QACzB,OAAO,IAAI,aAAa,CACpB,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAiB,CAAC,EAC3C,uBAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAqB,CAAC,EACjD,eAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAA4B,CAAC,EAChD,iBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAmB,CAAC,CAC5C,CAAC;IACN,CAAC;CAaJ;AArBD,sCAqBC"}
1
+ {"version":3,"file":"SceneFinishes.js","sourceRoot":"","sources":["../../src/events/SceneFinishes.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAE3D,oCAAiG;AACjG,+CAA4C;AAE5C;;;;;;GAMG;AACH,MAAa,aAAc,SAAQ,yBAAW;IAU1C,YACoB,OAAsB,EACtB,OAAwB,EACxB,OAAgB,EAChC,SAAqB;QAErB,KAAK,CAAC,SAAS,CAAC,CAAC;QALD,YAAO,GAAP,OAAO,CAAe;QACtB,YAAO,GAAP,OAAO,CAAiB;QACxB,YAAO,GAAP,OAAO,CAAS;QAIhC,IAAA,mBAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QACxC,IAAA,mBAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QACxC,IAAA,mBAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IAC5C,CAAC;IAnBD,MAAM,CAAC,QAAQ,CAAC,CAAa;QACzB,OAAO,IAAI,aAAa,CACpB,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAiB,CAAC,EAC3C,uBAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAqB,CAAC,EACjD,eAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAA4B,CAAC,EAChD,iBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAmB,CAAC,CAC5C,CAAC;IACN,CAAC;CAaJ;AArBD,sCAqBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleLoader.js","sourceRoot":"","sources":["../../src/io/ModuleLoader.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,gCAAgC;AAClE,6BAA6B,CAAG,2CAA2C;AAE3E,uCAAoC;AAEpC;;;GAGG;AACH,MAAa,YAAY;IAErB;;;OAGG;IACH,YAA4B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IACvC,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,QAAgB;QACzB,IAAI;YACA,OAAO,CAAC,CAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACpC;QAAC,MAAM;YACJ,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAgB;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEhD,OAAO,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACrC,EAAE,EAAE,QAAQ;YACZ,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;SAC3C,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,QAAgB;QACpB,IAAI;YACA,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC1C;QACD,MAAM;YACF,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC5B;IACL,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,QAAgB;QACtB,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAI,QAAS,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;CACJ;AAvED,oCAuEC"}
1
+ {"version":3,"file":"ModuleLoader.js","sourceRoot":"","sources":["../../src/io/ModuleLoader.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,gCAAgC;AAClE,6BAA6B,CAAC,2CAA2C;AAEzE,uCAAoC;AAEpC;;;GAGG;AACH,MAAa,YAAY;IAErB;;;OAGG;IACH,YAA4B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IACvC,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,QAAgB;QACzB,IAAI;YACA,OAAO,CAAC,CAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACpC;QAAC,MAAM;YACJ,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAgB;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEhD,OAAO,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACrC,EAAE,EAAE,QAAQ;YACZ,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;SAC3C,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,QAAgB;QACpB,IAAI;YACA,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC1C;QACD,MAAM;YACF,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC5B;IACL,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,QAAgB;QACtB,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAI,QAAS,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;CACJ;AAvED,oCAuEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/io/Path.ts"],"names":[],"mappings":";;;AAAA,2CAAkF;AAElF,yCAA0C;AAC1C,8BAA+B;AAE/B,MAAa,IAAK,SAAQ,qBAAQ;IA2B9B,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QACR,IAAA,mBAAM,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAA,sBAAS,GAAE,EAAE,IAAA,qBAAQ,EAAC,QAAQ,EAAE,IAAA,0BAAa,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IA5BD,MAAM,CAAC,QAAQ,CAAC,CAAS;QACrB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,QAAkB;QAC7B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,KAAa;QACpC,MACI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAC5D,SAAS,GAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EACrC,QAAQ,GAAK,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EACjD,QAAQ,GAAK,UAAU,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;aAClE,IAAI,EAAE;aACN,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAEjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CACrB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EACxB,GAAI,QAAS,GAAI,SAAU,EAAE,CAChC,CAAC,CAAC;IACP,CAAC;IASD,IAAI,CAAC,OAAa;QACd,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,KAAK;aACZ,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;aACrB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAE,OAAO,CAAC,CAAC,CAAC,kEAAkE;IAC1G,CAAC;IAED,OAAO,CAAC,OAAa;QACjB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS;QACL,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,IAAI;QACA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;;AA9DL,oBA+DC;AA9D2B,cAAS,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/io/Path.ts"],"names":[],"mappings":";;;AAAA,2CAAkF;AAClF,yCAA0C;AAC1C,8BAA+B;AAE/B,MAAa,IAAK,SAAQ,qBAAQ;IA2B9B,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QACR,IAAA,mBAAM,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAA,sBAAS,GAAE,EAAE,IAAA,qBAAQ,EAAC,QAAQ,EAAE,IAAA,0BAAa,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IA5BD,MAAM,CAAC,QAAQ,CAAC,CAAS;QACrB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,QAAkB;QAC7B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,KAAa;QACpC,MACI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAC5D,SAAS,GAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EACrC,QAAQ,GAAK,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EACjD,QAAQ,GAAK,UAAU,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;aAClE,IAAI,EAAE;aACN,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAEjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CACrB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EACxB,GAAI,QAAS,GAAI,SAAU,EAAE,CAChC,CAAC,CAAC;IACP,CAAC;IASD,IAAI,CAAC,OAAa;QACd,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,KAAK;aACZ,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;aACrB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAE,OAAO,CAAC,CAAC,CAAC,kEAAkE;IAC1G,CAAC;IAED,OAAO,CAAC,OAAa;QACjB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS;QACL,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,IAAI;QACA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;;AA9DL,oBA+DC;AA9D2B,cAAS,GAAG,GAAG,CAAC"}
@@ -248,7 +248,7 @@ class QuestionStatement extends Interaction_1.Interaction {
248
248
  return new IsPresent((0, io_1.f) `${this}.isPresent()`, this.body);
249
249
  }
250
250
  async answeredBy(actor) {
251
- return await this.body(actor);
251
+ return this.body(actor);
252
252
  }
253
253
  async performAs(actor) {
254
254
  await this.body(actor);
@@ -1 +1 @@
1
- {"version":3,"file":"Question.js","sourceRoot":"","sources":["../../src/screenplay/Question.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Question.js","sourceRoot":"","sources":["../../src/screenplay/Question.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,12 @@
10
10
  * @public
11
11
  */
12
12
  export interface Discardable {
13
- discard(): Promise<void> | void;
13
+ /**
14
+ * @desc
15
+ * Discards the resources associated with this ability.
16
+ *
17
+ * @type {function(): Promise<void>|void}
18
+ * @public
19
+ */
20
+ discard: () => Promise<void> | void;
14
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OutcomeMatcher.js","sourceRoot":"","sources":["../../../src/screenplay/activities/OutcomeMatcher.ts"],"names":[],"mappings":";;;AAAA,2CAAmC;AAEnC,yCAAgG;AAChG,uCAMqB;AAErB,eAAe;AACf,MAAa,cAAc;IACvB,UAAU,CAAC,KAAkB;QACzB,OAAO,IAAA,kBAAK,EAA2B,KAAK,CAAC;aACxC,IAAI,CAAC,mCAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,6BAAqB,CAAC,KAAK,CAAC,CAAC;aACvE,IAAI,CAAC,6BAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,4BAAoB,CAAC,KAAK,CAAC,CAAC;aAChE,IAAI,CAAC,uBAAc,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,yCAAiC,CAAC,KAAK,CAAC,CAAC;aACvE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CACb,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ;YAClD,CAAC,CAAC,IAAI,yCAAiC,CAAC,KAAK,CAAC;YAC9C,CAAC,CAAC,IAAI,gCAAwB,CAAC,KAAK,CAAC,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,gCAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;CACJ;AAZD,wCAYC"}
1
+ {"version":3,"file":"OutcomeMatcher.js","sourceRoot":"","sources":["../../../src/screenplay/activities/OutcomeMatcher.ts"],"names":[],"mappings":";;;AAAA,2CAAmC;AAEnC,yCAAgG;AAChG,uCAA0J;AAE1J,eAAe;AACf,MAAa,cAAc;IACvB,UAAU,CAAC,KAAkB;QACzB,OAAO,IAAA,kBAAK,EAA2B,KAAK,CAAC;aACxC,IAAI,CAAC,mCAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,6BAAqB,CAAC,KAAK,CAAC,CAAC;aACvE,IAAI,CAAC,6BAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,4BAAoB,CAAC,KAAK,CAAC,CAAC;aAChE,IAAI,CAAC,uBAAc,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,yCAAiC,CAAC,KAAK,CAAC,CAAC;aACvE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CACb,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ;YAClD,CAAC,CAAC,IAAI,yCAAiC,CAAC,KAAK,CAAC;YAC9C,CAAC,CAAC,IAAI,gCAAwB,CAAC,KAAK,CAAC,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,gCAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;CACJ;AAZD,wCAYC"}
@@ -0,0 +1,205 @@
1
+ import { Duration } from '../../model';
2
+ import { AnswersQuestions, UsesAbilities } from '../actor';
3
+ import { Answerable } from '../Answerable';
4
+ import { Interaction } from '../Interaction';
5
+ import { Expectation } from '../questions';
6
+ import { WaitBuilder } from './WaitBuilder';
7
+ /**
8
+ * @desc
9
+ * Instructs the {@link Actor} to wait before proceeding, either for a set {@link Duration},
10
+ * or until a given {@link Expectation} is met.
11
+ *
12
+ * @example <caption>Example widget</caption>
13
+ * <!--
14
+ * After about 1 second, the text will change from 'Loading...' to 'Ready!'
15
+ * -->
16
+ * <h1 id="status">Loading...</h1>
17
+ * <script>
18
+ * (function () {
19
+ * setTimeout(function () {
20
+ * document.getElementById('status').textContent = 'Ready!'
21
+ * }, 1000);
22
+ * })();
23
+ * </script>
24
+ *
25
+ * @example <caption>Lean Page Object describing the widget</caption>
26
+ * import { by, Target } from '@serenity-js/webdriverio';
27
+ *
28
+ * class App {
29
+ * static status = Target.the('status widget')
30
+ * .located(by.id('status'));
31
+ * }
32
+ *
33
+ * @example <caption>Waiting for a set amount of time</caption>
34
+ * import { actorCalled, Duration, Wait } from '@serenity-js/core';
35
+ * import { BrowseTheWebWithWebdriverIO } from '@serenity-js/webdriverio';
36
+ * import { Ensure, equals } from '@serenity-js/assertions';
37
+ *
38
+ * await actorCalled('Wendy')
39
+ * .whoCan(BrowseTheWebWithWebdriverIO.using(browser))
40
+ * .attemptsTo(
41
+ * Wait.for(Duration.ofMilliseconds(1_500)),
42
+ * Ensure.that(App.status, equals('Ready!')),
43
+ * );
44
+ *
45
+ * // Please note that while the above implementation works,
46
+ * // this approach is inefficient because at best
47
+ * // the actor might wait too long and at worst the test
48
+ * // might become "flaky" if any external interference
49
+ * // (like network glitches, animations taking a bit too long etc.)
50
+ * // makes the actor wait not long enough.
51
+ *
52
+ * @example <caption>Waiting until a condition is met</caption>
53
+ * import { actorCalled, Wait } from '@serenity-js/core';
54
+ * import { BrowseTheWebWithWebdriverIO } from '@serenity-js/webdriverio';
55
+ * import { Text } from '@serenity-js/web';
56
+ * import { equals } from '@serenity-js/assertions';
57
+ *
58
+ * await actorCalled('Wendy')
59
+ * .whoCan(BrowseTheWebWithWebdriverIO.using(browser))
60
+ * .attemptsTo(
61
+ * Wait.until(Text.of(App.status), equals('Ready!')),
62
+ * // app is ready, proceed with the scenario
63
+ * );
64
+ *
65
+ * // `Wait.until` makes the Actor keep asking a Question,
66
+ * // in this case Text.of(App.status), until the answer meets
67
+ * // the expectation, or a timeout expires (default: 5s).
68
+ * //
69
+ * // Please note that both Ensure and Wait can be used with
70
+ * // the same expectations, like `equals` or `includes`.
71
+ *
72
+ * @example <caption>Changing the default timeout</caption>
73
+ * import { actorCalled, Duration, Wait } from '@serenity-js/core';
74
+ * import { BrowseTheWebWithPlaywright } from '@serenity-js/playwright';
75
+ * import { Text } from '@serenity-js/web';
76
+ * import { equals } from '@serenity-js/assertions';
77
+ * import { Browser, chromium } from 'playwright';
78
+ *
79
+ * const browser: Browser = await chromium.launch({
80
+ * headless: true
81
+ * });
82
+ *
83
+ * await actorCalled('Polly')
84
+ * .whoCan(BrowseTheWebWithPlaywright.using(browser))
85
+ * .attemptsTo(
86
+ * Wait.upTo(Duration.ofSeconds(3))
87
+ * .until(Text.of(App.status), equals('Ready!')),
88
+ * // app is ready, proceed with the scenario
89
+ * );
90
+ *
91
+ * @see {@link Duration}
92
+ * @see {@link Interaction}
93
+ */
94
+ export declare class Wait {
95
+ /**
96
+ * @desc
97
+ * Default timeout of 5 seconds used with {@link Wait.until}.
98
+ *
99
+ * @type {Duration}
100
+ */
101
+ static readonly defaultTimeout: Duration;
102
+ /**
103
+ * @desc
104
+ * Minimum timeout of 250 milliseconds used with {@link Wait.until}.
105
+ *
106
+ * @type {Duration}
107
+ */
108
+ static readonly minimumTimeout: Duration;
109
+ /**
110
+ * @desc
111
+ * Default polling interval of 500ms between condition checks, used with {@link Wait.until}.
112
+ *
113
+ * @type {Duration}
114
+ */
115
+ static readonly defaultPollingInterval: Duration;
116
+ /**
117
+ * @desc
118
+ * Minimum polling interval of 50ms between condition checks, used with {@link Wait.until}.
119
+ *
120
+ * @type {Duration}
121
+ */
122
+ static readonly minimumPollingInterval: Duration;
123
+ /**
124
+ * @desc
125
+ * Instantiates a version of this {@link Interaction}
126
+ * configured to wait for a set duration.
127
+ *
128
+ * @param {Answerable<Duration>} duration
129
+ * A set duration the {@link Actor} should wait for before proceeding.
130
+ *
131
+ * @returns {Interaction}
132
+ */
133
+ static for(duration: Answerable<Duration>): Interaction;
134
+ /**
135
+ * @desc
136
+ * Instantiates a version of this {@link Interaction}
137
+ * configured to wait until the answer to the question (`actual`) meets the `expectation`,
138
+ * or a custom timeout expires.
139
+ *
140
+ * The minimum timeout is
141
+ *
142
+ * @param {Duration} timeout
143
+ * Custom timeout to override {@link Wait.defaultTimeout}
144
+ *
145
+ * @returns {WaitBuilder}
146
+ */
147
+ static upTo(timeout: Duration): WaitBuilder;
148
+ /**
149
+ * @desc
150
+ * Instantiates a version of this {@link Interaction} configured to
151
+ * poll every {@link Wait.defaultPollingInterval} for the result of the provided
152
+ * question (`actual`) until it meets the `expectation`,
153
+ * or the {@link Wait.defaultTimeout} expires.
154
+ *
155
+ * @param {Answerable<Actual>} actual
156
+ * A {@link Question} that the {@link Actor} will keep asking until the answer meets
157
+ * the {@link Expectation} provided.
158
+ *
159
+ * @param {Expectation<Actual>} expectation
160
+ * An {@link Expectation} to be met before proceeding
161
+ *
162
+ * @returns {WaitUntil<Actual>}
163
+ */
164
+ static until<Actual>(actual: Answerable<Actual>, expectation: Expectation<Actual>): WaitUntil<Actual>;
165
+ }
166
+ /**
167
+ * @desc
168
+ * Instructs the {@link Actor} to wait before proceeding until a given {@link Expectation} is met.
169
+ *
170
+ * @see {@link Wait.until}
171
+ */
172
+ export declare class WaitUntil<Actual> extends Interaction {
173
+ private readonly actual;
174
+ private readonly expectation;
175
+ private readonly timeout;
176
+ private readonly pollingInterval;
177
+ constructor(actual: Answerable<Actual>, expectation: Expectation<Actual>, timeout: Duration, pollingInterval: Duration);
178
+ /**
179
+ * @desc
180
+ * Configure how often the {@link Actor} should check if the answer meets the expectation.
181
+ *
182
+ * @param {Duration} interval
183
+ * @returns {Interaction}
184
+ */
185
+ pollingEvery(interval: Duration): Interaction;
186
+ /**
187
+ * @desc
188
+ * Makes the provided {@link Actor} perform this {@link Interaction}.
189
+ *
190
+ * @param {UsesAbilities & AnswersQuestions} actor
191
+ * @returns {Promise<void>}
192
+ *
193
+ * @see {@link Actor}
194
+ * @see {@link UsesAbilities}
195
+ * @see {@link AnswersQuestions}
196
+ */
197
+ performAs(actor: UsesAbilities & AnswersQuestions): Promise<void>;
198
+ /**
199
+ * @desc
200
+ * Generates a description to be used when reporting this {@link Activity}.
201
+ *
202
+ * @returns {string}
203
+ */
204
+ toString(): string;
205
+ }