-
Notifications
You must be signed in to change notification settings - Fork 320
/
IntrospectToken_spec.js
58 lines (54 loc) · 1.7 KB
/
IntrospectToken_spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* eslint max-params: [2, 25] */
import { _, $ } from 'okta';
import OktaAuth from '@okta/okta-auth-js/jquery';
import Beacon from 'helpers/dom/Beacon';
import FormView from 'helpers/dom/Form';
import Util from 'helpers/mocks/Util';
import Expect from 'helpers/util/Expect';
import resFactorRequiredEmail from 'helpers/xhr/v2/FACTOR_REQUIRED_EMAIL';
import $sandbox from 'sandbox';
import Router from 'v2/WidgetRouter';
const itp = Expect.itp;
function setup (settings, resp) {
const setNextResponse = Util.mockAjax();
const baseUrl = 'https://foo.com';
const authClient = new OktaAuth({ url: baseUrl });
const router = new Router(_.extend({
el: $sandbox,
baseUrl: baseUrl,
authClient: authClient,
useIdxPipeline: true
}, settings));
const beacon = new Beacon($sandbox);
const form = new FormView($sandbox);
Util.registerRouter(router);
Util.mockRouterNavigate(router);
Util.mockJqueryCss();
setNextResponse(resp);
return Util.mockIntrospectResponse(router, resp).then(function () {
return {
router: router,
beacon: beacon,
form: form,
ac: authClient,
setNextResponse: setNextResponse
};
});
}
Expect.describe('Introspect API', function () {
itp('makes introspect API call to refresh auth state on render', function () {
return setup({ stateToken: 'dummy-token' }, resFactorRequiredEmail)
.then(function () {
return Expect.waitForSpyCall($.ajax);
})
.then(function () {
expect($.ajax.calls.count()).toBe(1);
Expect.isJsonPost($.ajax.calls.argsFor(0), {
url: 'https://foo.com/idp/idx/introspect',
data: {
stateToken: 'dummy-token',
}
});
});
});
});