-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.test.ts
51 lines (43 loc) · 1.16 KB
/
config.test.ts
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
import {
configureAuthentication,
getConfig,
Config,
getService,
setConfig,
setService
} from '../src/config';
describe('config', () => {
afterEach(() => {
setConfig(null);
setService(null);
});
test('default values', () => {
configureAuthentication();
expect(getConfig()).toEqual({
authenticationUrl: '/api/authentication',
currentUserUrl: '/api/authentication/current',
loginRoute: '/login',
dashboardRoute: '/'
});
});
test('configuration lifecycle', () => {
// When not initialized it should throw an error.
expect(() => getConfig()).toThrow(
'The authentication service is not initialized.'
);
expect(() => getService()).toThrow(
'The authentication service is not initialized.'
);
// Next we initialize the config.
const config: Config = {
authenticationUrl: '/api/authentication',
currentUserUrl: '/api/authentication/current',
loginRoute: '/login',
dashboardRoute: '/'
};
configureAuthentication(config);
// Now we expect the config to be set.
expect(getConfig()).toBe(config);
expect(getService()).not.toBe(null);
});
});