@serenity-js/local-server 3.0.0-rc.6 → 3.0.0-rc.7

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 CHANGED
@@ -3,6 +3,17 @@
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](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.6...v3.0.0-rc.7) (2022-01-28)
7
+
8
+
9
+ ### Features
10
+
11
+ * **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)
12
+
13
+
14
+
15
+
16
+
6
17
  # [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
7
18
 
8
19
 
@@ -1,4 +1,4 @@
1
- import { Question } from '@serenity-js/core';
1
+ import { QuestionAdapter } from '@serenity-js/core';
2
2
  export declare class LocalServer {
3
3
  /**
4
4
  * @desc
@@ -12,7 +12,7 @@ export declare class LocalServer {
12
12
  *
13
13
  * @returns {@serenity-js/core/lib/screenplay~Question<string>}
14
14
  */
15
- static url(): Question<string>;
15
+ static url(): QuestionAdapter<string>;
16
16
  /**
17
17
  * @desc
18
18
  * Retrieves the port number of the local server started
@@ -25,5 +25,5 @@ export declare class LocalServer {
25
25
  *
26
26
  * @returns {@serenity-js/core/lib/screenplay~Question<number>}
27
27
  */
28
- static port(): Question<number>;
28
+ static port(): QuestionAdapter<number>;
29
29
  }
@@ -50,9 +50,9 @@ class LocalServer {
50
50
  * @returns {@serenity-js/core/lib/screenplay~Question<number>}
51
51
  */
52
52
  static port() {
53
- return core_1.Question.about(`local server port number`, actor => {
54
- const url = LocalServer.url().answeredBy(actor);
55
- return Number.parseInt((0, url_1.parse)(url).port, 10);
53
+ return core_1.Question.about(`local server port number`, async (actor) => {
54
+ const url = await actor.answer(LocalServer.url());
55
+ return Number.parseInt(new url_1.URL(url).port, 10);
56
56
  });
57
57
  }
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LocalServer.js","sourceRoot":"","sources":["../../../src/screenplay/questions/LocalServer.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAEzD,6BAA4B;AAE5B,4CAAkD;AAElD,MAAa,WAAW;IAEpB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG;QACN,OAAO,eAAQ,CAAC,KAAK,CAAS,6BAA6B,EAAE,KAAK,CAAC,EAAE;YACjE,OAAO,8BAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;gBAE9B,IAAI,CAAE,IAAI,EAAE;oBACR,MAAM,IAAI,iBAAU,CAAC,qCAAqC,CAAC,CAAC;iBAC/D;gBAED,IAAI,CAAE,aAAa,CAAC,IAAI,CAAC,EAAE;oBACvB,MAAM,IAAI,iBAAU,CAAC,yDAAyD,CAAC,CAAC;iBACnF;gBAED,OAAO;oBACH,QAAQ;oBACR,KAAK;oBACL,GAAI,IAAI,CAAC,MAAO,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAK,IAAI,CAAC,OAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;oBAClF,GAAG;oBACH,IAAI,CAAC,IAAI;iBACZ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAAI;QACP,OAAO,eAAQ,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,EAAE;YACtD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAEhD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAA,WAAK,EAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAzDD,kCAyDC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,gBAAsC;IACzD,OAAO,OAAO,gBAAgB,KAAK,QAAQ;WACpC,CAAC,CAAE,gBAAgB,CAAC,OAAO;WAC3B,CAAC,CAAE,gBAAgB,CAAC,MAAM;WAC1B,CAAC,CAAE,gBAAgB,CAAC,IAAI,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"LocalServer.js","sourceRoot":"","sources":["../../../src/screenplay/questions/LocalServer.ts"],"names":[],"mappings":";;;AAAA,4CAA0E;AAE1E,6BAA0B;AAE1B,4CAAkD;AAElD,MAAa,WAAW;IAEpB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG;QACN,OAAO,eAAQ,CAAC,KAAK,CAAS,6BAA6B,EAAE,KAAK,CAAC,EAAE;YACjE,OAAO,8BAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;gBAE9B,IAAI,CAAE,IAAI,EAAE;oBACR,MAAM,IAAI,iBAAU,CAAC,qCAAqC,CAAC,CAAC;iBAC/D;gBAED,IAAI,CAAE,aAAa,CAAC,IAAI,CAAC,EAAE;oBACvB,MAAM,IAAI,iBAAU,CAAC,yDAAyD,CAAC,CAAC;iBACnF;gBAED,OAAO;oBACH,QAAQ;oBACR,KAAK;oBACL,GAAI,IAAI,CAAC,MAAO,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAK,IAAI,CAAC,OAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;oBAClF,GAAG;oBACH,IAAI,CAAC,IAAI;iBACZ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAAI;QACP,OAAO,eAAQ,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC5D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;YAElD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAzDD,kCAyDC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,gBAAsC;IACzD,OAAO,OAAO,gBAAgB,KAAK,QAAQ;WACpC,CAAC,CAAE,gBAAgB,CAAC,OAAO;WAC3B,CAAC,CAAE,gBAAgB,CAAC,MAAM;WAC1B,CAAC,CAAE,gBAAgB,CAAC,IAAI,CAAC;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/local-server",
3
- "version": "3.0.0-rc.6",
3
+ "version": "3.0.0-rc.7",
4
4
  "description": "Enables Serenity/JS Actors to manage local Node.js test servers, such as Express, Koa or Restify",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -51,7 +51,7 @@
51
51
  "npm": "^6 || ^7 || ^8"
52
52
  },
53
53
  "dependencies": {
54
- "@serenity-js/core": "3.0.0-rc.6",
54
+ "@serenity-js/core": "3.0.0-rc.7",
55
55
  "http-shutdown": "^1.2.2",
56
56
  "portfinder": "^1.0.28"
57
57
  },
@@ -59,8 +59,8 @@
59
59
  "@documentation/esdoc-template": "3.0.0",
60
60
  "@hapi/hapi": "^20.2.1",
61
61
  "@integration/testing-tools": "3.0.0",
62
- "@serenity-js/assertions": "3.0.0-rc.6",
63
- "@serenity-js/rest": "3.0.0-rc.6",
62
+ "@serenity-js/assertions": "3.0.0-rc.7",
63
+ "@serenity-js/rest": "3.0.0-rc.7",
64
64
  "@types/chai": "^4.3.0",
65
65
  "@types/express": "^4.17.13",
66
66
  "@types/hapi": "^18.0.7",
@@ -97,5 +97,5 @@
97
97
  "cache": true,
98
98
  "all": true
99
99
  },
100
- "gitHead": "83bff6ee044088e8cb601144c5854f2e20dabd1d"
100
+ "gitHead": "74f603a7a8e0c685a0ea5e4198aad6cc30aea91c"
101
101
  }
@@ -1,6 +1,6 @@
1
- import { LogicError, Question } from '@serenity-js/core';
1
+ import { LogicError, Question, QuestionAdapter } from '@serenity-js/core';
2
2
  import { AddressInfo } from 'net';
3
- import { parse } from 'url';
3
+ import { URL } from 'url';
4
4
 
5
5
  import { ManageALocalServer } from '../abilities';
6
6
 
@@ -18,7 +18,7 @@ export class LocalServer {
18
18
  *
19
19
  * @returns {@serenity-js/core/lib/screenplay~Question<string>}
20
20
  */
21
- static url(): Question<string> {
21
+ static url(): QuestionAdapter<string> {
22
22
  return Question.about<string>('the URL of the local server', actor => {
23
23
  return ManageALocalServer.as(actor).mapInstance((server, protocol) => {
24
24
  const info = server.address();
@@ -54,11 +54,11 @@ export class LocalServer {
54
54
  *
55
55
  * @returns {@serenity-js/core/lib/screenplay~Question<number>}
56
56
  */
57
- static port(): Question<number> {
58
- return Question.about(`local server port number`, actor => {
59
- const url = LocalServer.url().answeredBy(actor);
57
+ static port(): QuestionAdapter<number> {
58
+ return Question.about(`local server port number`, async actor => {
59
+ const url = await actor.answer(LocalServer.url());
60
60
 
61
- return Number.parseInt(parse(url).port, 10);
61
+ return Number.parseInt(new URL(url).port, 10);
62
62
  });
63
63
  }
64
64
  }