@luvio/adapter-test-library 0.138.2 → 0.138.4

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.
@@ -322,14 +322,15 @@ function overrideMockNetworkResponses(mockNetworkAdapter, responses) {
322
322
  return onNetworkStubCalled(stub, response);
323
323
  });
324
324
  }
325
- function resetMockNetworkAdapter(mockNetworkAdapter) {
325
+ function resetMockNetworkAdapter(mockNetworkAdapter, newPayloads) {
326
326
  const stub = mockNetworkAdapter;
327
327
  // reset stub in case a test modified payload responses
328
328
  stub.reset();
329
329
  // reset call count
330
330
  callCountMap.set(stub, 0);
331
- // set original mock payloads up
332
- const payloads = mockPayloadsMap.get(stub);
331
+ // set mock payloads up - Allow for the test to provide a different set of payloads
332
+ // Default behavior is to reset to the original payloads.
333
+ const payloads = newPayloads ? newPayloads : mockPayloadsMap.get(stub);
333
334
  if (payloads) {
334
335
  setMockNetworkPayloads(stub, payloads);
335
336
  }
@@ -538,6 +539,7 @@ async function testAdapterCompletesRoundtrip(params) {
538
539
  expect(result).toEqualFulfilledSnapshotWithData(params.type === 'network'
539
540
  ? params.expectedData || params.network.response
540
541
  : params.expectedData, params.privateProperties);
542
+ return result;
541
543
  }
542
544
  function setupAdapter(params) {
543
545
  const luvio = params.type === 'network' ? buildLuvioWithNetwork(params.network).luvio : params.luvio;
@@ -1,33 +1,33 @@
1
- import type { AdapterFactory, NetworkAdapter } from '@luvio/engine';
1
+ import type { AdapterFactory, NetworkAdapter, Snapshot } from '@luvio/engine';
2
2
  import { Luvio } from '@luvio/engine';
3
3
  import type { MockPayload } from './network';
4
4
  export declare function buildLuvioInstance(mockNetworkAdapter: NetworkAdapter): Luvio;
5
- declare type AdapterRoundtripTestParams<C, D> = AdapterNetworkRoundtripTestParams<C, D> | AdapterNetworkRoundtripWithLuvioTestParams<C, D> | AdapterCacheHitRoundtripTestParams<C, D>;
6
- declare type AdapterTest<C, D> = {
5
+ type AdapterRoundtripTestParams<C, D> = AdapterNetworkRoundtripTestParams<C, D> | AdapterNetworkRoundtripWithLuvioTestParams<C, D> | AdapterCacheHitRoundtripTestParams<C, D>;
6
+ type AdapterTest<C, D> = {
7
7
  adapterFactory: AdapterFactory<C, D>;
8
8
  adapterConfig: C;
9
9
  privateProperties?: string[];
10
10
  };
11
- declare type AdapterTestWithInjectedLuvio<C, D> = AdapterTest<C, D> & {
11
+ type AdapterTestWithInjectedLuvio<C, D> = AdapterTest<C, D> & {
12
12
  luvio: Luvio;
13
13
  expectedData: D;
14
14
  };
15
- declare type NetworkConfig = {
15
+ type NetworkConfig = {
16
16
  request: MockPayload['networkArgs'];
17
17
  response: any;
18
18
  };
19
- declare type AdapterNetworkRoundtripTestParams<C, D> = AdapterTest<C, D> & {
19
+ type AdapterNetworkRoundtripTestParams<C, D> = AdapterTest<C, D> & {
20
20
  type: 'network';
21
21
  network: NetworkConfig;
22
22
  expectedData?: D;
23
23
  };
24
- declare type AdapterNetworkRoundtripWithLuvioTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
24
+ type AdapterNetworkRoundtripWithLuvioTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
25
25
  type: 'injectedLuvioNetwork';
26
26
  };
27
- declare type AdapterCacheHitRoundtripTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
27
+ type AdapterCacheHitRoundtripTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
28
28
  type: 'cache';
29
29
  };
30
- export declare function testAdapterCompletesRoundtrip<C = any, D = any>(params: AdapterRoundtripTestParams<C, D>): Promise<void>;
30
+ export declare function testAdapterCompletesRoundtrip<C = any, D = any>(params: AdapterRoundtripTestParams<C, D>): Promise<Snapshot<D, unknown>>;
31
31
  export declare function buildLuvioWithNetwork(networkConfig: NetworkConfig): {
32
32
  luvio: Luvio;
33
33
  networkAdapter: NetworkAdapter;
@@ -31,7 +31,7 @@ export declare function setMockNetworkPayloads(mockNetworkAdapter: NetworkAdapte
31
31
  * until resetMockNetworkAdapter is called.
32
32
  */
33
33
  export declare function overrideMockNetworkResponses(mockNetworkAdapter: NetworkAdapter, responses: FetchResponse<any>[]): void;
34
- export declare function resetMockNetworkAdapter(mockNetworkAdapter: NetworkAdapter): void;
34
+ export declare function resetMockNetworkAdapter(mockNetworkAdapter: NetworkAdapter, newPayloads?: MockPayload[]): void;
35
35
  export declare function getMockNetworkAdapterCallCount(mockNetworkAdapter: NetworkAdapter): number | undefined;
36
36
  export declare function buildFetchResponse<T>(body: T, status?: number, statusText?: string, headers?: Headers): FetchResponse<T>;
37
37
  export declare function buildSuccessMockPayload(networkArgs: Partial<ResourceRequest>, body: any, headers?: Headers): MockPayload;
@@ -21,14 +21,14 @@ export declare function stripProperties(obj: {
21
21
  }, props: string[]): any;
22
22
  export declare function doesThrow(predicate: () => void): boolean;
23
23
  export declare function flushPromises(): Promise<unknown>;
24
- declare type MatcherResult = {
24
+ type MatcherResult = {
25
25
  pass: boolean;
26
26
  message: () => string;
27
27
  };
28
28
  export declare const customMatchers: {
29
- toEqualFulfilledSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[] | undefined) => MatcherResult;
30
- toEqualStaleSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[] | undefined) => MatcherResult;
31
- toEqualErrorSnapshot: (actual: Snapshot<unknown, unknown>, expectedStatus?: number | undefined) => MatcherResult;
29
+ toEqualFulfilledSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[]) => MatcherResult;
30
+ toEqualStaleSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[]) => MatcherResult;
31
+ toEqualErrorSnapshot: (actual: Snapshot<unknown, unknown>, expectedStatus?: number) => MatcherResult;
32
32
  toEqualOfflineErrorSnapshot: (actual: Snapshot<unknown, unknown>) => MatcherResult;
33
33
  toHaveBeenHitTimes: (mockNetworkAdapter: NetworkAdapter, expected: Number) => MatcherResult;
34
34
  toHaveBeenHitOnce: (mockNetworkAdapter: NetworkAdapter) => MatcherResult;
@@ -325,14 +325,15 @@
325
325
  return onNetworkStubCalled(stub, response);
326
326
  });
327
327
  }
328
- function resetMockNetworkAdapter(mockNetworkAdapter) {
328
+ function resetMockNetworkAdapter(mockNetworkAdapter, newPayloads) {
329
329
  const stub = mockNetworkAdapter;
330
330
  // reset stub in case a test modified payload responses
331
331
  stub.reset();
332
332
  // reset call count
333
333
  callCountMap.set(stub, 0);
334
- // set original mock payloads up
335
- const payloads = mockPayloadsMap.get(stub);
334
+ // set mock payloads up - Allow for the test to provide a different set of payloads
335
+ // Default behavior is to reset to the original payloads.
336
+ const payloads = newPayloads ? newPayloads : mockPayloadsMap.get(stub);
336
337
  if (payloads) {
337
338
  setMockNetworkPayloads(stub, payloads);
338
339
  }
@@ -541,6 +542,7 @@
541
542
  expect(result).toEqualFulfilledSnapshotWithData(params.type === 'network'
542
543
  ? params.expectedData || params.network.response
543
544
  : params.expectedData, params.privateProperties);
545
+ return result;
544
546
  }
545
547
  function setupAdapter(params) {
546
548
  const luvio = params.type === 'network' ? buildLuvioWithNetwork(params.network).luvio : params.luvio;
@@ -1,33 +1,33 @@
1
- import type { AdapterFactory, NetworkAdapter } from '@luvio/engine';
1
+ import type { AdapterFactory, NetworkAdapter, Snapshot } from '@luvio/engine';
2
2
  import { Luvio } from '@luvio/engine';
3
3
  import type { MockPayload } from './network';
4
4
  export declare function buildLuvioInstance(mockNetworkAdapter: NetworkAdapter): Luvio;
5
- declare type AdapterRoundtripTestParams<C, D> = AdapterNetworkRoundtripTestParams<C, D> | AdapterNetworkRoundtripWithLuvioTestParams<C, D> | AdapterCacheHitRoundtripTestParams<C, D>;
6
- declare type AdapterTest<C, D> = {
5
+ type AdapterRoundtripTestParams<C, D> = AdapterNetworkRoundtripTestParams<C, D> | AdapterNetworkRoundtripWithLuvioTestParams<C, D> | AdapterCacheHitRoundtripTestParams<C, D>;
6
+ type AdapterTest<C, D> = {
7
7
  adapterFactory: AdapterFactory<C, D>;
8
8
  adapterConfig: C;
9
9
  privateProperties?: string[];
10
10
  };
11
- declare type AdapterTestWithInjectedLuvio<C, D> = AdapterTest<C, D> & {
11
+ type AdapterTestWithInjectedLuvio<C, D> = AdapterTest<C, D> & {
12
12
  luvio: Luvio;
13
13
  expectedData: D;
14
14
  };
15
- declare type NetworkConfig = {
15
+ type NetworkConfig = {
16
16
  request: MockPayload['networkArgs'];
17
17
  response: any;
18
18
  };
19
- declare type AdapterNetworkRoundtripTestParams<C, D> = AdapterTest<C, D> & {
19
+ type AdapterNetworkRoundtripTestParams<C, D> = AdapterTest<C, D> & {
20
20
  type: 'network';
21
21
  network: NetworkConfig;
22
22
  expectedData?: D;
23
23
  };
24
- declare type AdapterNetworkRoundtripWithLuvioTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
24
+ type AdapterNetworkRoundtripWithLuvioTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
25
25
  type: 'injectedLuvioNetwork';
26
26
  };
27
- declare type AdapterCacheHitRoundtripTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
27
+ type AdapterCacheHitRoundtripTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
28
28
  type: 'cache';
29
29
  };
30
- export declare function testAdapterCompletesRoundtrip<C = any, D = any>(params: AdapterRoundtripTestParams<C, D>): Promise<void>;
30
+ export declare function testAdapterCompletesRoundtrip<C = any, D = any>(params: AdapterRoundtripTestParams<C, D>): Promise<Snapshot<D, unknown>>;
31
31
  export declare function buildLuvioWithNetwork(networkConfig: NetworkConfig): {
32
32
  luvio: Luvio;
33
33
  networkAdapter: NetworkAdapter;
@@ -31,7 +31,7 @@ export declare function setMockNetworkPayloads(mockNetworkAdapter: NetworkAdapte
31
31
  * until resetMockNetworkAdapter is called.
32
32
  */
33
33
  export declare function overrideMockNetworkResponses(mockNetworkAdapter: NetworkAdapter, responses: FetchResponse<any>[]): void;
34
- export declare function resetMockNetworkAdapter(mockNetworkAdapter: NetworkAdapter): void;
34
+ export declare function resetMockNetworkAdapter(mockNetworkAdapter: NetworkAdapter, newPayloads?: MockPayload[]): void;
35
35
  export declare function getMockNetworkAdapterCallCount(mockNetworkAdapter: NetworkAdapter): number | undefined;
36
36
  export declare function buildFetchResponse<T>(body: T, status?: number, statusText?: string, headers?: Headers): FetchResponse<T>;
37
37
  export declare function buildSuccessMockPayload(networkArgs: Partial<ResourceRequest>, body: any, headers?: Headers): MockPayload;
@@ -21,14 +21,14 @@ export declare function stripProperties(obj: {
21
21
  }, props: string[]): any;
22
22
  export declare function doesThrow(predicate: () => void): boolean;
23
23
  export declare function flushPromises(): Promise<unknown>;
24
- declare type MatcherResult = {
24
+ type MatcherResult = {
25
25
  pass: boolean;
26
26
  message: () => string;
27
27
  };
28
28
  export declare const customMatchers: {
29
- toEqualFulfilledSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[] | undefined) => MatcherResult;
30
- toEqualStaleSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[] | undefined) => MatcherResult;
31
- toEqualErrorSnapshot: (actual: Snapshot<unknown, unknown>, expectedStatus?: number | undefined) => MatcherResult;
29
+ toEqualFulfilledSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[]) => MatcherResult;
30
+ toEqualStaleSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[]) => MatcherResult;
31
+ toEqualErrorSnapshot: (actual: Snapshot<unknown, unknown>, expectedStatus?: number) => MatcherResult;
32
32
  toEqualOfflineErrorSnapshot: (actual: Snapshot<unknown, unknown>) => MatcherResult;
33
33
  toHaveBeenHitTimes: (mockNetworkAdapter: NetworkAdapter, expected: Number) => MatcherResult;
34
34
  toHaveBeenHitOnce: (mockNetworkAdapter: NetworkAdapter) => MatcherResult;
@@ -404,14 +404,15 @@
404
404
  return onNetworkStubCalled(stub, response);
405
405
  });
406
406
  }
407
- function resetMockNetworkAdapter(mockNetworkAdapter) {
407
+ function resetMockNetworkAdapter(mockNetworkAdapter, newPayloads) {
408
408
  var stub = mockNetworkAdapter;
409
409
  // reset stub in case a test modified payload responses
410
410
  stub.reset();
411
411
  // reset call count
412
412
  callCountMap.set(stub, 0);
413
- // set original mock payloads up
414
- var payloads = mockPayloadsMap.get(stub);
413
+ // set mock payloads up - Allow for the test to provide a different set of payloads
414
+ // Default behavior is to reset to the original payloads.
415
+ var payloads = newPayloads ? newPayloads : mockPayloadsMap.get(stub);
415
416
  if (payloads) {
416
417
  setMockNetworkPayloads(stub, payloads);
417
418
  }
@@ -751,7 +752,7 @@
751
752
  expect(result).toEqualFulfilledSnapshotWithData(params.type === 'network'
752
753
  ? params.expectedData || params.network.response
753
754
  : params.expectedData, params.privateProperties);
754
- return [2 /*return*/];
755
+ return [2 /*return*/, result];
755
756
  }
756
757
  });
757
758
  });
@@ -1,33 +1,33 @@
1
- import type { AdapterFactory, NetworkAdapter } from '@luvio/engine';
1
+ import type { AdapterFactory, NetworkAdapter, Snapshot } from '@luvio/engine';
2
2
  import { Luvio } from '@luvio/engine';
3
3
  import type { MockPayload } from './network';
4
4
  export declare function buildLuvioInstance(mockNetworkAdapter: NetworkAdapter): Luvio;
5
- declare type AdapterRoundtripTestParams<C, D> = AdapterNetworkRoundtripTestParams<C, D> | AdapterNetworkRoundtripWithLuvioTestParams<C, D> | AdapterCacheHitRoundtripTestParams<C, D>;
6
- declare type AdapterTest<C, D> = {
5
+ type AdapterRoundtripTestParams<C, D> = AdapterNetworkRoundtripTestParams<C, D> | AdapterNetworkRoundtripWithLuvioTestParams<C, D> | AdapterCacheHitRoundtripTestParams<C, D>;
6
+ type AdapterTest<C, D> = {
7
7
  adapterFactory: AdapterFactory<C, D>;
8
8
  adapterConfig: C;
9
9
  privateProperties?: string[];
10
10
  };
11
- declare type AdapterTestWithInjectedLuvio<C, D> = AdapterTest<C, D> & {
11
+ type AdapterTestWithInjectedLuvio<C, D> = AdapterTest<C, D> & {
12
12
  luvio: Luvio;
13
13
  expectedData: D;
14
14
  };
15
- declare type NetworkConfig = {
15
+ type NetworkConfig = {
16
16
  request: MockPayload['networkArgs'];
17
17
  response: any;
18
18
  };
19
- declare type AdapterNetworkRoundtripTestParams<C, D> = AdapterTest<C, D> & {
19
+ type AdapterNetworkRoundtripTestParams<C, D> = AdapterTest<C, D> & {
20
20
  type: 'network';
21
21
  network: NetworkConfig;
22
22
  expectedData?: D;
23
23
  };
24
- declare type AdapterNetworkRoundtripWithLuvioTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
24
+ type AdapterNetworkRoundtripWithLuvioTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
25
25
  type: 'injectedLuvioNetwork';
26
26
  };
27
- declare type AdapterCacheHitRoundtripTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
27
+ type AdapterCacheHitRoundtripTestParams<C, D> = AdapterTestWithInjectedLuvio<C, D> & {
28
28
  type: 'cache';
29
29
  };
30
- export declare function testAdapterCompletesRoundtrip<C = any, D = any>(params: AdapterRoundtripTestParams<C, D>): Promise<void>;
30
+ export declare function testAdapterCompletesRoundtrip<C = any, D = any>(params: AdapterRoundtripTestParams<C, D>): Promise<Snapshot<D, unknown>>;
31
31
  export declare function buildLuvioWithNetwork(networkConfig: NetworkConfig): {
32
32
  luvio: Luvio;
33
33
  networkAdapter: NetworkAdapter;
@@ -31,7 +31,7 @@ export declare function setMockNetworkPayloads(mockNetworkAdapter: NetworkAdapte
31
31
  * until resetMockNetworkAdapter is called.
32
32
  */
33
33
  export declare function overrideMockNetworkResponses(mockNetworkAdapter: NetworkAdapter, responses: FetchResponse<any>[]): void;
34
- export declare function resetMockNetworkAdapter(mockNetworkAdapter: NetworkAdapter): void;
34
+ export declare function resetMockNetworkAdapter(mockNetworkAdapter: NetworkAdapter, newPayloads?: MockPayload[]): void;
35
35
  export declare function getMockNetworkAdapterCallCount(mockNetworkAdapter: NetworkAdapter): number | undefined;
36
36
  export declare function buildFetchResponse<T>(body: T, status?: number, statusText?: string, headers?: Headers): FetchResponse<T>;
37
37
  export declare function buildSuccessMockPayload(networkArgs: Partial<ResourceRequest>, body: any, headers?: Headers): MockPayload;
@@ -21,14 +21,14 @@ export declare function stripProperties(obj: {
21
21
  }, props: string[]): any;
22
22
  export declare function doesThrow(predicate: () => void): boolean;
23
23
  export declare function flushPromises(): Promise<unknown>;
24
- declare type MatcherResult = {
24
+ type MatcherResult = {
25
25
  pass: boolean;
26
26
  message: () => string;
27
27
  };
28
28
  export declare const customMatchers: {
29
- toEqualFulfilledSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[] | undefined) => MatcherResult;
30
- toEqualStaleSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[] | undefined) => MatcherResult;
31
- toEqualErrorSnapshot: (actual: Snapshot<unknown, unknown>, expectedStatus?: number | undefined) => MatcherResult;
29
+ toEqualFulfilledSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[]) => MatcherResult;
30
+ toEqualStaleSnapshotWithData: (snapshot: Snapshot<unknown, unknown>, expected: any, privateProperties?: string[]) => MatcherResult;
31
+ toEqualErrorSnapshot: (actual: Snapshot<unknown, unknown>, expectedStatus?: number) => MatcherResult;
32
32
  toEqualOfflineErrorSnapshot: (actual: Snapshot<unknown, unknown>) => MatcherResult;
33
33
  toHaveBeenHitTimes: (mockNetworkAdapter: NetworkAdapter, expected: Number) => MatcherResult;
34
34
  toHaveBeenHitOnce: (mockNetworkAdapter: NetworkAdapter) => MatcherResult;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luvio/adapter-test-library",
3
- "version": "0.138.2",
3
+ "version": "0.138.4",
4
4
  "description": "Test library for luvio adapters",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,8 +21,8 @@
21
21
  "sinon": "^14.0.0"
22
22
  },
23
23
  "devDependencies": {
24
- "@luvio/engine": "^0.138.2",
25
- "@luvio/environments": "^0.138.2",
24
+ "@luvio/engine": "^0.138.4",
25
+ "@luvio/environments": "^0.138.4",
26
26
  "@types/sinon": "^7.5.2"
27
27
  },
28
28
  "volta": {
@@ -47,7 +47,7 @@ type AdapterCacheHitRoundtripTestParams<C, D> = AdapterTestWithInjectedLuvio<C,
47
47
 
48
48
  export async function testAdapterCompletesRoundtrip<C = any, D = any>(
49
49
  params: AdapterRoundtripTestParams<C, D>
50
- ): Promise<void> {
50
+ ): Promise<Snapshot<D, unknown>> {
51
51
  const adapterSetup = setupAdapter<C, D>(params);
52
52
  const result = await callAdapter(adapterSetup, params);
53
53
 
@@ -58,6 +58,7 @@ export async function testAdapterCompletesRoundtrip<C = any, D = any>(
58
58
  : params.expectedData,
59
59
  params.privateProperties
60
60
  );
61
+ return result;
61
62
  }
62
63
 
63
64
  function setupAdapter<C = any, D = any>(params: AdapterRoundtripTestParams<C, D>): Adapter<C, D> {
package/src/network.ts CHANGED
@@ -171,7 +171,10 @@ export function overrideMockNetworkResponses(
171
171
  });
172
172
  }
173
173
 
174
- export function resetMockNetworkAdapter(mockNetworkAdapter: NetworkAdapter): void {
174
+ export function resetMockNetworkAdapter(
175
+ mockNetworkAdapter: NetworkAdapter,
176
+ newPayloads?: MockPayload[]
177
+ ): void {
175
178
  const stub = mockNetworkAdapter as sinon.SinonStub;
176
179
 
177
180
  // reset stub in case a test modified payload responses
@@ -180,8 +183,9 @@ export function resetMockNetworkAdapter(mockNetworkAdapter: NetworkAdapter): voi
180
183
  // reset call count
181
184
  callCountMap.set(stub, 0);
182
185
 
183
- // set original mock payloads up
184
- const payloads = mockPayloadsMap.get(stub);
186
+ // set mock payloads up - Allow for the test to provide a different set of payloads
187
+ // Default behavior is to reset to the original payloads.
188
+ const payloads = newPayloads ? newPayloads : mockPayloadsMap.get(stub);
185
189
  if (payloads) {
186
190
  setMockNetworkPayloads(stub, payloads);
187
191
  }