@equinor/fusion-framework-vitest-plugin-react-app 1.0.6 → 1.0.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/README.md +24 -8
- package/dist/esm/render-app-hook.js +12 -3
- package/dist/esm/render-app-hook.js.map +1 -1
- package/dist/esm/scope/resolve-fusion.js +11 -1
- package/dist/esm/scope/resolve-fusion.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/render-app-hook.d.ts +12 -3
- package/dist/types/version.d.ts +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -165,19 +165,35 @@ test('resolves an access token', async () => {
|
|
|
165
165
|
});
|
|
166
166
|
```
|
|
167
167
|
|
|
168
|
-
###
|
|
168
|
+
### Acquire a token for a named user
|
|
169
169
|
|
|
170
|
-
|
|
170
|
+
Configure the MSAL mock's token source when a test needs identity claims other than the
|
|
171
|
+
default `Test User`. The acquired token becomes both the access token and active account:
|
|
171
172
|
|
|
172
173
|
```tsx
|
|
174
|
+
import { createMockToken } from '@equinor/fusion-framework-module-msal/mock';
|
|
175
|
+
import { useAccessToken } from '@equinor/fusion-framework-react-app/msal';
|
|
173
176
|
import { renderAppHook } from '@equinor/fusion-framework-vitest-plugin-react-app';
|
|
174
|
-
import { useCurrentAccount } from '@equinor/fusion-framework-react-app/msal';
|
|
175
177
|
|
|
176
|
-
test('
|
|
177
|
-
const { result } = await renderAppHook(
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
178
|
+
test('acquires a token for a named user', async () => {
|
|
179
|
+
const { result, fusion } = await renderAppHook(
|
|
180
|
+
() => useAccessToken({ scopes: ['User.Read'] }),
|
|
181
|
+
{
|
|
182
|
+
configure: (configurator) =>
|
|
183
|
+
configurator.msal.setAcquireToken(({ clientId, scopes }) =>
|
|
184
|
+
createMockToken({
|
|
185
|
+
aud: clientId,
|
|
186
|
+
scp: scopes.join(' '),
|
|
187
|
+
name: 'Ada Lovelace',
|
|
188
|
+
preferred_username: 'ada@equinor.com',
|
|
189
|
+
oid: 'ada-lovelace',
|
|
190
|
+
}),
|
|
191
|
+
),
|
|
192
|
+
},
|
|
193
|
+
);
|
|
194
|
+
|
|
195
|
+
await vi.waitFor(() => expect(result.current.pending).toBe(false));
|
|
196
|
+
expect(fusion.framework.modules.auth.account?.name).toBe('Ada Lovelace');
|
|
181
197
|
});
|
|
182
198
|
```
|
|
183
199
|
|
|
@@ -29,11 +29,20 @@ import { resolveAppScope, createAppScopeWrapper } from './scope';
|
|
|
29
29
|
* await vi.waitFor(() => expect(result.current.pending).toBe(false));
|
|
30
30
|
* ```
|
|
31
31
|
*
|
|
32
|
-
* @example
|
|
32
|
+
* @example Acquire a token for a named user
|
|
33
33
|
* ```tsx
|
|
34
|
-
* const { result } = await renderAppHook(() =>
|
|
35
|
-
* configure: (configurator) =>
|
|
34
|
+
* const { result } = await renderAppHook(() => useAccessToken({ scopes: ['User.Read'] }), {
|
|
35
|
+
* configure: (configurator) =>
|
|
36
|
+
* configurator.msal.setAcquireToken(({ clientId, scopes }) =>
|
|
37
|
+
* createMockToken({
|
|
38
|
+
* aud: clientId,
|
|
39
|
+
* scp: scopes.join(' '),
|
|
40
|
+
* name: 'Ada Lovelace',
|
|
41
|
+
* oid: 'ada-lovelace',
|
|
42
|
+
* }),
|
|
43
|
+
* ),
|
|
36
44
|
* });
|
|
45
|
+
* await vi.waitFor(() => expect(result.current.pending).toBe(false));
|
|
37
46
|
* ```
|
|
38
47
|
*
|
|
39
48
|
* @example Reuse a pre-built parent Fusion instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-app-hook.js","sourceRoot":"","sources":["../../src/render-app-hook.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAQlD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA0DjE
|
|
1
|
+
{"version":3,"file":"render-app-hook.js","sourceRoot":"","sources":["../../src/render-app-hook.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAQlD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA0DjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAMjC,MAAwC,EACxC,OAAqD;IAErD,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IACvF,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,eAAe,CAAiB;QAC/D,SAAS;QACT,GAAG;QACH,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE;QACtC,GAAG,iBAAiB;QACpB,OAAO,EAAE,qBAAqB,CAAW,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;KAC7D,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC;AACnD,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mockFramework, } from '@equinor/fusion-framework/mock';
|
|
1
|
+
import { createMockToken, mockFramework, } from '@equinor/fusion-framework/mock';
|
|
2
2
|
import { enableAppManifestMock } from '@equinor/fusion-framework-app/mock';
|
|
3
3
|
import { enableFeatureFlagMock } from '@equinor/fusion-framework-module-feature-flag/mock';
|
|
4
4
|
import { enableNavigation, createHistory } from '@equinor/fusion-framework-module-navigation';
|
|
@@ -40,6 +40,16 @@ export async function resolveFusion(options) {
|
|
|
40
40
|
const { env, fusion, configure, runtimeDependencies = [] } = options ?? {};
|
|
41
41
|
return (fusion ??
|
|
42
42
|
mockFramework(async (configurator) => {
|
|
43
|
+
configurator.msal.setAcquireToken(({ scopes, account, clientId }) => account
|
|
44
|
+
? createMockToken({
|
|
45
|
+
name: account.name,
|
|
46
|
+
preferred_username: account.username,
|
|
47
|
+
oid: account.localAccountId,
|
|
48
|
+
tid: account.tenantId,
|
|
49
|
+
aud: clientId,
|
|
50
|
+
scp: scopes.join(' '),
|
|
51
|
+
})
|
|
52
|
+
: null);
|
|
43
53
|
enableAppManifestMock(configurator, env ?? defaultAppEnv);
|
|
44
54
|
enableNavigation(configurator, {
|
|
45
55
|
configure: (config) => config.setHistory(createHistory('memory')),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-fusion.js","sourceRoot":"","sources":["../../../src/scope/resolve-fusion.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,GAGd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG9F,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMlD,MAAM,gBAAgB,GAAgD,IAAI,GAAG,CAAC;IAC5E,CAAC,+CAA+C,EAAE,qBAAqB,CAAC;CACzE,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,YAAsE,EACtE,mBAA0C;IAE1C,+FAA+F;IAC/F,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,uEAAuE;QACvE,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAA+B,OAKjE;IACC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,GAAG,EAAE,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3E,OAAO,CACL,MAAM;QACN,aAAa,CAAgC,KAAK,EAAE,YAAY,EAAE,EAAE;YAClE,qBAAqB,CAAC,YAAY,EAAE,GAAG,IAAK,aAAsB,CAAC,CAAC;YACpE,gBAAgB,CAAC,YAAY,EAAE;gBAC7B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAClE,CAAC,CAAC;YACH,oBAAoB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;YACxD,MAAM,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"resolve-fusion.js","sourceRoot":"","sources":["../../../src/scope/resolve-fusion.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,aAAa,GAGd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG9F,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMlD,MAAM,gBAAgB,GAAgD,IAAI,GAAG,CAAC;IAC5E,CAAC,+CAA+C,EAAE,qBAAqB,CAAC;CACzE,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,YAAsE,EACtE,mBAA0C;IAE1C,+FAA+F;IAC/F,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,uEAAuE;QACvE,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAA+B,OAKjE;IACC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,GAAG,EAAE,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3E,OAAO,CACL,MAAM;QACN,aAAa,CAAgC,KAAK,EAAE,YAAY,EAAE,EAAE;YAClE,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAClE,OAAO;gBACL,CAAC,CAAC,eAAe,CAAC;oBACd,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,kBAAkB,EAAE,OAAO,CAAC,QAAQ;oBACpC,GAAG,EAAE,OAAO,CAAC,cAAc;oBAC3B,GAAG,EAAE,OAAO,CAAC,QAAQ;oBACrB,GAAG,EAAE,QAAQ;oBACb,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;iBACtB,CAAC;gBACJ,CAAC,CAAC,IAAI,CACT,CAAC;YACF,qBAAqB,CAAC,YAAY,EAAE,GAAG,IAAK,aAAsB,CAAC,CAAC;YACpE,gBAAgB,CAAC,YAAY,EAAE;gBAC7B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAClE,CAAC,CAAC;YACH,oBAAoB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;YACxD,MAAM,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
package/dist/esm/version.js
CHANGED