@cratis/arc.react 18.7.20 → 18.7.21

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.
Files changed (57) hide show
  1. package/commands/for_useCommand/when_creating_instance_with_initial_values.ts +3 -1
  2. package/dist/cjs/identity/IdentityProvider.d.ts.map +1 -1
  3. package/dist/cjs/identity/IdentityProvider.js +25 -9
  4. package/dist/cjs/identity/IdentityProvider.js.map +1 -1
  5. package/dist/cjs/identity/for_IdentityProvider/given/an_identity_provider.d.ts +26 -0
  6. package/dist/cjs/identity/for_IdentityProvider/given/an_identity_provider.d.ts.map +1 -0
  7. package/dist/cjs/identity/for_IdentityProvider/when_initial_fetch_fails.d.ts +2 -0
  8. package/dist/cjs/identity/for_IdentityProvider/when_initial_fetch_fails.d.ts.map +1 -0
  9. package/dist/cjs/identity/for_IdentityProvider/when_initial_fetch_succeeds.d.ts +2 -0
  10. package/dist/cjs/identity/for_IdentityProvider/when_initial_fetch_succeeds.d.ts.map +1 -0
  11. package/dist/cjs/identity/for_IdentityProvider/when_refresh_is_called/after_initial_failure.d.ts +2 -0
  12. package/dist/cjs/identity/for_IdentityProvider/when_refresh_is_called/after_initial_failure.d.ts.map +1 -0
  13. package/dist/cjs/identity/for_IdentityProvider/when_refresh_is_called/and_fails.d.ts +2 -0
  14. package/dist/cjs/identity/for_IdentityProvider/when_refresh_is_called/and_fails.d.ts.map +1 -0
  15. package/dist/cjs/identity/for_IdentityProvider/when_refresh_is_called/and_succeeds.d.ts +2 -0
  16. package/dist/cjs/identity/for_IdentityProvider/when_refresh_is_called/and_succeeds.d.ts.map +1 -0
  17. package/dist/esm/commands/for_useCommand/when_creating_instance_with_initial_values.js +3 -1
  18. package/dist/esm/commands/for_useCommand/when_creating_instance_with_initial_values.js.map +1 -1
  19. package/dist/esm/identity/IdentityProvider.d.ts.map +1 -1
  20. package/dist/esm/identity/IdentityProvider.js +25 -9
  21. package/dist/esm/identity/IdentityProvider.js.map +1 -1
  22. package/dist/esm/identity/for_IdentityProvider/given/an_identity_provider.d.ts +26 -0
  23. package/dist/esm/identity/for_IdentityProvider/given/an_identity_provider.d.ts.map +1 -0
  24. package/dist/esm/identity/for_IdentityProvider/given/an_identity_provider.js +75 -0
  25. package/dist/esm/identity/for_IdentityProvider/given/an_identity_provider.js.map +1 -0
  26. package/dist/esm/identity/for_IdentityProvider/when_initial_fetch_fails.d.ts +2 -0
  27. package/dist/esm/identity/for_IdentityProvider/when_initial_fetch_fails.d.ts.map +1 -0
  28. package/dist/esm/identity/for_IdentityProvider/when_initial_fetch_fails.js +27 -0
  29. package/dist/esm/identity/for_IdentityProvider/when_initial_fetch_fails.js.map +1 -0
  30. package/dist/esm/identity/for_IdentityProvider/when_initial_fetch_succeeds.d.ts +2 -0
  31. package/dist/esm/identity/for_IdentityProvider/when_initial_fetch_succeeds.d.ts.map +1 -0
  32. package/dist/esm/identity/for_IdentityProvider/when_initial_fetch_succeeds.js +21 -0
  33. package/dist/esm/identity/for_IdentityProvider/when_initial_fetch_succeeds.js.map +1 -0
  34. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/after_initial_failure.d.ts +2 -0
  35. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/after_initial_failure.d.ts.map +1 -0
  36. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/after_initial_failure.js +19 -0
  37. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/after_initial_failure.js.map +1 -0
  38. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/and_fails.d.ts +2 -0
  39. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/and_fails.d.ts.map +1 -0
  40. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/and_fails.js +14 -0
  41. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/and_fails.js.map +1 -0
  42. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/and_succeeds.d.ts +2 -0
  43. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/and_succeeds.d.ts.map +1 -0
  44. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/and_succeeds.js +17 -0
  45. package/dist/esm/identity/for_IdentityProvider/when_refresh_is_called/and_succeeds.js.map +1 -0
  46. package/dist/esm/identity/for_IdentityProvider/when_refreshing_identity.js +15 -45
  47. package/dist/esm/identity/for_IdentityProvider/when_refreshing_identity.js.map +1 -1
  48. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  49. package/identity/IdentityProvider.tsx +28 -9
  50. package/identity/for_IdentityProvider/given/an_identity_provider.ts +103 -0
  51. package/identity/for_IdentityProvider/when_initial_fetch_fails.ts +35 -0
  52. package/identity/for_IdentityProvider/when_initial_fetch_succeeds.ts +29 -0
  53. package/identity/for_IdentityProvider/when_refresh_is_called/after_initial_failure.ts +29 -0
  54. package/identity/for_IdentityProvider/when_refresh_is_called/and_fails.ts +23 -0
  55. package/identity/for_IdentityProvider/when_refresh_is_called/and_succeeds.ts +30 -0
  56. package/identity/for_IdentityProvider/when_refreshing_identity.ts +17 -51
  57. package/package.json +2 -2
@@ -1,47 +1,17 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { IdentityProvider } from '../IdentityProvider';
4
- import { useIdentity } from '../useIdentity';
5
- import { createFetchHelper } from '@cratis/arc/helpers/fetchHelper';
6
- describe('when refreshing identity', async () => {
7
- let capturedIdentity = null;
8
- let renderCount = 0;
9
- let initialRenderCount = 0;
10
- let reRendered = false;
11
- let newId = '';
12
- let newName = '';
13
- const TestComponent = () => {
14
- renderCount++;
15
- capturedIdentity = useIdentity();
16
- return React.createElement('div', null, 'Test');
17
- };
18
- const fetchHelper = createFetchHelper();
19
- const mockFetch = fetchHelper.stubFetch();
20
- mockFetch.onFirstCall().resolves({
21
- json: async () => ({
22
- id: 'initial-id',
23
- name: 'Initial User',
24
- details: { role: 'user' }
25
- })
1
+ import { given } from '../../given';
2
+ import { an_identity_provider } from './given/an_identity_provider';
3
+ describe('when refreshing identity', given(an_identity_provider, context => {
4
+ let newId;
5
+ let newName;
6
+ beforeEach(async () => {
7
+ context.setupSuccessfulIdentityFetch('initial-id', 'Initial User', { role: 'user' });
8
+ context.renderProvider();
9
+ await context.waitForAsyncUpdates();
10
+ newId = context.capturedIdentity.id;
11
+ newName = context.capturedIdentity.name;
26
12
  });
27
- mockFetch.onSecondCall().resolves({
28
- json: async () => ({
29
- id: 'new-id',
30
- name: 'Updated User',
31
- details: { role: 'admin' }
32
- })
33
- });
34
- render(React.createElement(IdentityProvider, null, React.createElement(TestComponent)));
35
- await new Promise(resolve => setTimeout(resolve, 100));
36
- initialRenderCount = renderCount;
37
- await capturedIdentity.refresh();
38
- await new Promise(resolve => setTimeout(resolve, 100));
39
- reRendered = renderCount > initialRenderCount;
40
- newId = capturedIdentity.id;
41
- newName = capturedIdentity.name;
42
- it('should trigger re-render', () => reRendered.should.be.true);
43
- it('should have new id', () => newId.should.equal('new-id'));
44
- it('should have new name', () => newName.should.equal('Updated User'));
45
- fetchHelper.restore();
46
- });
13
+ afterEach(() => context.cleanup());
14
+ it('should load identity id', () => newId.should.equal('initial-id'));
15
+ it('should load identity name', () => newName.should.equal('Initial User'));
16
+ }));
47
17
  //# sourceMappingURL=when_refreshing_identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"when_refreshing_identity.js","sourceRoot":"","sources":["../../../../identity/for_IdentityProvider/when_refreshing_identity.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,QAAQ,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;IAC5C,IAAI,gBAAgB,GAAqB,IAAI,CAAC;IAC9C,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,WAAW,EAAE,CAAC;QACd,gBAAgB,GAAG,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;IAC1C,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;QAC7B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACf,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC5B,CAAC;KACO,CAAC,CAAC;IACf,SAAS,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACf,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7B,CAAC;KACO,CAAC,CAAC;IAEf,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAExF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAEvD,kBAAkB,GAAG,WAAW,CAAC;IAEjC,MAAM,gBAAiB,CAAC,OAAO,EAAE,CAAC;IAClC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAEvD,UAAU,GAAG,WAAW,GAAG,kBAAkB,CAAC;IAC9C,KAAK,GAAG,gBAAiB,CAAC,EAAE,CAAC;IAC7B,OAAO,GAAG,gBAAiB,CAAC,IAAI,CAAC;IAEjC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAChE,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAEvE,WAAW,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"when_refreshing_identity.js","sourceRoot":"","sources":["../../../../identity/for_IdentityProvider/when_refreshing_identity.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,QAAQ,CAAC,0BAA0B,EAAE,KAAK,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAAE;IACvE,IAAI,KAAa,CAAC;IAClB,IAAI,OAAe,CAAC;IAEpB,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,OAAO,CAAC,4BAA4B,CAAC,YAAY,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAErF,OAAO,CAAC,cAAc,EAAE,CAAC;QACzB,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAEpC,KAAK,GAAG,OAAO,CAAC,gBAAiB,CAAC,EAAE,CAAC;QACrC,OAAO,GAAG,OAAO,CAAC,gBAAiB,CAAC,IAAI,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAGnC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACtE,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC,CAAC"}