@serenity-js/core 3.0.0-rc.14 → 3.0.0-rc.15
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 +16 -458
- package/lib/screenplay/Activity.d.ts +1 -1
- package/lib/screenplay/Interaction.d.ts +2 -2
- package/lib/screenplay/Interaction.js.map +1 -1
- package/lib/screenplay/Task.d.ts +1 -1
- package/lib/screenplay/activities/TrackedActivity.d.ts +1 -1
- package/lib/screenplay/interactions/TakeNote.d.ts +1 -1
- package/lib/stage/Stage.d.ts +4 -0
- package/lib/stage/Stage.js +5 -1
- package/lib/stage/Stage.js.map +1 -1
- package/package.json +4 -4
- package/src/screenplay/Activity.ts +1 -1
- package/src/screenplay/Interaction.ts +4 -4
- package/src/screenplay/Task.ts +3 -3
- package/src/screenplay/activities/TrackedActivity.ts +1 -1
- package/src/screenplay/interactions/TakeNote.ts +1 -1
- package/src/stage/Stage.ts +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,163 +3,26 @@
|
|
|
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.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
### Bug Fixes
|
|
10
|
-
|
|
11
|
-
* **web:** auto-generated descriptions of nested PageElements are easier to read ([5a51d91](https://github.com/serenity-js/serenity-js/commit/5a51d91f0abb1c32814c219a44da51d52df77f87))
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# [3.0.0-rc.13](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.12...v3.0.0-rc.13) (2022-03-02)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
# [3.0.0-rc.12](https://github.com/serenity-js/serenity-js/compare/v2.33.2...v3.0.0-rc.12) (2022-02-23)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
# [3.0.0-rc.11](https://github.com/serenity-js/serenity-js/compare/v2.33.1...v3.0.0-rc.11) (2022-02-13)
|
|
6
|
+
# [3.0.0-rc.15](https://github.com/serenity-js/serenity-js/compare/v2.33.5...v3.0.0-rc.15) (2022-04-10)
|
|
24
7
|
|
|
25
8
|
|
|
26
9
|
### Bug Fixes
|
|
27
10
|
|
|
28
|
-
* **
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
# [3.0.0-rc.10](https://github.com/serenity-js/serenity-js/compare/v2.33.0...v3.0.0-rc.10) (2022-02-03)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
# [3.0.0-rc.9](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.8...v3.0.0-rc.9) (2022-02-01)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
### Features
|
|
11
|
+
* **web:** replaced legacy PromiseLike return types with native Promise types ([436b3cb](https://github.com/serenity-js/serenity-js/commit/436b3cba1793f63008a56633cc93669736155ce6))
|
|
40
12
|
|
|
41
|
-
* **web:** isVisible() works with Web elements in Shadow DOM ([cf84fb0](https://github.com/serenity-js/serenity-js/commit/cf84fb072a6b813338b68bb1dec3932ea8709e3e)), closes [#1085](https://github.com/serenity-js/serenity-js/issues/1085)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
# [3.0.0-rc.8](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.7...v3.0.0-rc.8) (2022-01-28)
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
### Bug Fixes
|
|
49
|
-
|
|
50
|
-
* **core:** ensure Question.about doesn't expose internal interfaces ([4bfb6bc](https://github.com/serenity-js/serenity-js/commit/4bfb6bca6af81d23ced551f63df5bc9f35d581df)), closes [#1106](https://github.com/serenity-js/serenity-js/issues/1106)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
# [3.0.0-rc.7](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.6...v3.0.0-rc.7) (2022-01-28)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
### Bug Fixes
|
|
58
|
-
|
|
59
|
-
* **core:** removed deprecated interface DressingRoom; please use Cast instead ([d68b44b](https://github.com/serenity-js/serenity-js/commit/d68b44b545f50f6533523ab07008f9f89ac34433))
|
|
60
|
-
* **core:** removed deprecated interface WithStage ([45d1c2b](https://github.com/serenity-js/serenity-js/commit/45d1c2b3e0ff1946ccff97d148d0776f2fa60065))
|
|
61
|
-
* **core:** removed deprecated task to See.if ([dd5e2f5](https://github.com/serenity-js/serenity-js/commit/dd5e2f5c7e61444d40899f70d413f38bc9f6691a))
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
### Features
|
|
65
|
-
|
|
66
|
-
* **assertions:** isPresent works with any Optional ([cea75dc](https://github.com/serenity-js/serenity-js/commit/cea75dc1c728e45e06a87aaf9c1573a237334285)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
67
|
-
* **core:** `f` and `d` question description formatters ([c9f3fad](https://github.com/serenity-js/serenity-js/commit/c9f3fadd86ec0196f2cdbf76d9628bbef0a3fcba))
|
|
68
|
-
* **core:** replaced `Adapter` with `QuestionAdapter` and introduced `Optional` ([8d84ad3](https://github.com/serenity-js/serenity-js/commit/8d84ad3863e3c726533d0f21934fb1e2fa8b3022)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
69
|
-
* **core:** support for Optional chaining, expectation isPresent, refactored Expectations ([1841ee5](https://github.com/serenity-js/serenity-js/commit/1841ee5fc48cfa403ddc53358f75764d9a010c21)), closes [#1099](https://github.com/serenity-js/serenity-js/issues/1099) [#1099](https://github.com/serenity-js/serenity-js/issues/1099) [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
70
13
|
|
|
71
14
|
|
|
72
|
-
|
|
73
|
-
# [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
# [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
### Bug Fixes
|
|
81
|
-
|
|
82
|
-
* **core:** screenplay Adapters will now correctly proxy calls to function-specific object keys ([ad6f1e6](https://github.com/serenity-js/serenity-js/commit/ad6f1e655ca77d6efde4461854e54c4113ca8fdd))
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
# [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
### Bug Fixes
|
|
90
|
-
|
|
91
|
-
* **core:** you can now retrieve the .length property of an Array wrapped in an Adapter<Array> ([c36e210](https://github.com/serenity-js/serenity-js/commit/c36e210c024052b96ba47e9663c7098e269c5688))
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
# [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
### Bug Fixes
|
|
99
|
-
|
|
100
|
-
* **core:** refactored Mappable so that it's easier to implement filters ([176e0cd](https://github.com/serenity-js/serenity-js/commit/176e0cd0303d63271477b2b7a8e7b0572dda99a0)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
101
|
-
* **core:** removed interface Reducible since it's not used any more ([1e9f23b](https://github.com/serenity-js/serenity-js/commit/1e9f23b227e3c4509dd52d6885cde5d3ecd1d102))
|
|
102
|
-
* **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
|
|
103
|
-
* **web:** corrected synchronisation in Web questions and interactions ([c3a0ad1](https://github.com/serenity-js/serenity-js/commit/c3a0ad16de311e71d7e82e4f463baa0ca6b18863))
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
### Features
|
|
107
|
-
|
|
108
|
-
* **core:** forEach for List and PageElements ([4592fb7](https://github.com/serenity-js/serenity-js/commit/4592fb7e700bad17fd44d91bd9db169839802d01)), closes [#823](https://github.com/serenity-js/serenity-js/issues/823)
|
|
109
|
-
* **core:** List supports custom collectors ([cd3f2bc](https://github.com/serenity-js/serenity-js/commit/cd3f2bc1b536c8e56714aecd669bfed7ab078e0a))
|
|
110
|
-
* **core:** new implementation of List.where filters ([45b3c80](https://github.com/serenity-js/serenity-js/commit/45b3c8080ca467ac6362e5217e7899ca36a04cdc)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
111
|
-
* **core:** support for Screenplay-style collection filters and mapping (List.where & .eachMappedTo) ([3d3c02e](https://github.com/serenity-js/serenity-js/commit/3d3c02ebe0ec5c6865f91f1991fd59ef0190a16c)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
112
|
-
* **web:** re-introduced PageElements.where DSL and universal By selectors ([39fe0a1](https://github.com/serenity-js/serenity-js/commit/39fe0a10edf7f652e93911159e4a4689c36d6876)), closes [#1081](https://github.com/serenity-js/serenity-js/issues/1081)
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
# [3.0.0-rc.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.0...v3.0.0-rc.1) (2021-12-09)
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
# [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
|
|
15
|
+
# [3.0.0-rc.14](https://github.com/serenity-js/serenity-js/compare/v2.33.3...v3.0.0-rc.14) (2022-03-28)
|
|
121
16
|
|
|
122
17
|
|
|
123
18
|
### Bug Fixes
|
|
124
19
|
|
|
125
|
-
* **
|
|
126
|
-
* **core:** `inspected` produces a better description of functions used as parameters ([15535c6](https://github.com/serenity-js/serenity-js/commit/15535c675469651b835c0b358649a590f2c15b5d))
|
|
127
|
-
* **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
128
|
-
* **core:** answerProxy renamed to ProxyAnswer to better reflect its purpose ([a98fe41](https://github.com/serenity-js/serenity-js/commit/a98fe41378bc8475f027946e0f01a30f4789d57a))
|
|
129
|
-
* **core:** corrected type defs of Question.as ([681ce22](https://github.com/serenity-js/serenity-js/commit/681ce22259bf75161df7ce2454f4b6d73ea87259))
|
|
130
|
-
* **core:** exported createProxyAnswer to make it easier to use ([5471989](https://github.com/serenity-js/serenity-js/commit/547198985025d0ede2ab47ea89d8944960fb980d))
|
|
131
|
-
* **core:** removed Loop as it will be replaced ([0b63d27](https://github.com/serenity-js/serenity-js/commit/0b63d27745c905001adf3c219dd0e3cf44756320))
|
|
132
|
-
* **core:** removed Property as it will be replaced by new Question ([fd7fa10](https://github.com/serenity-js/serenity-js/commit/fd7fa10dfbaa0c0cba059c5f18920609c4bac014))
|
|
133
|
-
* **core:** removed Transform and mapping functions as they'll be replaced with new Question ([506eaea](https://github.com/serenity-js/serenity-js/commit/506eaeaf2df22cfde5d7ca6a8f413fc053556c2b))
|
|
134
|
-
* **core:** renamed "Model" type to "Adapter" to better reflect its purpose ([b4ea7a1](https://github.com/serenity-js/serenity-js/commit/b4ea7a100fac2c896990bf15cbc906de641196b8)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
135
|
-
* **cucumber:** support for recognising non-Serenity AssertionErrors in older version of Cucumber ([31e9e99](https://github.com/serenity-js/serenity-js/commit/31e9e9919c2fd1e87b3f4405d9b2a6ae0164e893))
|
|
136
|
-
* **web:** wordsmithing of interface names ([5a1e76a](https://github.com/serenity-js/serenity-js/commit/5a1e76a9c162370e17238fcccc9f08e109d543c3))
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
### Features
|
|
140
|
-
|
|
141
|
-
* **core:** question.about creates a proxy around the answer to simplify the API ([25e0841](https://github.com/serenity-js/serenity-js/commit/25e084116ad28a02b55fbd8814b6ffa0375ec433))
|
|
142
|
-
* **core:** question.about produces "props" that proxy the methods of the underlying model ([f771872](https://github.com/serenity-js/serenity-js/commit/f771872c56b487e404002c3800fc8f3baaed804f))
|
|
143
|
-
* **web:** Page.url() and Page.title() replace Website.url() and Website.title() ([49fe009](https://github.com/serenity-js/serenity-js/commit/49fe0094422ab53ec67d4ba303f80c33e382eebd)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
144
|
-
* **web:** removed Target in favour of PageElement ([69496c4](https://github.com/serenity-js/serenity-js/commit/69496c47c4a1ec7b92e7ab6c83da1559e926f28e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
145
|
-
* **web:** support for working with cookies ([39cde6d](https://github.com/serenity-js/serenity-js/commit/39cde6de7a36d27a8b1c596493efbec94900af6b)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
### BREAKING CHANGES
|
|
149
|
-
|
|
150
|
-
* **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
|
|
151
|
-
modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
|
|
152
|
-
|
|
153
|
-
|
|
20
|
+
* **web:** auto-generated descriptions of nested PageElements are easier to read ([5a51d91](https://github.com/serenity-js/serenity-js/commit/5a51d91f0abb1c32814c219a44da51d52df77f87))
|
|
154
21
|
|
|
155
22
|
|
|
156
23
|
|
|
157
24
|
# [3.0.0-rc.13](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.12...v3.0.0-rc.13) (2022-03-02)
|
|
158
25
|
|
|
159
|
-
**Note:** Version bump only for package @serenity-js/core
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
26
|
|
|
164
27
|
|
|
165
28
|
# [3.0.0-rc.12](https://github.com/serenity-js/serenity-js/compare/v2.33.2...v3.0.0-rc.12) (2022-02-23)
|
|
@@ -300,137 +163,29 @@ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped su
|
|
|
300
163
|
|
|
301
164
|
|
|
302
165
|
|
|
303
|
-
# [3.0.0-rc.
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
### Bug Fixes
|
|
307
|
-
|
|
308
|
-
* **core:** updated dependency on error-stack-parser ([ea50285](https://github.com/serenity-js/serenity-js/commit/ea502855da40c2f95c893c75061ef6dcf12f669d))
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
# [3.0.0-rc.10](https://github.com/serenity-js/serenity-js/compare/v2.33.0...v3.0.0-rc.10) (2022-02-03)
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
# [3.0.0-rc.9](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.8...v3.0.0-rc.9) (2022-02-01)
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
### Features
|
|
320
|
-
|
|
321
|
-
* **web:** isVisible() works with Web elements in Shadow DOM ([cf84fb0](https://github.com/serenity-js/serenity-js/commit/cf84fb072a6b813338b68bb1dec3932ea8709e3e)), closes [#1085](https://github.com/serenity-js/serenity-js/issues/1085)
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
# [3.0.0-rc.8](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.7...v3.0.0-rc.8) (2022-01-28)
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
### Bug Fixes
|
|
329
|
-
|
|
330
|
-
* **core:** ensure Question.about doesn't expose internal interfaces ([4bfb6bc](https://github.com/serenity-js/serenity-js/commit/4bfb6bca6af81d23ced551f63df5bc9f35d581df)), closes [#1106](https://github.com/serenity-js/serenity-js/issues/1106)
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
# [3.0.0-rc.7](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.6...v3.0.0-rc.7) (2022-01-28)
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
### Bug Fixes
|
|
338
|
-
|
|
339
|
-
* **core:** removed deprecated interface DressingRoom; please use Cast instead ([d68b44b](https://github.com/serenity-js/serenity-js/commit/d68b44b545f50f6533523ab07008f9f89ac34433))
|
|
340
|
-
* **core:** removed deprecated interface WithStage ([45d1c2b](https://github.com/serenity-js/serenity-js/commit/45d1c2b3e0ff1946ccff97d148d0776f2fa60065))
|
|
341
|
-
* **core:** removed deprecated task to See.if ([dd5e2f5](https://github.com/serenity-js/serenity-js/commit/dd5e2f5c7e61444d40899f70d413f38bc9f6691a))
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
### Features
|
|
345
|
-
|
|
346
|
-
* **assertions:** isPresent works with any Optional ([cea75dc](https://github.com/serenity-js/serenity-js/commit/cea75dc1c728e45e06a87aaf9c1573a237334285)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
347
|
-
* **core:** `f` and `d` question description formatters ([c9f3fad](https://github.com/serenity-js/serenity-js/commit/c9f3fadd86ec0196f2cdbf76d9628bbef0a3fcba))
|
|
348
|
-
* **core:** replaced `Adapter` with `QuestionAdapter` and introduced `Optional` ([8d84ad3](https://github.com/serenity-js/serenity-js/commit/8d84ad3863e3c726533d0f21934fb1e2fa8b3022)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
349
|
-
* **core:** support for Optional chaining, expectation isPresent, refactored Expectations ([1841ee5](https://github.com/serenity-js/serenity-js/commit/1841ee5fc48cfa403ddc53358f75764d9a010c21)), closes [#1099](https://github.com/serenity-js/serenity-js/issues/1099) [#1099](https://github.com/serenity-js/serenity-js/issues/1099) [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
# [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
# [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
### Bug Fixes
|
|
361
|
-
|
|
362
|
-
* **core:** screenplay Adapters will now correctly proxy calls to function-specific object keys ([ad6f1e6](https://github.com/serenity-js/serenity-js/commit/ad6f1e655ca77d6efde4461854e54c4113ca8fdd))
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
# [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
### Bug Fixes
|
|
370
|
-
|
|
371
|
-
* **core:** you can now retrieve the .length property of an Array wrapped in an Adapter<Array> ([c36e210](https://github.com/serenity-js/serenity-js/commit/c36e210c024052b96ba47e9663c7098e269c5688))
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
# [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)
|
|
166
|
+
# [3.0.0-rc.14](https://github.com/serenity-js/serenity-js/compare/v2.33.3...v3.0.0-rc.14) (2022-03-28)
|
|
376
167
|
|
|
377
168
|
|
|
378
169
|
### Bug Fixes
|
|
379
170
|
|
|
380
|
-
* **
|
|
381
|
-
* **core:** removed interface Reducible since it's not used any more ([1e9f23b](https://github.com/serenity-js/serenity-js/commit/1e9f23b227e3c4509dd52d6885cde5d3ecd1d102))
|
|
382
|
-
* **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
|
|
383
|
-
* **web:** corrected synchronisation in Web questions and interactions ([c3a0ad1](https://github.com/serenity-js/serenity-js/commit/c3a0ad16de311e71d7e82e4f463baa0ca6b18863))
|
|
171
|
+
* **web:** auto-generated descriptions of nested PageElements are easier to read ([5a51d91](https://github.com/serenity-js/serenity-js/commit/5a51d91f0abb1c32814c219a44da51d52df77f87))
|
|
384
172
|
|
|
385
173
|
|
|
386
|
-
### Features
|
|
387
174
|
|
|
388
|
-
|
|
389
|
-
* **core:** List supports custom collectors ([cd3f2bc](https://github.com/serenity-js/serenity-js/commit/cd3f2bc1b536c8e56714aecd669bfed7ab078e0a))
|
|
390
|
-
* **core:** new implementation of List.where filters ([45b3c80](https://github.com/serenity-js/serenity-js/commit/45b3c8080ca467ac6362e5217e7899ca36a04cdc)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
391
|
-
* **core:** support for Screenplay-style collection filters and mapping (List.where & .eachMappedTo) ([3d3c02e](https://github.com/serenity-js/serenity-js/commit/3d3c02ebe0ec5c6865f91f1991fd59ef0190a16c)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
392
|
-
* **web:** re-introduced PageElements.where DSL and universal By selectors ([39fe0a1](https://github.com/serenity-js/serenity-js/commit/39fe0a10edf7f652e93911159e4a4689c36d6876)), closes [#1081](https://github.com/serenity-js/serenity-js/issues/1081)
|
|
175
|
+
# [3.0.0-rc.13](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.12...v3.0.0-rc.13) (2022-03-02)
|
|
393
176
|
|
|
394
177
|
|
|
395
178
|
|
|
396
|
-
# [3.0.0-rc.
|
|
179
|
+
# [3.0.0-rc.12](https://github.com/serenity-js/serenity-js/compare/v2.33.2...v3.0.0-rc.12) (2022-02-23)
|
|
397
180
|
|
|
398
181
|
|
|
399
182
|
|
|
400
|
-
# [3.0.0-rc.
|
|
183
|
+
# [3.0.0-rc.11](https://github.com/serenity-js/serenity-js/compare/v2.33.1...v3.0.0-rc.11) (2022-02-13)
|
|
401
184
|
|
|
402
185
|
|
|
403
186
|
### Bug Fixes
|
|
404
187
|
|
|
405
|
-
* **core:**
|
|
406
|
-
* **core:** `inspected` produces a better description of functions used as parameters ([15535c6](https://github.com/serenity-js/serenity-js/commit/15535c675469651b835c0b358649a590f2c15b5d))
|
|
407
|
-
* **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
408
|
-
* **core:** answerProxy renamed to ProxyAnswer to better reflect its purpose ([a98fe41](https://github.com/serenity-js/serenity-js/commit/a98fe41378bc8475f027946e0f01a30f4789d57a))
|
|
409
|
-
* **core:** corrected type defs of Question.as ([681ce22](https://github.com/serenity-js/serenity-js/commit/681ce22259bf75161df7ce2454f4b6d73ea87259))
|
|
410
|
-
* **core:** exported createProxyAnswer to make it easier to use ([5471989](https://github.com/serenity-js/serenity-js/commit/547198985025d0ede2ab47ea89d8944960fb980d))
|
|
411
|
-
* **core:** removed Loop as it will be replaced ([0b63d27](https://github.com/serenity-js/serenity-js/commit/0b63d27745c905001adf3c219dd0e3cf44756320))
|
|
412
|
-
* **core:** removed Property as it will be replaced by new Question ([fd7fa10](https://github.com/serenity-js/serenity-js/commit/fd7fa10dfbaa0c0cba059c5f18920609c4bac014))
|
|
413
|
-
* **core:** removed Transform and mapping functions as they'll be replaced with new Question ([506eaea](https://github.com/serenity-js/serenity-js/commit/506eaeaf2df22cfde5d7ca6a8f413fc053556c2b))
|
|
414
|
-
* **core:** renamed "Model" type to "Adapter" to better reflect its purpose ([b4ea7a1](https://github.com/serenity-js/serenity-js/commit/b4ea7a100fac2c896990bf15cbc906de641196b8)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
415
|
-
* **cucumber:** support for recognising non-Serenity AssertionErrors in older version of Cucumber ([31e9e99](https://github.com/serenity-js/serenity-js/commit/31e9e9919c2fd1e87b3f4405d9b2a6ae0164e893))
|
|
416
|
-
* **web:** wordsmithing of interface names ([5a1e76a](https://github.com/serenity-js/serenity-js/commit/5a1e76a9c162370e17238fcccc9f08e109d543c3))
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
### Features
|
|
420
|
-
|
|
421
|
-
* **core:** question.about creates a proxy around the answer to simplify the API ([25e0841](https://github.com/serenity-js/serenity-js/commit/25e084116ad28a02b55fbd8814b6ffa0375ec433))
|
|
422
|
-
* **core:** question.about produces "props" that proxy the methods of the underlying model ([f771872](https://github.com/serenity-js/serenity-js/commit/f771872c56b487e404002c3800fc8f3baaed804f))
|
|
423
|
-
* **web:** Page.url() and Page.title() replace Website.url() and Website.title() ([49fe009](https://github.com/serenity-js/serenity-js/commit/49fe0094422ab53ec67d4ba303f80c33e382eebd)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
424
|
-
* **web:** removed Target in favour of PageElement ([69496c4](https://github.com/serenity-js/serenity-js/commit/69496c47c4a1ec7b92e7ab6c83da1559e926f28e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
425
|
-
* **web:** support for working with cookies ([39cde6d](https://github.com/serenity-js/serenity-js/commit/39cde6de7a36d27a8b1c596493efbec94900af6b)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
### BREAKING CHANGES
|
|
429
|
-
|
|
430
|
-
* **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
|
|
431
|
-
modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
|
|
432
|
-
|
|
433
|
-
|
|
188
|
+
* **core:** updated dependency on error-stack-parser ([ea50285](https://github.com/serenity-js/serenity-js/commit/ea502855da40c2f95c893c75061ef6dcf12f669d))
|
|
434
189
|
|
|
435
190
|
|
|
436
191
|
|
|
@@ -555,222 +310,25 @@ modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped su
|
|
|
555
310
|
* **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
|
|
556
311
|
modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
|
|
557
312
|
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
# [3.0.0-rc.9](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.8...v3.0.0-rc.9) (2022-02-01)
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
### Features
|
|
566
|
-
|
|
567
|
-
* **web:** isVisible() works with Web elements in Shadow DOM ([cf84fb0](https://github.com/serenity-js/serenity-js/commit/cf84fb072a6b813338b68bb1dec3932ea8709e3e)), closes [#1085](https://github.com/serenity-js/serenity-js/issues/1085)
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
# [3.0.0-rc.8](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.7...v3.0.0-rc.8) (2022-01-28)
|
|
313
|
+
|
|
314
|
+
## [2.33.5](https://github.com/serenity-js/serenity-js/compare/v2.33.4...v2.33.5) (2022-04-08)
|
|
574
315
|
|
|
575
316
|
|
|
576
317
|
### Bug Fixes
|
|
577
318
|
|
|
578
|
-
* **
|
|
319
|
+
* **deps:** update dependency stackframe to ^1.2.1 ([4a09513](https://github.com/serenity-js/serenity-js/commit/4a0951396e7960fcc6fb0f9dcfc16a43f6771f23))
|
|
320
|
+
* **protractor:** simplified implementation of ProtractorFrameworkAdapter ([eaaf5d3](https://github.com/serenity-js/serenity-js/commit/eaaf5d318013486c6c0b9ce3c07cb9c6be877970))
|
|
579
321
|
|
|
580
322
|
|
|
581
323
|
|
|
582
324
|
|
|
583
325
|
|
|
584
|
-
|
|
326
|
+
## [2.33.4](https://github.com/serenity-js/serenity-js/compare/v2.33.3...v2.33.4) (2022-03-29)
|
|
585
327
|
|
|
586
328
|
|
|
587
329
|
### Bug Fixes
|
|
588
330
|
|
|
589
|
-
* **
|
|
590
|
-
* **core:** removed deprecated interface WithStage ([45d1c2b](https://github.com/serenity-js/serenity-js/commit/45d1c2b3e0ff1946ccff97d148d0776f2fa60065))
|
|
591
|
-
* **core:** removed deprecated task to See.if ([dd5e2f5](https://github.com/serenity-js/serenity-js/commit/dd5e2f5c7e61444d40899f70d413f38bc9f6691a))
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
### Features
|
|
595
|
-
|
|
596
|
-
* **assertions:** isPresent works with any Optional ([cea75dc](https://github.com/serenity-js/serenity-js/commit/cea75dc1c728e45e06a87aaf9c1573a237334285)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
597
|
-
* **core:** `f` and `d` question description formatters ([c9f3fad](https://github.com/serenity-js/serenity-js/commit/c9f3fadd86ec0196f2cdbf76d9628bbef0a3fcba))
|
|
598
|
-
* **core:** replaced `Adapter` with `QuestionAdapter` and introduced `Optional` ([8d84ad3](https://github.com/serenity-js/serenity-js/commit/8d84ad3863e3c726533d0f21934fb1e2fa8b3022)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
599
|
-
* **core:** support for Optional chaining, expectation isPresent, refactored Expectations ([1841ee5](https://github.com/serenity-js/serenity-js/commit/1841ee5fc48cfa403ddc53358f75764d9a010c21)), closes [#1099](https://github.com/serenity-js/serenity-js/issues/1099) [#1099](https://github.com/serenity-js/serenity-js/issues/1099) [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
# [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
# [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
### Bug Fixes
|
|
613
|
-
|
|
614
|
-
* **core:** screenplay Adapters will now correctly proxy calls to function-specific object keys ([ad6f1e6](https://github.com/serenity-js/serenity-js/commit/ad6f1e655ca77d6efde4461854e54c4113ca8fdd))
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
# [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
### Bug Fixes
|
|
622
|
-
|
|
623
|
-
* **core:** you can now retrieve the .length property of an Array wrapped in an Adapter<Array> ([c36e210](https://github.com/serenity-js/serenity-js/commit/c36e210c024052b96ba47e9663c7098e269c5688))
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
# [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
### Bug Fixes
|
|
631
|
-
|
|
632
|
-
* **core:** refactored Mappable so that it's easier to implement filters ([176e0cd](https://github.com/serenity-js/serenity-js/commit/176e0cd0303d63271477b2b7a8e7b0572dda99a0)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
633
|
-
* **core:** removed interface Reducible since it's not used any more ([1e9f23b](https://github.com/serenity-js/serenity-js/commit/1e9f23b227e3c4509dd52d6885cde5d3ecd1d102))
|
|
634
|
-
* **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
|
|
635
|
-
* **web:** corrected synchronisation in Web questions and interactions ([c3a0ad1](https://github.com/serenity-js/serenity-js/commit/c3a0ad16de311e71d7e82e4f463baa0ca6b18863))
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
### Features
|
|
639
|
-
|
|
640
|
-
* **core:** forEach for List and PageElements ([4592fb7](https://github.com/serenity-js/serenity-js/commit/4592fb7e700bad17fd44d91bd9db169839802d01)), closes [#823](https://github.com/serenity-js/serenity-js/issues/823)
|
|
641
|
-
* **core:** List supports custom collectors ([cd3f2bc](https://github.com/serenity-js/serenity-js/commit/cd3f2bc1b536c8e56714aecd669bfed7ab078e0a))
|
|
642
|
-
* **core:** new implementation of List.where filters ([45b3c80](https://github.com/serenity-js/serenity-js/commit/45b3c8080ca467ac6362e5217e7899ca36a04cdc)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
643
|
-
* **core:** support for Screenplay-style collection filters and mapping (List.where & .eachMappedTo) ([3d3c02e](https://github.com/serenity-js/serenity-js/commit/3d3c02ebe0ec5c6865f91f1991fd59ef0190a16c)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
644
|
-
* **web:** re-introduced PageElements.where DSL and universal By selectors ([39fe0a1](https://github.com/serenity-js/serenity-js/commit/39fe0a10edf7f652e93911159e4a4689c36d6876)), closes [#1081](https://github.com/serenity-js/serenity-js/issues/1081)
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
# [3.0.0-rc.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.0...v3.0.0-rc.1) (2021-12-09)
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
# [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
### Bug Fixes
|
|
656
|
-
|
|
657
|
-
* **core:** `formatted` can be configured to produce single- or multi-line descriptions ([21145a3](https://github.com/serenity-js/serenity-js/commit/21145a3dda17e87ea7bd950da4526b90f37a1edc))
|
|
658
|
-
* **core:** `inspected` produces a better description of functions used as parameters ([15535c6](https://github.com/serenity-js/serenity-js/commit/15535c675469651b835c0b358649a590f2c15b5d))
|
|
659
|
-
* **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
660
|
-
* **core:** answerProxy renamed to ProxyAnswer to better reflect its purpose ([a98fe41](https://github.com/serenity-js/serenity-js/commit/a98fe41378bc8475f027946e0f01a30f4789d57a))
|
|
661
|
-
* **core:** corrected type defs of Question.as ([681ce22](https://github.com/serenity-js/serenity-js/commit/681ce22259bf75161df7ce2454f4b6d73ea87259))
|
|
662
|
-
* **core:** exported createProxyAnswer to make it easier to use ([5471989](https://github.com/serenity-js/serenity-js/commit/547198985025d0ede2ab47ea89d8944960fb980d))
|
|
663
|
-
* **core:** removed Loop as it will be replaced ([0b63d27](https://github.com/serenity-js/serenity-js/commit/0b63d27745c905001adf3c219dd0e3cf44756320))
|
|
664
|
-
* **core:** removed Property as it will be replaced by new Question ([fd7fa10](https://github.com/serenity-js/serenity-js/commit/fd7fa10dfbaa0c0cba059c5f18920609c4bac014))
|
|
665
|
-
* **core:** removed Transform and mapping functions as they'll be replaced with new Question ([506eaea](https://github.com/serenity-js/serenity-js/commit/506eaeaf2df22cfde5d7ca6a8f413fc053556c2b))
|
|
666
|
-
* **core:** renamed "Model" type to "Adapter" to better reflect its purpose ([b4ea7a1](https://github.com/serenity-js/serenity-js/commit/b4ea7a100fac2c896990bf15cbc906de641196b8)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
667
|
-
* **cucumber:** support for recognising non-Serenity AssertionErrors in older version of Cucumber ([31e9e99](https://github.com/serenity-js/serenity-js/commit/31e9e9919c2fd1e87b3f4405d9b2a6ae0164e893))
|
|
668
|
-
* **web:** wordsmithing of interface names ([5a1e76a](https://github.com/serenity-js/serenity-js/commit/5a1e76a9c162370e17238fcccc9f08e109d543c3))
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
### Features
|
|
672
|
-
|
|
673
|
-
* **core:** question.about creates a proxy around the answer to simplify the API ([25e0841](https://github.com/serenity-js/serenity-js/commit/25e084116ad28a02b55fbd8814b6ffa0375ec433))
|
|
674
|
-
* **core:** question.about produces "props" that proxy the methods of the underlying model ([f771872](https://github.com/serenity-js/serenity-js/commit/f771872c56b487e404002c3800fc8f3baaed804f))
|
|
675
|
-
* **web:** Page.url() and Page.title() replace Website.url() and Website.title() ([49fe009](https://github.com/serenity-js/serenity-js/commit/49fe0094422ab53ec67d4ba303f80c33e382eebd)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
676
|
-
* **web:** removed Target in favour of PageElement ([69496c4](https://github.com/serenity-js/serenity-js/commit/69496c47c4a1ec7b92e7ab6c83da1559e926f28e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
677
|
-
* **web:** support for working with cookies ([39cde6d](https://github.com/serenity-js/serenity-js/commit/39cde6de7a36d27a8b1c596493efbec94900af6b)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
### BREAKING CHANGES
|
|
681
|
-
|
|
682
|
-
* **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
|
|
683
|
-
modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
# [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
### Bug Fixes
|
|
693
|
-
|
|
694
|
-
* **core:** screenplay Adapters will now correctly proxy calls to function-specific object keys ([ad6f1e6](https://github.com/serenity-js/serenity-js/commit/ad6f1e655ca77d6efde4461854e54c4113ca8fdd))
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
# [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
### Bug Fixes
|
|
704
|
-
|
|
705
|
-
* **core:** you can now retrieve the .length property of an Array wrapped in an Adapter<Array> ([c36e210](https://github.com/serenity-js/serenity-js/commit/c36e210c024052b96ba47e9663c7098e269c5688))
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
# [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
### Bug Fixes
|
|
715
|
-
|
|
716
|
-
* **core:** refactored Mappable so that it's easier to implement filters ([176e0cd](https://github.com/serenity-js/serenity-js/commit/176e0cd0303d63271477b2b7a8e7b0572dda99a0)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
717
|
-
* **core:** removed interface Reducible since it's not used any more ([1e9f23b](https://github.com/serenity-js/serenity-js/commit/1e9f23b227e3c4509dd52d6885cde5d3ecd1d102))
|
|
718
|
-
* **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
|
|
719
|
-
* **web:** corrected synchronisation in Web questions and interactions ([c3a0ad1](https://github.com/serenity-js/serenity-js/commit/c3a0ad16de311e71d7e82e4f463baa0ca6b18863))
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
### Features
|
|
723
|
-
|
|
724
|
-
* **core:** forEach for List and PageElements ([4592fb7](https://github.com/serenity-js/serenity-js/commit/4592fb7e700bad17fd44d91bd9db169839802d01)), closes [#823](https://github.com/serenity-js/serenity-js/issues/823)
|
|
725
|
-
* **core:** List supports custom collectors ([cd3f2bc](https://github.com/serenity-js/serenity-js/commit/cd3f2bc1b536c8e56714aecd669bfed7ab078e0a))
|
|
726
|
-
* **core:** new implementation of List.where filters ([45b3c80](https://github.com/serenity-js/serenity-js/commit/45b3c8080ca467ac6362e5217e7899ca36a04cdc)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
727
|
-
* **core:** support for Screenplay-style collection filters and mapping (List.where & .eachMappedTo) ([3d3c02e](https://github.com/serenity-js/serenity-js/commit/3d3c02ebe0ec5c6865f91f1991fd59ef0190a16c)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
728
|
-
* **web:** re-introduced PageElements.where DSL and universal By selectors ([39fe0a1](https://github.com/serenity-js/serenity-js/commit/39fe0a10edf7f652e93911159e4a4689c36d6876)), closes [#1081](https://github.com/serenity-js/serenity-js/issues/1081)
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
# [3.0.0-rc.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.0...v3.0.0-rc.1) (2021-12-09)
|
|
735
|
-
|
|
736
|
-
**Note:** Version bump only for package @serenity-js/core
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
# [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
### Bug Fixes
|
|
746
|
-
|
|
747
|
-
* **core:** `formatted` can be configured to produce single- or multi-line descriptions ([21145a3](https://github.com/serenity-js/serenity-js/commit/21145a3dda17e87ea7bd950da4526b90f37a1edc))
|
|
748
|
-
* **core:** `inspected` produces a better description of functions used as parameters ([15535c6](https://github.com/serenity-js/serenity-js/commit/15535c675469651b835c0b358649a590f2c15b5d))
|
|
749
|
-
* **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
750
|
-
* **core:** answerProxy renamed to ProxyAnswer to better reflect its purpose ([a98fe41](https://github.com/serenity-js/serenity-js/commit/a98fe41378bc8475f027946e0f01a30f4789d57a))
|
|
751
|
-
* **core:** corrected type defs of Question.as ([681ce22](https://github.com/serenity-js/serenity-js/commit/681ce22259bf75161df7ce2454f4b6d73ea87259))
|
|
752
|
-
* **core:** exported createProxyAnswer to make it easier to use ([5471989](https://github.com/serenity-js/serenity-js/commit/547198985025d0ede2ab47ea89d8944960fb980d))
|
|
753
|
-
* **core:** removed Loop as it will be replaced ([0b63d27](https://github.com/serenity-js/serenity-js/commit/0b63d27745c905001adf3c219dd0e3cf44756320))
|
|
754
|
-
* **core:** removed Property as it will be replaced by new Question ([fd7fa10](https://github.com/serenity-js/serenity-js/commit/fd7fa10dfbaa0c0cba059c5f18920609c4bac014))
|
|
755
|
-
* **core:** removed Transform and mapping functions as they'll be replaced with new Question ([506eaea](https://github.com/serenity-js/serenity-js/commit/506eaeaf2df22cfde5d7ca6a8f413fc053556c2b))
|
|
756
|
-
* **core:** renamed "Model" type to "Adapter" to better reflect its purpose ([b4ea7a1](https://github.com/serenity-js/serenity-js/commit/b4ea7a100fac2c896990bf15cbc906de641196b8)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
757
|
-
* **cucumber:** support for recognising non-Serenity AssertionErrors in older version of Cucumber ([31e9e99](https://github.com/serenity-js/serenity-js/commit/31e9e9919c2fd1e87b3f4405d9b2a6ae0164e893))
|
|
758
|
-
* **web:** wordsmithing of interface names ([5a1e76a](https://github.com/serenity-js/serenity-js/commit/5a1e76a9c162370e17238fcccc9f08e109d543c3))
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
### Features
|
|
762
|
-
|
|
763
|
-
* **core:** question.about creates a proxy around the answer to simplify the API ([25e0841](https://github.com/serenity-js/serenity-js/commit/25e084116ad28a02b55fbd8814b6ffa0375ec433))
|
|
764
|
-
* **core:** question.about produces "props" that proxy the methods of the underlying model ([f771872](https://github.com/serenity-js/serenity-js/commit/f771872c56b487e404002c3800fc8f3baaed804f))
|
|
765
|
-
* **web:** Page.url() and Page.title() replace Website.url() and Website.title() ([49fe009](https://github.com/serenity-js/serenity-js/commit/49fe0094422ab53ec67d4ba303f80c33e382eebd)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
766
|
-
* **web:** removed Target in favour of PageElement ([69496c4](https://github.com/serenity-js/serenity-js/commit/69496c47c4a1ec7b92e7ab6c83da1559e926f28e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
767
|
-
* **web:** support for working with cookies ([39cde6d](https://github.com/serenity-js/serenity-js/commit/39cde6de7a36d27a8b1c596493efbec94900af6b)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
### BREAKING CHANGES
|
|
771
|
-
|
|
772
|
-
* **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
|
|
773
|
-
modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
|
|
331
|
+
* **serenity-bdd:** corrected reporting of interactions that occur in beforeAll hooks ([74ec88e](https://github.com/serenity-js/serenity-js/commit/74ec88e5976daebda9bf2e5d5b4b553d59a18672)), closes [#1162](https://github.com/serenity-js/serenity-js/issues/1162)
|
|
774
332
|
|
|
775
333
|
|
|
776
334
|
|
|
@@ -20,7 +20,7 @@ export interface Activity {
|
|
|
20
20
|
* @see {@link UsesAbilities}
|
|
21
21
|
* @see {@link AnswersQuestions}
|
|
22
22
|
*/
|
|
23
|
-
performAs(actor: PerformsActivities | UsesAbilities | AnswersQuestions):
|
|
23
|
+
performAs(actor: PerformsActivities | UsesAbilities | AnswersQuestions): Promise<any>;
|
|
24
24
|
/**
|
|
25
25
|
* @desc
|
|
26
26
|
* Generates a description to be used when reporting this Activity.
|
|
@@ -10,7 +10,7 @@ import { AnswersQuestions, CollectsArtifacts, UsesAbilities } from './actor';
|
|
|
10
10
|
* @see {@link Actor}
|
|
11
11
|
*/
|
|
12
12
|
export declare abstract class Interaction implements Activity {
|
|
13
|
-
static where(description: string, interaction: (actor: UsesAbilities & AnswersQuestions & CollectsArtifacts) =>
|
|
13
|
+
static where(description: string, interaction: (actor: UsesAbilities & AnswersQuestions & CollectsArtifacts) => Promise<void> | void): Interaction;
|
|
14
14
|
/**
|
|
15
15
|
* @desc
|
|
16
16
|
* Makes the provided {@link Actor}
|
|
@@ -23,5 +23,5 @@ export declare abstract class Interaction implements Activity {
|
|
|
23
23
|
* @see {@link UsesAbilities}
|
|
24
24
|
* @see {@link AnswersQuestions}
|
|
25
25
|
*/
|
|
26
|
-
abstract performAs(actor: UsesAbilities & AnswersQuestions):
|
|
26
|
+
abstract performAs(actor: UsesAbilities & AnswersQuestions): Promise<void>;
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Interaction.js","sourceRoot":"","sources":["../../src/screenplay/Interaction.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;GAQG;AACH,MAAsB,WAAW;IAC7B,MAAM,CAAC,KAAK,CACR,WAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"Interaction.js","sourceRoot":"","sources":["../../src/screenplay/Interaction.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;GAQG;AACH,MAAsB,WAAW;IAC7B,MAAM,CAAC,KAAK,CACR,WAAmB,EACnB,WAAkG;QAElG,OAAO,IAAI,+BAA+B,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC;CAeJ;AArBD,kCAqBC;AAED;;GAEG;AACH,MAAM,+BAAgC,SAAQ,WAAW;IACrD,YACqB,WAAmB,EACnB,WAAkG;QAEnH,KAAK,EAAE,CAAC;QAHS,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAuF;IAGvH,CAAC;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,KAAY;QAClB,IAAI;YACA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;SACnD;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAChC;IACL,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ"}
|
package/lib/screenplay/Task.d.ts
CHANGED
|
@@ -12,6 +12,6 @@ export declare class TrackedActivity implements Activity {
|
|
|
12
12
|
constructor(activity: Activity, stage: Stage);
|
|
13
13
|
performAs(actor: (PerformsActivities | UsesAbilities | AnswersQuestions) & {
|
|
14
14
|
name: string;
|
|
15
|
-
}):
|
|
15
|
+
}): Promise<void>;
|
|
16
16
|
toString(): string;
|
|
17
17
|
}
|
|
@@ -76,7 +76,7 @@ export declare class TakeNote<Answer> extends Interaction {
|
|
|
76
76
|
* @see {@link UsesAbilities}
|
|
77
77
|
* @see {@link AnswersQuestions}
|
|
78
78
|
*/
|
|
79
|
-
performAs(actor: UsesAbilities & AnswersQuestions):
|
|
79
|
+
performAs(actor: UsesAbilities & AnswersQuestions): Promise<void>;
|
|
80
80
|
/**
|
|
81
81
|
* @desc
|
|
82
82
|
* Generates a description to be used when reporting this {@link Activity}.
|
package/lib/stage/Stage.d.ts
CHANGED
|
@@ -17,6 +17,10 @@ import { StageManager } from './StageManager';
|
|
|
17
17
|
export declare class Stage {
|
|
18
18
|
private cast;
|
|
19
19
|
private readonly manager;
|
|
20
|
+
/**
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
private static readonly unknownSceneId;
|
|
20
24
|
/**
|
|
21
25
|
* @desc
|
|
22
26
|
* Actors instantiated after the scene has started,
|
package/lib/stage/Stage.js
CHANGED
|
@@ -49,7 +49,7 @@ class Stage {
|
|
|
49
49
|
*/
|
|
50
50
|
this.actorInTheSpotlight = undefined;
|
|
51
51
|
this.currentActivity = undefined;
|
|
52
|
-
this.currentScene =
|
|
52
|
+
this.currentScene = Stage.unknownSceneId;
|
|
53
53
|
(0, tiny_types_1.ensure)('Cast', cast, (0, tiny_types_1.isDefined)());
|
|
54
54
|
(0, tiny_types_1.ensure)('StageManager', manager, (0, tiny_types_1.isDefined)());
|
|
55
55
|
}
|
|
@@ -268,4 +268,8 @@ class Stage {
|
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
exports.Stage = Stage;
|
|
271
|
+
/**
|
|
272
|
+
* @private
|
|
273
|
+
*/
|
|
274
|
+
Stage.unknownSceneId = new model_1.CorrelationId('unknown');
|
|
271
275
|
//# sourceMappingURL=Stage.js.map
|
package/lib/stage/Stage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../src/stage/Stage.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAE/C,sCAA2D;AAC3D,sCAA6J;AAC7J,oCAAiE;AACjE,+CAA4C;AAK5C;;;;;;;;;GASG;AACH,MAAa,KAAK;
|
|
1
|
+
{"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../src/stage/Stage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serenity-js/core",
|
|
3
|
-
"version": "3.0.0-rc.
|
|
3
|
+
"version": "3.0.0-rc.15",
|
|
4
4
|
"description": "Serenity/JS Screenplay, reporting engine and core interfaces.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jan Molak",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"graceful-fs": "^4.2.9",
|
|
43
43
|
"moment": "^2.29.1",
|
|
44
44
|
"semver": "^7.3.5",
|
|
45
|
-
"stackframe": "^1.2.
|
|
45
|
+
"stackframe": "^1.2.1",
|
|
46
46
|
"tiny-types": "^1.17.0",
|
|
47
47
|
"upath": "^2.0.1"
|
|
48
48
|
},
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"memfs": "^3.4.1",
|
|
59
59
|
"mocha": "^9.2.2",
|
|
60
60
|
"ts-node": "^10.7.0",
|
|
61
|
-
"typescript": "^4.6.
|
|
61
|
+
"typescript": "^4.6.3"
|
|
62
62
|
},
|
|
63
63
|
"repository": {
|
|
64
64
|
"type": "git",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"node": "^14 || ^16",
|
|
73
73
|
"npm": "^6 || ^7 || ^8"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "e52f8f2597f4ebf1062c752fbd9700439072d38d"
|
|
76
76
|
}
|
|
@@ -22,7 +22,7 @@ export interface Activity {
|
|
|
22
22
|
* @see {@link UsesAbilities}
|
|
23
23
|
* @see {@link AnswersQuestions}
|
|
24
24
|
*/
|
|
25
|
-
performAs(actor: PerformsActivities | UsesAbilities | AnswersQuestions):
|
|
25
|
+
performAs(actor: PerformsActivities | UsesAbilities | AnswersQuestions): Promise<any>;
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* @desc
|
|
@@ -13,7 +13,7 @@ import { Actor, AnswersQuestions, CollectsArtifacts, UsesAbilities } from './act
|
|
|
13
13
|
export abstract class Interaction implements Activity {
|
|
14
14
|
static where(
|
|
15
15
|
description: string,
|
|
16
|
-
interaction: (actor: UsesAbilities & AnswersQuestions & CollectsArtifacts) =>
|
|
16
|
+
interaction: (actor: UsesAbilities & AnswersQuestions & CollectsArtifacts) => Promise<void> | void,
|
|
17
17
|
): Interaction {
|
|
18
18
|
return new DynamicallyGeneratedInteraction(description, interaction);
|
|
19
19
|
}
|
|
@@ -30,7 +30,7 @@ export abstract class Interaction implements Activity {
|
|
|
30
30
|
* @see {@link UsesAbilities}
|
|
31
31
|
* @see {@link AnswersQuestions}
|
|
32
32
|
*/
|
|
33
|
-
abstract performAs(actor: UsesAbilities & AnswersQuestions):
|
|
33
|
+
abstract performAs(actor: UsesAbilities & AnswersQuestions): Promise<void>;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
/**
|
|
@@ -39,7 +39,7 @@ export abstract class Interaction implements Activity {
|
|
|
39
39
|
class DynamicallyGeneratedInteraction extends Interaction {
|
|
40
40
|
constructor(
|
|
41
41
|
private readonly description: string,
|
|
42
|
-
private readonly interaction: (actor: UsesAbilities & AnswersQuestions & CollectsArtifacts) =>
|
|
42
|
+
private readonly interaction: (actor: UsesAbilities & AnswersQuestions & CollectsArtifacts) => Promise<void> | void,
|
|
43
43
|
) {
|
|
44
44
|
super();
|
|
45
45
|
}
|
|
@@ -54,7 +54,7 @@ class DynamicallyGeneratedInteraction extends Interaction {
|
|
|
54
54
|
*
|
|
55
55
|
* @see {@link Actor}
|
|
56
56
|
*/
|
|
57
|
-
performAs(actor: Actor):
|
|
57
|
+
performAs(actor: Actor): Promise<void> {
|
|
58
58
|
try {
|
|
59
59
|
return Promise.resolve(this.interaction(actor));
|
|
60
60
|
} catch (error) {
|
package/src/screenplay/Task.ts
CHANGED
|
@@ -59,7 +59,7 @@ export abstract class Task implements Activity {
|
|
|
59
59
|
* @see {@link Actor}
|
|
60
60
|
* @see {@link PerformsActivities}
|
|
61
61
|
*/
|
|
62
|
-
abstract performAs(actor: PerformsActivities):
|
|
62
|
+
abstract performAs(actor: PerformsActivities): Promise<void>;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
/**
|
|
@@ -81,7 +81,7 @@ class DynamicallyGeneratedTask extends Task {
|
|
|
81
81
|
* @see {@link Actor}
|
|
82
82
|
* @see {@link PerformsActivities}
|
|
83
83
|
*/
|
|
84
|
-
performAs(actor: PerformsActivities):
|
|
84
|
+
performAs(actor: PerformsActivities): Promise<void> {
|
|
85
85
|
return actor.attemptsTo(...this.activities);
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -115,7 +115,7 @@ class NotImplementedTask extends Task {
|
|
|
115
115
|
* @see {@link Actor}
|
|
116
116
|
* @see {@link PerformsActivities}
|
|
117
117
|
*/
|
|
118
|
-
performAs(actor: PerformsActivities):
|
|
118
|
+
performAs(actor: PerformsActivities): Promise<void> {
|
|
119
119
|
return Promise.reject(
|
|
120
120
|
new ImplementationPendingError(`A task where "${ this.toString() }" has not been implemented yet`),
|
|
121
121
|
);
|
|
@@ -19,7 +19,7 @@ export class TrackedActivity implements Activity {
|
|
|
19
19
|
) {
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
performAs(actor: (PerformsActivities | UsesAbilities | AnswersQuestions) & { name: string }):
|
|
22
|
+
performAs(actor: (PerformsActivities | UsesAbilities | AnswersQuestions) & { name: string }): Promise<void> {
|
|
23
23
|
const
|
|
24
24
|
sceneId = this.stage.currentSceneId(),
|
|
25
25
|
activityId = this.stage.assignNewActivityId(),
|
|
@@ -90,7 +90,7 @@ export class TakeNote<Answer> extends Interaction {
|
|
|
90
90
|
* @see {@link UsesAbilities}
|
|
91
91
|
* @see {@link AnswersQuestions}
|
|
92
92
|
*/
|
|
93
|
-
performAs(actor: UsesAbilities & AnswersQuestions):
|
|
93
|
+
performAs(actor: UsesAbilities & AnswersQuestions): Promise<void> {
|
|
94
94
|
return actor.answer(this.question)
|
|
95
95
|
.then(answer => TakeNotes.as(actor).record(this.subject, answer));
|
|
96
96
|
}
|
package/src/stage/Stage.ts
CHANGED
|
@@ -19,6 +19,10 @@ import { StageManager } from './StageManager';
|
|
|
19
19
|
* @see {@link engage}
|
|
20
20
|
*/
|
|
21
21
|
export class Stage {
|
|
22
|
+
/**
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
private static readonly unknownSceneId = new CorrelationId('unknown')
|
|
22
26
|
|
|
23
27
|
/**
|
|
24
28
|
* @desc
|
|
@@ -49,7 +53,7 @@ export class Stage {
|
|
|
49
53
|
private actorInTheSpotlight: Actor = undefined;
|
|
50
54
|
|
|
51
55
|
private currentActivity: CorrelationId = undefined;
|
|
52
|
-
private currentScene: CorrelationId =
|
|
56
|
+
private currentScene: CorrelationId = Stage.unknownSceneId;
|
|
53
57
|
|
|
54
58
|
/**
|
|
55
59
|
* @param {Cast} cast
|