@ddd-ts-kit/testing 0.13.0 → 0.15.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.
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-client.d.ts","sourceRoot":"","sources":["../../src/e2e/fetch-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAS3D,uHAAuH;AACvH,qBAAa,WAAY,YAAW,UAAU;IAE1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAF1B,YACmB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EACnC;IAEJ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAE7E;IAED,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAE9F;IAED,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAE7F;IAED,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAE/F;IAED,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAEhF;IAED,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAE5C;YAEa,IAAI;CAkBnB"}
1
+ {"version":3,"file":"fetch-client.d.ts","sourceRoot":"","sources":["../../src/e2e/fetch-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAS3D,uHAAuH;AACvH,qBAAa,WAAY,YAAW,UAAU;IAE1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAF1B,YACmB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EACnC;IAEJ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAE7E;IAED,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAE9F;IAED,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAE7F;IAED,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAE/F;IAED,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAEhF;IAED,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAE5C;YAEa,IAAI;CAgBnB"}
@@ -26,15 +26,12 @@ export class FetchClient {
26
26
  return new FetchClient(this.baseUrl, { ...this.headers, ...lowerCased(headers) });
27
27
  }
28
28
  async send({ method, path, body, options }) {
29
- const response = await fetch(`${this.baseUrl}${path}`, {
30
- method,
31
- headers: {
32
- ...(body === undefined ? {} : { 'content-type': 'application/json' }),
33
- ...this.headers,
34
- ...lowerCased(options?.headers),
35
- },
36
- body: body === undefined ? null : JSON.stringify(body),
37
- });
29
+ const headers = {
30
+ ...(body === undefined ? {} : { 'content-type': 'application/json' }),
31
+ ...this.headers,
32
+ ...lowerCased(options?.headers),
33
+ };
34
+ const response = await fetch(`${this.baseUrl}${path}`, { method, headers, body: payloadOf(body, headers) });
38
35
  return {
39
36
  status: response.status,
40
37
  headers: Object.fromEntries(response.headers),
@@ -43,6 +40,13 @@ export class FetchClient {
43
40
  };
44
41
  }
45
42
  }
43
+ /** JSON, unless the request says another content type and gives its text as it is: an XML body, a CSV import. */
44
+ function payloadOf(body, headers) {
45
+ if (body === undefined) {
46
+ return null;
47
+ }
48
+ return typeof body === 'string' && !isJson(headers['content-type'] ?? null) ? body : JSON.stringify(body);
49
+ }
46
50
  async function readBody(response) {
47
51
  const text = await response.text();
48
52
  if (text === '') {
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-client.js","sourceRoot":"","sources":["../../src/e2e/fetch-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-client.js","sourceRoot":"","sources":["../../src/e2e/fetch-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ddd-ts-kit/testing",
3
- "version": "0.13.0",
3
+ "version": "0.15.0",
4
4
  "description": "Readable tests without mocks: test data builders, given/when/then scenarios and contract suites shared by fakes and real adapters.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -46,13 +46,13 @@
46
46
  "dist"
47
47
  ],
48
48
  "dependencies": {
49
- "@ddd-ts-kit/kernel": "0.13.0"
49
+ "@ddd-ts-kit/kernel": "0.15.0"
50
50
  },
51
51
  "devDependencies": {
52
- "@ddd-ts-kit/aspects": "0.13.0",
53
- "@ddd-ts-kit/events": "0.13.0",
52
+ "@ddd-ts-kit/aspects": "0.15.0",
53
+ "@ddd-ts-kit/events": "0.15.0",
54
54
  "@faker-js/faker": "^10.6.0",
55
- "@ddd-ts-kit/scheduling": "0.13.0"
55
+ "@ddd-ts-kit/scheduling": "0.15.0"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "@faker-js/faker": ">=9.0.0"