@serenity-js/core 3.7.2 → 3.9.0
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 +27 -0
- package/lib/events/ActivityRelatedArtifactArchived.d.ts +1 -1
- package/lib/events/ActivityRelatedArtifactArchived.d.ts.map +1 -1
- package/lib/events/ActivityRelatedArtifactArchived.js +4 -3
- package/lib/events/ActivityRelatedArtifactArchived.js.map +1 -1
- package/lib/events/ArtifactArchived.d.ts +2 -1
- package/lib/events/ArtifactArchived.d.ts.map +1 -1
- package/lib/events/ArtifactArchived.js +5 -2
- package/lib/events/ArtifactArchived.js.map +1 -1
- package/lib/screenplay/Question.d.ts +18 -5
- package/lib/screenplay/Question.d.ts.map +1 -1
- package/lib/screenplay/Question.js +22 -20
- package/lib/screenplay/Question.js.map +1 -1
- package/lib/screenplay/questions/MetaQuestion.d.ts +8 -7
- package/lib/screenplay/questions/MetaQuestion.d.ts.map +1 -1
- package/lib/stage/crew/artifact-archiver/ArtifactArchiver.d.ts +39 -19
- package/lib/stage/crew/artifact-archiver/ArtifactArchiver.d.ts.map +1 -1
- package/lib/stage/crew/artifact-archiver/ArtifactArchiver.js +41 -21
- package/lib/stage/crew/artifact-archiver/ArtifactArchiver.js.map +1 -1
- package/lib/stage/crew/stream-reporter/StreamReporter.d.ts +44 -16
- package/lib/stage/crew/stream-reporter/StreamReporter.d.ts.map +1 -1
- package/lib/stage/crew/stream-reporter/StreamReporter.js +48 -16
- package/lib/stage/crew/stream-reporter/StreamReporter.js.map +1 -1
- package/package.json +2 -2
- package/src/events/ActivityRelatedArtifactArchived.ts +4 -1
- package/src/events/ArtifactArchived.ts +4 -0
- package/src/screenplay/Question.ts +67 -8
- package/src/screenplay/questions/MetaQuestion.ts +8 -7
- package/src/stage/crew/artifact-archiver/ArtifactArchiver.ts +43 -19
- package/src/stage/crew/stream-reporter/StreamReporter.ts +51 -16
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,33 @@
|
|
|
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.9.0](https://github.com/serenity-js/serenity-js/compare/v3.8.0...v3.9.0) (2023-08-04)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **core:** introduced MetaQuestionAdapter ([b6676fd](https://github.com/serenity-js/serenity-js/commit/b6676fd6ee2a2f67fd56e0642b3af72027d50a75))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [3.8.0](https://github.com/serenity-js/serenity-js/compare/v3.7.2...v3.8.0) (2023-08-01)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **serenity-bdd:** corrected screenshot sort order in screenshot detail viewer ([7537622](https://github.com/serenity-js/serenity-js/commit/7537622d41193e3cf358a1b939c7422bcc3b207f)), closes [#1790](https://github.com/serenity-js/serenity-js/issues/1790)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* **core:** allow for easier debugging of Serenity/JS domain events using StreamReporter ([108677e](https://github.com/serenity-js/serenity-js/commit/108677e213423004127b6752301e73f66231030e)), closes [#1790](https://github.com/serenity-js/serenity-js/issues/1790)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
6
33
|
## [3.7.2](https://github.com/serenity-js/serenity-js/compare/v3.7.1...v3.7.2) (2023-07-26)
|
|
7
34
|
|
|
8
35
|
|
|
@@ -10,7 +10,7 @@ import { ArtifactArchived } from './ArtifactArchived';
|
|
|
10
10
|
export declare class ActivityRelatedArtifactArchived extends ArtifactArchived {
|
|
11
11
|
readonly activityId: CorrelationId;
|
|
12
12
|
static fromJSON(o: JSONObject): ActivityRelatedArtifactArchived;
|
|
13
|
-
constructor(sceneId: CorrelationId, activityId: CorrelationId, name: Name, type: ArtifactType, path: Path, timestamp?: Timestamp);
|
|
13
|
+
constructor(sceneId: CorrelationId, activityId: CorrelationId, name: Name, type: ArtifactType, path: Path, artifactTimestamp: Timestamp, timestamp?: Timestamp);
|
|
14
14
|
toJSON(): JSONObject;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=ActivityRelatedArtifactArchived.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityRelatedArtifactArchived.d.ts","sourceRoot":"","sources":["../../src/events/ActivityRelatedArtifactArchived.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAY,aAAa,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"ActivityRelatedArtifactArchived.d.ts","sourceRoot":"","sources":["../../src/events/ActivityRelatedArtifactArchived.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAY,aAAa,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,gBAAgB;aAe7C,UAAU,EAAE,aAAa;IAd7C,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,+BAA+B;gBAa3D,OAAO,EAAE,aAAa,EACN,UAAU,EAAE,aAAa,EACzC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,SAAS,EAC5B,SAAS,CAAC,EAAE,SAAS;IAMzB,MAAM,IAAI,UAAU;CAWvB"}
|
|
@@ -14,10 +14,10 @@ const ArtifactArchived_1 = require("./ArtifactArchived");
|
|
|
14
14
|
*/
|
|
15
15
|
class ActivityRelatedArtifactArchived extends ArtifactArchived_1.ArtifactArchived {
|
|
16
16
|
static fromJSON(o) {
|
|
17
|
-
return new ActivityRelatedArtifactArchived(model_1.CorrelationId.fromJSON(o.sceneId), model_1.CorrelationId.fromJSON(o.activityId), model_1.Name.fromJSON(o.name), model_1.Artifact.ofType(o.type), io_1.Path.fromJSON(o.path), screenplay_1.Timestamp.fromJSON(o.timestamp));
|
|
17
|
+
return new ActivityRelatedArtifactArchived(model_1.CorrelationId.fromJSON(o.sceneId), model_1.CorrelationId.fromJSON(o.activityId), model_1.Name.fromJSON(o.name), model_1.Artifact.ofType(o.type), io_1.Path.fromJSON(o.path), screenplay_1.Timestamp.fromJSON(o.artifactTimestamp), screenplay_1.Timestamp.fromJSON(o.timestamp));
|
|
18
18
|
}
|
|
19
|
-
constructor(sceneId, activityId, name, type, path, timestamp) {
|
|
20
|
-
super(sceneId, name, type, path, timestamp);
|
|
19
|
+
constructor(sceneId, activityId, name, type, path, artifactTimestamp, timestamp) {
|
|
20
|
+
super(sceneId, name, type, path, artifactTimestamp, timestamp);
|
|
21
21
|
this.activityId = activityId;
|
|
22
22
|
(0, tiny_types_1.ensure)('activityId', activityId, (0, tiny_types_1.isDefined)());
|
|
23
23
|
}
|
|
@@ -28,6 +28,7 @@ class ActivityRelatedArtifactArchived extends ArtifactArchived_1.ArtifactArchive
|
|
|
28
28
|
name: this.name.toJSON(),
|
|
29
29
|
type: this.type.name,
|
|
30
30
|
path: this.path.toJSON(),
|
|
31
|
+
artifactTimestamp: this.artifactTimestamp.toJSON(),
|
|
31
32
|
timestamp: this.timestamp.toJSON(),
|
|
32
33
|
};
|
|
33
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityRelatedArtifactArchived.js","sourceRoot":"","sources":["../../src/events/ActivityRelatedArtifactArchived.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAE/C,8BAA6B;AAE7B,oCAAyD;AACzD,8CAA0C;AAC1C,yDAAsD;AAEtD,kDAAkD;AAClD,+BAA+B;AAC/B,4BAA4B;AAE5B;;GAEG;AACH,MAAa,+BAAgC,SAAQ,mCAAgB;IACjE,MAAM,CAAC,QAAQ,CAAC,CAAa;QACzB,OAAO,IAAI,+BAA+B,CACtC,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAiB,CAAC,EAC3C,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAoB,CAAC,EAC9C,YAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAc,CAAC,EAC/B,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAc,CAAC,EACjC,SAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAc,CAAC,EAC/B,sBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAmB,CAAC,CAC5C,CAAC;IACN,CAAC;IAED,YACI,OAAsB,EACN,UAAyB,EACzC,IAAU,EACV,IAAkB,EAClB,IAAU,EACV,SAAqB;QAErB,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ActivityRelatedArtifactArchived.js","sourceRoot":"","sources":["../../src/events/ActivityRelatedArtifactArchived.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAE/C,8BAA6B;AAE7B,oCAAyD;AACzD,8CAA0C;AAC1C,yDAAsD;AAEtD,kDAAkD;AAClD,+BAA+B;AAC/B,4BAA4B;AAE5B;;GAEG;AACH,MAAa,+BAAgC,SAAQ,mCAAgB;IACjE,MAAM,CAAC,QAAQ,CAAC,CAAa;QACzB,OAAO,IAAI,+BAA+B,CACtC,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAiB,CAAC,EAC3C,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAoB,CAAC,EAC9C,YAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAc,CAAC,EAC/B,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAc,CAAC,EACjC,SAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAc,CAAC,EAC/B,sBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAA2B,CAAC,EACjD,sBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAmB,CAAC,CAC5C,CAAC;IACN,CAAC;IAED,YACI,OAAsB,EACN,UAAyB,EACzC,IAAU,EACV,IAAkB,EAClB,IAAU,EACV,iBAA4B,EAC5B,SAAqB;QAErB,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAP/C,eAAU,GAAV,UAAU,CAAe;QAQzC,IAAA,mBAAM,EAAC,YAAY,EAAE,UAAU,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACF,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAClD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;SACrC,CAAC;IACN,CAAC;CACJ;AArCD,0EAqCC"}
|
|
@@ -12,8 +12,9 @@ export declare class ArtifactArchived extends DomainEvent {
|
|
|
12
12
|
readonly name: Name;
|
|
13
13
|
readonly type: ArtifactType;
|
|
14
14
|
readonly path: Path;
|
|
15
|
+
readonly artifactTimestamp: Timestamp;
|
|
15
16
|
static fromJSON(o: JSONObject): ArtifactArchived;
|
|
16
|
-
constructor(sceneId: CorrelationId, name: Name, type: ArtifactType, path: Path, timestamp?: Timestamp);
|
|
17
|
+
constructor(sceneId: CorrelationId, name: Name, type: ArtifactType, path: Path, artifactTimestamp: Timestamp, timestamp?: Timestamp);
|
|
17
18
|
toJSON(): JSONObject;
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=ArtifactArchived.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactArchived.d.ts","sourceRoot":"","sources":["../../src/events/ArtifactArchived.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAY,aAAa,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;
|
|
1
|
+
{"version":3,"file":"ArtifactArchived.d.ts","sourceRoot":"","sources":["../../src/events/ArtifactArchived.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAY,aAAa,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;aAazB,OAAO,EAAE,aAAa;aACtB,IAAI,EAAE,IAAI;aACV,IAAI,EAAE,YAAY;aAClB,IAAI,EAAE,IAAI;aACV,iBAAiB,EAAE,SAAS;IAhBhD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,gBAAgB;gBAY5B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,SAAS,EAC5C,SAAS,CAAC,EAAE,SAAS;IAWzB,MAAM,IAAI,UAAU;CASvB"}
|
|
@@ -11,24 +11,27 @@ const DomainEvent_1 = require("./DomainEvent");
|
|
|
11
11
|
*/
|
|
12
12
|
class ArtifactArchived extends DomainEvent_1.DomainEvent {
|
|
13
13
|
static fromJSON(o) {
|
|
14
|
-
return new ArtifactArchived(model_1.CorrelationId.fromJSON(o.sceneId), model_1.Name.fromJSON(o.name), model_1.Artifact.ofType(o.type), io_1.Path.fromJSON(o.path), screenplay_1.Timestamp.fromJSON(o.timestamp));
|
|
14
|
+
return new ArtifactArchived(model_1.CorrelationId.fromJSON(o.sceneId), model_1.Name.fromJSON(o.name), model_1.Artifact.ofType(o.type), io_1.Path.fromJSON(o.path), screenplay_1.Timestamp.fromJSON(o.artifactTimestamp), screenplay_1.Timestamp.fromJSON(o.timestamp));
|
|
15
15
|
}
|
|
16
|
-
constructor(sceneId, name, type, path, timestamp) {
|
|
16
|
+
constructor(sceneId, name, type, path, artifactTimestamp, timestamp) {
|
|
17
17
|
super(timestamp);
|
|
18
18
|
this.sceneId = sceneId;
|
|
19
19
|
this.name = name;
|
|
20
20
|
this.type = type;
|
|
21
21
|
this.path = path;
|
|
22
|
+
this.artifactTimestamp = artifactTimestamp;
|
|
22
23
|
(0, tiny_types_1.ensure)('sceneId', sceneId, (0, tiny_types_1.isDefined)());
|
|
23
24
|
(0, tiny_types_1.ensure)('name', name, (0, tiny_types_1.isDefined)());
|
|
24
25
|
(0, tiny_types_1.ensure)('type', type, (0, tiny_types_1.isDefined)());
|
|
25
26
|
(0, tiny_types_1.ensure)('path', path, (0, tiny_types_1.isDefined)());
|
|
27
|
+
(0, tiny_types_1.ensure)('artifactTimestamp', artifactTimestamp, (0, tiny_types_1.isDefined)());
|
|
26
28
|
}
|
|
27
29
|
toJSON() {
|
|
28
30
|
return {
|
|
29
31
|
name: this.name.toJSON(),
|
|
30
32
|
type: this.type.name,
|
|
31
33
|
path: this.path.toJSON(),
|
|
34
|
+
createdAt: this.artifactTimestamp.toJSON(),
|
|
32
35
|
timestamp: this.timestamp.toJSON(),
|
|
33
36
|
};
|
|
34
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactArchived.js","sourceRoot":"","sources":["../../src/events/ArtifactArchived.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAE/C,8BAA6B;AAE7B,oCAAyD;AACzD,8CAA0C;AAC1C,+CAA4C;AAE5C;;GAEG;AACH,MAAa,gBAAiB,SAAQ,yBAAW;IAC7C,MAAM,CAAC,QAAQ,CAAC,CAAa;QACzB,OAAO,IAAI,gBAAgB,CACvB,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAiB,CAAC,EAC3C,YAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAc,CAAC,EAC/B,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAc,CAAC,EACjC,SAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAc,CAAC,EAC/B,sBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAmB,CAAC,CAC5C,CAAC;IACN,CAAC;IAED,YACoB,OAAsB,EACtB,IAAU,EACV,IAAkB,EAClB,IAAU,
|
|
1
|
+
{"version":3,"file":"ArtifactArchived.js","sourceRoot":"","sources":["../../src/events/ArtifactArchived.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAE/C,8BAA6B;AAE7B,oCAAyD;AACzD,8CAA0C;AAC1C,+CAA4C;AAE5C;;GAEG;AACH,MAAa,gBAAiB,SAAQ,yBAAW;IAC7C,MAAM,CAAC,QAAQ,CAAC,CAAa;QACzB,OAAO,IAAI,gBAAgB,CACvB,qBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAiB,CAAC,EAC3C,YAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAc,CAAC,EAC/B,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAc,CAAC,EACjC,SAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAc,CAAC,EAC/B,sBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAA2B,CAAC,EACjD,sBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAmB,CAAC,CAC5C,CAAC;IACN,CAAC;IAED,YACoB,OAAsB,EACtB,IAAU,EACV,IAAkB,EAClB,IAAU,EACV,iBAA4B,EAC5C,SAAqB;QAErB,KAAK,CAAC,SAAS,CAAC,CAAC;QAPD,YAAO,GAAP,OAAO,CAAe;QACtB,SAAI,GAAJ,IAAI,CAAM;QACV,SAAI,GAAJ,IAAI,CAAc;QAClB,SAAI,GAAJ,IAAI,CAAM;QACV,sBAAiB,GAAjB,iBAAiB,CAAW;QAK5C,IAAA,mBAAM,EAAC,SAAS,EAAE,OAAO,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QACxC,IAAA,mBAAM,EAAC,MAAM,EAAE,IAAI,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QAClC,IAAA,mBAAM,EAAC,MAAM,EAAE,IAAI,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QAClC,IAAA,mBAAM,EAAC,MAAM,EAAE,IAAI,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;QAClC,IAAA,mBAAM,EAAC,mBAAmB,EAAE,iBAAiB,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACxB,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAC1C,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;SACrC,CAAC;IACN,CAAC;CACJ;AAtCD,4CAsCC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as util from 'util';
|
|
3
|
+
import type { FileSystemLocation } from '../io';
|
|
3
4
|
import type { UsesAbilities } from './abilities';
|
|
4
5
|
import type { Answerable } from './Answerable';
|
|
5
6
|
import { Interaction } from './Interaction';
|
|
6
7
|
import type { Optional } from './Optional';
|
|
7
8
|
import type { AnswersQuestions } from './questions/AnswersQuestions';
|
|
9
|
+
import type { MetaQuestion } from './questions/MetaQuestion';
|
|
8
10
|
import type { RecursivelyAnswered } from './RecursivelyAnswered';
|
|
9
11
|
import type { WithAnswerableProperties } from './WithAnswerableProperties';
|
|
10
12
|
/**
|
|
@@ -117,8 +119,10 @@ export declare abstract class Question<T> {
|
|
|
117
119
|
*
|
|
118
120
|
* @param description
|
|
119
121
|
* @param body
|
|
122
|
+
* @param [metaQuestionBody]
|
|
120
123
|
*/
|
|
121
|
-
static about<
|
|
124
|
+
static about<Answer_Type, Supported_Context_Type>(description: string, body: (actor: AnswersQuestions & UsesAbilities) => Promise<Answer_Type> | Answer_Type, metaQuestionBody: (answerable: Answerable<Supported_Context_Type>) => Question<Promise<Answer_Type>> | Question<Answer_Type>): MetaQuestionAdapter<Supported_Context_Type, Awaited<Answer_Type>>;
|
|
125
|
+
static about<Answer_Type>(description: string, body: (actor: AnswersQuestions & UsesAbilities) => Promise<Answer_Type> | Answer_Type): QuestionAdapter<Awaited<Answer_Type>>;
|
|
122
126
|
/**
|
|
123
127
|
* Generates a {@apilink QuestionAdapter} that recursively resolves
|
|
124
128
|
* any {@apilink Answerable} fields of the provided object,
|
|
@@ -244,15 +248,24 @@ export type QuestionAdapterFieldDecorator<Original_Type> = {
|
|
|
244
248
|
*
|
|
245
249
|
* @group Questions
|
|
246
250
|
*/
|
|
247
|
-
export type QuestionAdapter<
|
|
251
|
+
export type QuestionAdapter<Answer_Type> = Question<Promise<Answer_Type>> & Interaction & {
|
|
248
252
|
isPresent(): Question<Promise<boolean>>;
|
|
249
|
-
} & QuestionAdapterFieldDecorator<
|
|
250
|
-
/**
|
|
253
|
+
} & QuestionAdapterFieldDecorator<Answer_Type>;
|
|
254
|
+
/**
|
|
255
|
+
* An extension of {@apilink QuestionAdapter}, that in addition to proxying methods and fields
|
|
256
|
+
* of the wrapped object can also act as a {@apilink MetaQuestion}.
|
|
257
|
+
*
|
|
258
|
+
* @group Questions
|
|
259
|
+
*/
|
|
260
|
+
export type MetaQuestionAdapter<Context_Type, Answer_Type> = QuestionAdapter<Answer_Type> & MetaQuestion<Context_Type, Answer_Type>;
|
|
261
|
+
/**
|
|
262
|
+
* @package
|
|
263
|
+
*/
|
|
251
264
|
declare class QuestionStatement<Answer_Type> extends Interaction implements Question<Promise<Answer_Type>>, Optional {
|
|
252
265
|
private subject;
|
|
253
266
|
private readonly body;
|
|
254
267
|
private answer;
|
|
255
|
-
constructor(subject: string, body: (actor: AnswersQuestions & UsesAbilities, ...Parameters: any[]) => Promise<Answer_Type> | Answer_Type);
|
|
268
|
+
constructor(subject: string, body: (actor: AnswersQuestions & UsesAbilities, ...Parameters: any[]) => Promise<Answer_Type> | Answer_Type, location?: FileSystemLocation);
|
|
256
269
|
/**
|
|
257
270
|
* Returns a Question that resolves to `true` if resolving the {@apilink QuestionStatement}
|
|
258
271
|
* returns a value other than `null` or `undefined`, and doesn't throw errors.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Question.d.ts","sourceRoot":"","sources":["../../src/screenplay/Question.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Question.d.ts","sourceRoot":"","sources":["../../src/screenplay/Question.ts"],"names":[],"mappings":"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"}
|
|
@@ -126,23 +126,11 @@ const Unanswered_1 = require("./questions/Unanswered");
|
|
|
126
126
|
* @group Screenplay Pattern
|
|
127
127
|
*/
|
|
128
128
|
class Question {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
* ```ts
|
|
135
|
-
* import { Question } from '@serenity-js/core'
|
|
136
|
-
*
|
|
137
|
-
* const EnvVariable = (name: string) =>
|
|
138
|
-
* Question.about(`the ${ name } env variable`, actor => process.env[name])
|
|
139
|
-
* ```
|
|
140
|
-
*
|
|
141
|
-
* @param description
|
|
142
|
-
* @param body
|
|
143
|
-
*/
|
|
144
|
-
static about(description, body) {
|
|
145
|
-
return Question.createAdapter(new QuestionStatement(description, body));
|
|
129
|
+
static about(description, body, metaQuestionBody) {
|
|
130
|
+
const statement = typeof metaQuestionBody === 'function'
|
|
131
|
+
? new MetaQuestionStatement(description, body, metaQuestionBody)
|
|
132
|
+
: new QuestionStatement(description, body);
|
|
133
|
+
return Question.createAdapter(statement);
|
|
146
134
|
}
|
|
147
135
|
/**
|
|
148
136
|
* Generates a {@apilink QuestionAdapter} that recursively resolves
|
|
@@ -342,10 +330,12 @@ class Question {
|
|
|
342
330
|
}
|
|
343
331
|
}
|
|
344
332
|
exports.Question = Question;
|
|
345
|
-
/**
|
|
333
|
+
/**
|
|
334
|
+
* @package
|
|
335
|
+
*/
|
|
346
336
|
class QuestionStatement extends Interaction_1.Interaction {
|
|
347
|
-
constructor(subject, body) {
|
|
348
|
-
super(subject,
|
|
337
|
+
constructor(subject, body, location = QuestionStatement.callerLocation(4)) {
|
|
338
|
+
super(subject, location);
|
|
349
339
|
this.subject = subject;
|
|
350
340
|
this.body = body;
|
|
351
341
|
this.answer = new Unanswered_1.Unanswered();
|
|
@@ -384,6 +374,18 @@ class QuestionStatement extends Interaction_1.Interaction {
|
|
|
384
374
|
});
|
|
385
375
|
}
|
|
386
376
|
}
|
|
377
|
+
/**
|
|
378
|
+
* @package
|
|
379
|
+
*/
|
|
380
|
+
class MetaQuestionStatement extends QuestionStatement {
|
|
381
|
+
constructor(subject, body, metaQuestionBody) {
|
|
382
|
+
super(subject, body);
|
|
383
|
+
this.metaQuestionBody = metaQuestionBody;
|
|
384
|
+
}
|
|
385
|
+
of(answerable) {
|
|
386
|
+
return Question.about((0, io_1.d) `${this.toString()} of ${answerable}`, actor => actor.answer(this.metaQuestionBody(answerable)));
|
|
387
|
+
}
|
|
388
|
+
}
|
|
387
389
|
/**
|
|
388
390
|
* @package
|
|
389
391
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Question.js","sourceRoot":"","sources":["../../src/screenplay/Question.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAkD;AAClD,2CAA6B,CAAC,2CAA2C;AAEzE,sCAAuC;
|
|
1
|
+
{"version":3,"file":"Question.js","sourceRoot":"","sources":["../../src/screenplay/Question.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { Answerable } from '../Answerable';
|
|
2
2
|
import type { Question } from '../Question';
|
|
3
3
|
/**
|
|
4
|
-
* A
|
|
5
|
-
*
|
|
4
|
+
* A meta-question is a {@apilink Question} that can be answered
|
|
5
|
+
* in the context of another {@apilink Answerable},
|
|
6
|
+
* typically to transform its value.
|
|
6
7
|
*
|
|
7
|
-
* For example, the question {@apilink Text.of}
|
|
8
|
-
*
|
|
8
|
+
* For example, the question {@apilink Text.of} can be answered in the context
|
|
9
|
+
* of a {@apilink PageElement} to return its text content.
|
|
9
10
|
*
|
|
10
11
|
* {@apilink MetaQuestion|Meta questions} are typically used when filtering a {@apilink List}.
|
|
11
12
|
*
|
|
@@ -14,14 +15,14 @@ import type { Question } from '../Question';
|
|
|
14
15
|
*
|
|
15
16
|
* @group Questions
|
|
16
17
|
*/
|
|
17
|
-
export interface MetaQuestion<
|
|
18
|
+
export interface MetaQuestion<Supported_Context_Type, Answer_Type> {
|
|
18
19
|
/**
|
|
19
|
-
*
|
|
20
|
+
* Answers the given `MetaQuestion` in the context of another {@apilink Answerable}.
|
|
20
21
|
*
|
|
21
22
|
* #### Learn more
|
|
22
23
|
* - {@apilink List}
|
|
23
24
|
*/
|
|
24
|
-
of(
|
|
25
|
+
of(context: Answerable<Supported_Context_Type>): Question<Promise<Answer_Type>> | Question<Answer_Type>;
|
|
25
26
|
/**
|
|
26
27
|
* Human-readable description of this {@apilink MetaQuestion},
|
|
27
28
|
* typically involving the description of the subject.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaQuestion.d.ts","sourceRoot":"","sources":["../../../src/screenplay/questions/MetaQuestion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"MetaQuestion.d.ts","sourceRoot":"","sources":["../../../src/screenplay/questions/MetaQuestion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY,CAAC,sBAAsB,EAAE,WAAW;IAE7D;;;;;OAKG;IACH,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,sBAAsB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAExG;;;;;;OAMG;IACH,QAAQ,IAAI,MAAM,CAAC;CACtB"}
|
|
@@ -3,7 +3,7 @@ import { FileSystem } from '../../../io';
|
|
|
3
3
|
import type { Stage } from '../../Stage';
|
|
4
4
|
import type { StageCrewMember } from '../../StageCrewMember';
|
|
5
5
|
/**
|
|
6
|
-
* Stores any {@apilink Artifact|artifacts} emitted via {@apilink ArtifactGenerated} events on the {@apilink FileSystem}
|
|
6
|
+
* Stores any {@apilink Artifact|artifacts} emitted via {@apilink ArtifactGenerated} events on the {@apilink FileSystem}.
|
|
7
7
|
*
|
|
8
8
|
* ## Registering `ArtifactArchiver` programmatically
|
|
9
9
|
*
|
|
@@ -18,49 +18,69 @@ import type { StageCrewMember } from '../../StageCrewMember';
|
|
|
18
18
|
* })
|
|
19
19
|
* ```
|
|
20
20
|
*
|
|
21
|
-
* ##
|
|
21
|
+
* ## Using `ArtifactArchiver` with Playwright Test
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* // playwright.config.ts
|
|
25
|
+
* import type { PlaywrightTestConfig } from '@serenity-js/playwright-test'
|
|
26
|
+
*
|
|
27
|
+
* const config: PlaywrightTestConfig = {
|
|
28
|
+
* testDir: './spec',
|
|
29
|
+
*
|
|
30
|
+
* reporter: [
|
|
31
|
+
* [ '@serenity-js/playwright-test', {
|
|
32
|
+
* crew: [
|
|
33
|
+
* '@serenity-js/serenity-bdd',
|
|
34
|
+
* [ '@serenity-js/core:ArtifactArchiver', { outputDirectory: 'target/site/serenity' } ],
|
|
35
|
+
* [ '@serenity-js/core:StreamReporter', { outputFile: 'target/events.ndjson' }]
|
|
36
|
+
* ]
|
|
37
|
+
* // other Serenity/JS config
|
|
38
|
+
* }]
|
|
39
|
+
* ],
|
|
40
|
+
* // other Playwright Test config
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* ## Using `ArtifactArchiver` with Protractor
|
|
22
45
|
*
|
|
23
46
|
* ```js
|
|
24
47
|
* // protractor.conf.js
|
|
25
|
-
* const { ArtifactArchiver } = require('@serenity-js/core')
|
|
26
|
-
*
|
|
27
48
|
* exports.config = {
|
|
28
49
|
* framework: 'custom',
|
|
29
50
|
* frameworkPath: require.resolve('@serenity-js/protractor/adapter'),
|
|
30
51
|
*
|
|
31
52
|
* serenity: {
|
|
32
53
|
* crew: [
|
|
33
|
-
*
|
|
54
|
+
* '@serenity-js/serenity-bdd',
|
|
55
|
+
* [ '@serenity-js/core:ArtifactArchiver', { outputDirectory: 'target/site/serenity' } ],
|
|
34
56
|
* ],
|
|
35
57
|
* // other Serenity/JS config
|
|
36
58
|
* },
|
|
37
59
|
* // other Protractor config
|
|
38
|
-
* }
|
|
60
|
+
* }
|
|
39
61
|
* ```
|
|
40
62
|
*
|
|
41
|
-
* ##
|
|
63
|
+
* ## Using `ArtifactArchiver` with WebdriverIO
|
|
42
64
|
*
|
|
43
65
|
* ```ts
|
|
44
|
-
* // wdio.conf.
|
|
45
|
-
* import { ArtifactArchiver } from '@serenity-js/core'
|
|
66
|
+
* // wdio.conf.ts
|
|
46
67
|
* import { WebdriverIOConfig } from '@serenity-js/webdriverio'
|
|
47
68
|
*
|
|
48
69
|
* export const config: WebdriverIOConfig = {
|
|
49
70
|
*
|
|
50
|
-
*
|
|
71
|
+
* framework: '@serenity-js/webdriverio',
|
|
51
72
|
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
73
|
+
* serenity: {
|
|
74
|
+
* crew: [
|
|
75
|
+
* '@serenity-js/serenity-bdd',
|
|
76
|
+
* [ '@serenity-js/core:ArtifactArchiver', { outputDirectory: 'target/site/serenity' } ],
|
|
77
|
+
* ]
|
|
78
|
+
* // other Serenity/JS config
|
|
79
|
+
* },
|
|
80
|
+
* // other WebdriverIO config
|
|
59
81
|
* }
|
|
60
82
|
* ```
|
|
61
83
|
*
|
|
62
|
-
* [ '@serenity-js/core:ArtifactArchiver', { outputDirectory: 'target/site/serenity' } ],
|
|
63
|
-
*
|
|
64
84
|
* @group Stage
|
|
65
85
|
*/
|
|
66
86
|
export declare class ArtifactArchiver implements StageCrewMember {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactArchiver.d.ts","sourceRoot":"","sources":["../../../../src/stage/crew/artifact-archiver/ArtifactArchiver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAUxC,OAAO,EAAE,UAAU,EAAQ,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D
|
|
1
|
+
{"version":3,"file":"ArtifactArchiver.d.ts","sourceRoot":"","sources":["../../../../src/stage/crew/artifact-archiver/ArtifactArchiver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAUxC,OAAO,EAAE,UAAU,EAAQ,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,qBAAa,gBAAiB,YAAW,eAAe;IAkChD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,KAAK,CAAC;IAjClB;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE,GAAG,eAAe;IAQpE;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe;IAMrE;;;;OAIG;gBAEkB,UAAU,EAAE,UAAU,EAC/B,KAAK,CAAC,EAAE,KAAK;IAIzB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe;IAKzC;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IA8BlC,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,OAAO;IAwBf,OAAO,CAAC,yBAAyB;CAwBpC"}
|
|
@@ -7,7 +7,7 @@ const io_1 = require("../../../io");
|
|
|
7
7
|
const model_1 = require("../../../model");
|
|
8
8
|
const Hash_1 = require("./Hash");
|
|
9
9
|
/**
|
|
10
|
-
* Stores any {@apilink Artifact|artifacts} emitted via {@apilink ArtifactGenerated} events on the {@apilink FileSystem}
|
|
10
|
+
* Stores any {@apilink Artifact|artifacts} emitted via {@apilink ArtifactGenerated} events on the {@apilink FileSystem}.
|
|
11
11
|
*
|
|
12
12
|
* ## Registering `ArtifactArchiver` programmatically
|
|
13
13
|
*
|
|
@@ -22,49 +22,69 @@ const Hash_1 = require("./Hash");
|
|
|
22
22
|
* })
|
|
23
23
|
* ```
|
|
24
24
|
*
|
|
25
|
-
* ##
|
|
25
|
+
* ## Using `ArtifactArchiver` with Playwright Test
|
|
26
|
+
*
|
|
27
|
+
* ```ts
|
|
28
|
+
* // playwright.config.ts
|
|
29
|
+
* import type { PlaywrightTestConfig } from '@serenity-js/playwright-test'
|
|
30
|
+
*
|
|
31
|
+
* const config: PlaywrightTestConfig = {
|
|
32
|
+
* testDir: './spec',
|
|
33
|
+
*
|
|
34
|
+
* reporter: [
|
|
35
|
+
* [ '@serenity-js/playwright-test', {
|
|
36
|
+
* crew: [
|
|
37
|
+
* '@serenity-js/serenity-bdd',
|
|
38
|
+
* [ '@serenity-js/core:ArtifactArchiver', { outputDirectory: 'target/site/serenity' } ],
|
|
39
|
+
* [ '@serenity-js/core:StreamReporter', { outputFile: 'target/events.ndjson' }]
|
|
40
|
+
* ]
|
|
41
|
+
* // other Serenity/JS config
|
|
42
|
+
* }]
|
|
43
|
+
* ],
|
|
44
|
+
* // other Playwright Test config
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* ## Using `ArtifactArchiver` with Protractor
|
|
26
49
|
*
|
|
27
50
|
* ```js
|
|
28
51
|
* // protractor.conf.js
|
|
29
|
-
* const { ArtifactArchiver } = require('@serenity-js/core')
|
|
30
|
-
*
|
|
31
52
|
* exports.config = {
|
|
32
53
|
* framework: 'custom',
|
|
33
54
|
* frameworkPath: require.resolve('@serenity-js/protractor/adapter'),
|
|
34
55
|
*
|
|
35
56
|
* serenity: {
|
|
36
57
|
* crew: [
|
|
37
|
-
*
|
|
58
|
+
* '@serenity-js/serenity-bdd',
|
|
59
|
+
* [ '@serenity-js/core:ArtifactArchiver', { outputDirectory: 'target/site/serenity' } ],
|
|
38
60
|
* ],
|
|
39
61
|
* // other Serenity/JS config
|
|
40
62
|
* },
|
|
41
63
|
* // other Protractor config
|
|
42
|
-
* }
|
|
64
|
+
* }
|
|
43
65
|
* ```
|
|
44
66
|
*
|
|
45
|
-
* ##
|
|
67
|
+
* ## Using `ArtifactArchiver` with WebdriverIO
|
|
46
68
|
*
|
|
47
69
|
* ```ts
|
|
48
|
-
* // wdio.conf.
|
|
49
|
-
* import { ArtifactArchiver } from '@serenity-js/core'
|
|
70
|
+
* // wdio.conf.ts
|
|
50
71
|
* import { WebdriverIOConfig } from '@serenity-js/webdriverio'
|
|
51
72
|
*
|
|
52
73
|
* export const config: WebdriverIOConfig = {
|
|
53
74
|
*
|
|
54
|
-
*
|
|
75
|
+
* framework: '@serenity-js/webdriverio',
|
|
55
76
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
77
|
+
* serenity: {
|
|
78
|
+
* crew: [
|
|
79
|
+
* '@serenity-js/serenity-bdd',
|
|
80
|
+
* [ '@serenity-js/core:ArtifactArchiver', { outputDirectory: 'target/site/serenity' } ],
|
|
81
|
+
* ]
|
|
82
|
+
* // other Serenity/JS config
|
|
83
|
+
* },
|
|
84
|
+
* // other WebdriverIO config
|
|
63
85
|
* }
|
|
64
86
|
* ```
|
|
65
87
|
*
|
|
66
|
-
* [ '@serenity-js/core:ArtifactArchiver', { outputDirectory: 'target/site/serenity' } ],
|
|
67
|
-
*
|
|
68
88
|
* @group Stage
|
|
69
89
|
*/
|
|
70
90
|
class ArtifactArchiver {
|
|
@@ -149,10 +169,10 @@ class ArtifactArchiver {
|
|
|
149
169
|
archivisationAnnouncement(event, relativePathToArtifact) {
|
|
150
170
|
return (absolutePath) => {
|
|
151
171
|
if (event instanceof events_1.ActivityRelatedArtifactGenerated) {
|
|
152
|
-
this.stage.announce(new events_1.ActivityRelatedArtifactArchived(event.sceneId, event.activityId, event.name, event.artifact.constructor, relativePathToArtifact));
|
|
172
|
+
this.stage.announce(new events_1.ActivityRelatedArtifactArchived(event.sceneId, event.activityId, event.name, event.artifact.constructor, relativePathToArtifact, event.timestamp, this.stage.currentTime()));
|
|
153
173
|
}
|
|
154
174
|
else if (event instanceof events_1.ArtifactGenerated) {
|
|
155
|
-
this.stage.announce(new events_1.ArtifactArchived(event.sceneId, event.name, event.artifact.constructor, relativePathToArtifact));
|
|
175
|
+
this.stage.announce(new events_1.ArtifactArchived(event.sceneId, event.name, event.artifact.constructor, relativePathToArtifact, event.timestamp, this.stage.currentTime()));
|
|
156
176
|
}
|
|
157
177
|
};
|
|
158
178
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactArchiver.js","sourceRoot":"","sources":["../../../../src/stage/crew/artifact-archiver/ArtifactArchiver.ts"],"names":[],"mappings":";;;AACA,2CAAkF;AAIlF,4CAQyB;AACzB,oCAA+C;AAE/C,0CAAqF;AAGrF,iCAA8B;AAE9B
|
|
1
|
+
{"version":3,"file":"ArtifactArchiver.js","sourceRoot":"","sources":["../../../../src/stage/crew/artifact-archiver/ArtifactArchiver.ts"],"names":[],"mappings":";;;AACA,2CAAkF;AAIlF,4CAQyB;AACzB,oCAA+C;AAE/C,0CAAqF;AAGrF,iCAA8B;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,MAAa,gBAAgB;IAEzB;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAG,WAAqB;QAC9C,IAAA,mBAAM,EAAC,+BAA+B,EAAE,WAAW,EAAE,IAAA,qBAAQ,EAAC,QAAQ,EAAE,IAAA,0BAAa,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3F,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,SAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAEpH,OAAO,IAAI,gBAAgB,CAAC,IAAI,eAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAmC;QAC/C,MAAM,eAAe,GAAG,IAAA,mBAAM,EAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,IAAA,sBAAS,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAAC;QAEnG,OAAO,IAAI,gBAAgB,CAAC,IAAI,eAAU,CAAC,SAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,YACqB,UAAsB,EAC/B,KAAa;QADJ,eAAU,GAAV,UAAU,CAAY;QAC/B,UAAK,GAAL,KAAK,CAAQ;IAEzB,CAAC;IAED,UAAU,CAAC,KAAY;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAkB;QAEvB,IAAI,CAAC,CAAC,KAAK,YAAY,0BAAiB,CAAC,EAAE;YACvC,0BAA0B;YAC1B,OAAO,KAAK,CAAC,CAAC;SACjB;QAED,IAAI,KAAK,CAAC,QAAQ,YAAY,aAAK,EAAE;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAE9E,IAAI,CAAC,OAAO,CACR,QAAQ,EACR,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EACjC,QAAQ,EACR,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAClD,CAAC;SACL;QAED,IAAI,KAAK,CAAC,QAAQ,YAAY,kBAAU,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAElF,IAAI,CAAC,OAAO,CACR,QAAQ,EACR,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAClC,MAAM,EACN,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAClD,CAAC;SACL;IACL,CAAC;IAEO,WAAW,CAAC,MAAc,EAAE,YAAkB,EAAE,QAAkB,EAAE,SAAiB;QACzF,MAAM,IAAI,GAAG,WAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;QAE1D,OAAO,SAAI,CAAC,mBAAmB;QAC3B,8FAA8F;QAC9F,8FAA8F;QAC9F,uEAAuE;QACvE,GAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAE,IAAK,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAE,IAAK,IAAK,IAAK,SAAU,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAE/H,CAAC;IACN,CAAC;IAEO,OAAO,CAAC,YAAkB,EAAE,QAAgB,EAAE,QAA0B,EAAE,QAAsC;QACpH,MAAM,EAAE,GAAG,qBAAa,CAAC,MAAM,EAAE,CAAC;QAElC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gCAAuB,CAC3C,IAAI,YAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC/B,IAAI,mBAAW,CAAC,WAAY,YAAY,CAAC,KAAM,MAAM,CAAC,EACtD,EAAE,EACF,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC;aAClD,IAAI,CAAC,aAAa,CAAC,EAAE;YAClB,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gCAAuB,CAC3C,EAAE,EACF,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAC3B,CAAC,CAAC;QACP,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,6BAAoB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;IACX,CAAC;IAEO,yBAAyB,CAAC,KAA2D,EAAE,sBAA4B;QACvH,OAAO,CAAC,YAAkB,EAAE,EAAE;YAC1B,IAAI,KAAK,YAAY,yCAAgC,EAAE;gBACnD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,wCAA+B,CACnD,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,QAAQ,CAAC,WAA2B,EAC1C,sBAAsB,EACtB,KAAK,CAAC,SAAS,EACf,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAC3B,CAAC,CAAC;aACN;iBAAM,IAAI,KAAK,YAAY,0BAAiB,EAAE;gBAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,yBAAgB,CACpC,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,QAAQ,CAAC,WAA2B,EAC1C,sBAAsB,EACtB,KAAK,CAAC,SAAS,EACf,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAC3B,CAAC,CAAC;aACN;QACL,CAAC,CAAC;IACN,CAAC;CACJ;AAhJD,4CAgJC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,iBAAiB,EAAE;SAC1B,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC"}
|