@memberjunction/ng-auth-services 4.2.0 → 4.3.0

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=auth-services.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-services.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/auth-services.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * Tests for auth-services package:
3
+ * - AngularAuthProviderFactory
4
+ * - Auth types
5
+ * - MJAuthBase (via dynamic import)
6
+ */
7
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
8
+ // Mock Angular
9
+ vi.mock('@angular/core', () => ({
10
+ Injectable: () => (target) => target,
11
+ Injector: class {
12
+ },
13
+ }));
14
+ vi.mock('@memberjunction/global', () => ({
15
+ MJGlobal: {
16
+ Instance: {
17
+ ClassFactory: {
18
+ CreateInstance: vi.fn(),
19
+ GetRegistrationsByRootClass: vi.fn(() => []),
20
+ GetRegistration: vi.fn(),
21
+ },
22
+ }
23
+ },
24
+ }));
25
+ vi.mock('@memberjunction/core', () => ({
26
+ AuthProviderConfig: class {
27
+ },
28
+ }));
29
+ vi.mock('rxjs', async () => {
30
+ const actual = await vi.importActual('rxjs');
31
+ return actual;
32
+ });
33
+ // ======================= Auth types =======================
34
+ describe('AuthErrorType enum', () => {
35
+ it('should have expected error types', async () => {
36
+ const { AuthErrorType } = await import('../auth-types');
37
+ expect(AuthErrorType.TOKEN_EXPIRED).toBe('TOKEN_EXPIRED');
38
+ expect(AuthErrorType.NO_ACTIVE_SESSION).toBe('NO_ACTIVE_SESSION');
39
+ expect(AuthErrorType.INTERACTION_REQUIRED).toBe('INTERACTION_REQUIRED');
40
+ expect(AuthErrorType.USER_CANCELLED).toBe('USER_CANCELLED');
41
+ expect(AuthErrorType.NETWORK_ERROR).toBe('NETWORK_ERROR');
42
+ expect(AuthErrorType.CONFIGURATION_ERROR).toBe('CONFIGURATION_ERROR');
43
+ expect(AuthErrorType.UNKNOWN_ERROR).toBe('UNKNOWN_ERROR');
44
+ });
45
+ });
46
+ // ======================= IAuthProvider interface =======================
47
+ describe('IAuthProvider interface', () => {
48
+ it('should export the interface module', async () => {
49
+ const mod = await import('../IAuthProvider');
50
+ expect(mod).toBeDefined();
51
+ });
52
+ });
53
+ // ======================= MJAuthBase =======================
54
+ describe('MJAuthBase', () => {
55
+ let MJAuthBase;
56
+ beforeEach(async () => {
57
+ // Mock window before importing
58
+ global.window = { location: { pathname: '/test', search: '?q=1' } };
59
+ const mod = await import('../mjexplorer-auth-base.service');
60
+ MJAuthBase = mod.MJAuthBase;
61
+ });
62
+ it('should be importable', () => {
63
+ expect(MJAuthBase).toBeDefined();
64
+ });
65
+ it('should capture initial window location in constructor', () => {
66
+ // Create a concrete test subclass inline
67
+ class TestProvider extends MJAuthBase {
68
+ type = 'test';
69
+ async initialize() { }
70
+ async loginInternal() { }
71
+ async logout() { }
72
+ async handleCallback() { }
73
+ async extractIdTokenInternal() { return 'token'; }
74
+ async extractTokenInfoInternal() { return { idToken: 'token', expiresAt: 0 }; }
75
+ async extractUserInfoInternal() { return { id: '1', email: 'a@b.c', name: 'Test' }; }
76
+ async refreshTokenInternal() { return { success: true, token: { idToken: 'token', expiresAt: 0 } }; }
77
+ classifyErrorInternal() { return { type: 'UNKNOWN_ERROR', message: 'err' }; }
78
+ async getProfilePictureUrlInternal() { return null; }
79
+ async handleSessionExpiryInternal() { }
80
+ }
81
+ const provider = new TestProvider({ name: 'test', type: 'test', clientId: 'test-client' });
82
+ expect(provider.initialPath).toBe('/test');
83
+ expect(provider.initialSearch).toBe('?q=1');
84
+ });
85
+ it('should validate config with clientId', () => {
86
+ class TestProvider extends MJAuthBase {
87
+ type = 'test';
88
+ async initialize() { }
89
+ async loginInternal() { }
90
+ async logout() { }
91
+ async handleCallback() { }
92
+ async extractIdTokenInternal() { return 'token'; }
93
+ async extractTokenInfoInternal() { return { idToken: 'token', expiresAt: 0 }; }
94
+ async extractUserInfoInternal() { return { id: '1', email: 'a@b.c', name: 'Test' }; }
95
+ async refreshTokenInternal() { return { success: true, token: { idToken: 'token', expiresAt: 0 } }; }
96
+ classifyErrorInternal() { return { type: 'UNKNOWN_ERROR', message: 'err' }; }
97
+ async getProfilePictureUrlInternal() { return null; }
98
+ async handleSessionExpiryInternal() { }
99
+ }
100
+ const provider = new TestProvider({ name: 'test', type: 'test', clientId: 'test-client' });
101
+ expect(provider.validateConfig({ clientId: 'my-client' })).toBe(true);
102
+ expect(provider.validateConfig({})).toBe(false);
103
+ expect(provider.validateConfig({ clientId: '' })).toBe(false);
104
+ });
105
+ it('should return clientId as required config', () => {
106
+ class TestProvider extends MJAuthBase {
107
+ type = 'test';
108
+ async initialize() { }
109
+ async loginInternal() { }
110
+ async logout() { }
111
+ async handleCallback() { }
112
+ async extractIdTokenInternal() { return 'token'; }
113
+ async extractTokenInfoInternal() { return { idToken: 'token', expiresAt: 0 }; }
114
+ async extractUserInfoInternal() { return { id: '1', email: 'a@b.c', name: 'Test' }; }
115
+ async refreshTokenInternal() { return { success: true, token: { idToken: 'token', expiresAt: 0 } }; }
116
+ classifyErrorInternal() { return { type: 'UNKNOWN_ERROR', message: 'err' }; }
117
+ async getProfilePictureUrlInternal() { return null; }
118
+ async handleSessionExpiryInternal() { }
119
+ }
120
+ const provider = new TestProvider({ name: 'test', type: 'test', clientId: 'test-client' });
121
+ expect(provider.getRequiredConfig()).toEqual(['clientId']);
122
+ });
123
+ it('should emit false for isAuthenticated initially', () => {
124
+ class TestProvider extends MJAuthBase {
125
+ type = 'test';
126
+ async initialize() { }
127
+ async loginInternal() { }
128
+ async logout() { }
129
+ async handleCallback() { }
130
+ async extractIdTokenInternal() { return 'token'; }
131
+ async extractTokenInfoInternal() { return { idToken: 'token', expiresAt: 0 }; }
132
+ async extractUserInfoInternal() { return { id: '1', email: 'a@b.c', name: 'Test' }; }
133
+ async refreshTokenInternal() { return { success: true, token: { idToken: 'token', expiresAt: 0 } }; }
134
+ classifyErrorInternal() { return { type: 'UNKNOWN_ERROR', message: 'err' }; }
135
+ async getProfilePictureUrlInternal() { return null; }
136
+ async handleSessionExpiryInternal() { }
137
+ }
138
+ const provider = new TestProvider({ name: 'test', type: 'test', clientId: 'test-client' });
139
+ let value;
140
+ provider.isAuthenticated().subscribe(v => value = v);
141
+ expect(value).toBe(false);
142
+ });
143
+ it('should emit null for getUserInfo initially', () => {
144
+ class TestProvider extends MJAuthBase {
145
+ type = 'test';
146
+ async initialize() { }
147
+ async loginInternal() { }
148
+ async logout() { }
149
+ async handleCallback() { }
150
+ async extractIdTokenInternal() { return 'token'; }
151
+ async extractTokenInfoInternal() { return { idToken: 'token', expiresAt: 0 }; }
152
+ async extractUserInfoInternal() { return { id: '1', email: 'a@b.c', name: 'Test' }; }
153
+ async refreshTokenInternal() { return { success: true, token: { idToken: 'token', expiresAt: 0 } }; }
154
+ classifyErrorInternal() { return { type: 'UNKNOWN_ERROR', message: 'err' }; }
155
+ async getProfilePictureUrlInternal() { return null; }
156
+ async handleSessionExpiryInternal() { }
157
+ }
158
+ const provider = new TestProvider({ name: 'test', type: 'test', clientId: 'test-client' });
159
+ let value = 'not-null';
160
+ provider.getUserInfo().subscribe(v => value = v);
161
+ expect(value).toBeNull();
162
+ });
163
+ it('should delegate classifyError to classifyErrorInternal', () => {
164
+ class TestProvider extends MJAuthBase {
165
+ type = 'test';
166
+ async initialize() { }
167
+ async loginInternal() { }
168
+ async logout() { }
169
+ async handleCallback() { }
170
+ async extractIdTokenInternal() { return 'token'; }
171
+ async extractTokenInfoInternal() { return { idToken: 'token', expiresAt: 0 }; }
172
+ async extractUserInfoInternal() { return { id: '1', email: 'a@b.c', name: 'Test' }; }
173
+ async refreshTokenInternal() { return { success: true, token: { idToken: 'token', expiresAt: 0 } }; }
174
+ classifyErrorInternal() { return { type: 'UNKNOWN_ERROR', message: 'Custom error msg' }; }
175
+ async getProfilePictureUrlInternal() { return null; }
176
+ async handleSessionExpiryInternal() { }
177
+ }
178
+ const provider = new TestProvider({ name: 'test', type: 'test', clientId: 'test-client' });
179
+ const result = provider.classifyError(new Error('test'));
180
+ expect(result.type).toBe('UNKNOWN_ERROR');
181
+ expect(result.message).toBe('Custom error msg');
182
+ });
183
+ it('should return token from getIdToken', async () => {
184
+ class TestProvider extends MJAuthBase {
185
+ type = 'test';
186
+ async initialize() { }
187
+ async loginInternal() { }
188
+ async logout() { }
189
+ async handleCallback() { }
190
+ async extractIdTokenInternal() { return 'my-test-token'; }
191
+ async extractTokenInfoInternal() { return { idToken: 'token', expiresAt: 0 }; }
192
+ async extractUserInfoInternal() { return { id: '1', email: 'a@b.c', name: 'Test' }; }
193
+ async refreshTokenInternal() { return { success: true, token: { idToken: 'token', expiresAt: 0 } }; }
194
+ classifyErrorInternal() { return { type: 'UNKNOWN_ERROR', message: 'err' }; }
195
+ async getProfilePictureUrlInternal() { return null; }
196
+ async handleSessionExpiryInternal() { }
197
+ }
198
+ const provider = new TestProvider({ name: 'test', type: 'test', clientId: 'test-client' });
199
+ const token = await provider.getIdToken();
200
+ expect(token).toBe('my-test-token');
201
+ });
202
+ it('should return an observable from login', () => {
203
+ class TestProvider extends MJAuthBase {
204
+ type = 'test';
205
+ async initialize() { }
206
+ async loginInternal() { }
207
+ async logout() { }
208
+ async handleCallback() { }
209
+ async extractIdTokenInternal() { return 'token'; }
210
+ async extractTokenInfoInternal() { return { idToken: 'token', expiresAt: 0 }; }
211
+ async extractUserInfoInternal() { return { id: '1', email: 'a@b.c', name: 'Test' }; }
212
+ async refreshTokenInternal() { return { success: true, token: { idToken: 'token', expiresAt: 0 } }; }
213
+ classifyErrorInternal() { return { type: 'UNKNOWN_ERROR', message: 'err' }; }
214
+ async getProfilePictureUrlInternal() { return null; }
215
+ async handleSessionExpiryInternal() { }
216
+ }
217
+ const provider = new TestProvider({ name: 'test', type: 'test', clientId: 'test-client' });
218
+ const result = provider.login();
219
+ expect(result).toBeDefined();
220
+ expect(typeof result.subscribe).toBe('function');
221
+ });
222
+ });
223
+ // ======================= AngularAuthProviderFactory =======================
224
+ describe('AngularAuthProviderFactory', () => {
225
+ let Factory;
226
+ beforeEach(async () => {
227
+ const mod = await import('../AngularAuthProviderFactory');
228
+ Factory = mod.AngularAuthProviderFactory;
229
+ });
230
+ it('should create a new factory instance', () => {
231
+ const factory = new Factory({ get: vi.fn() });
232
+ expect(factory).toBeDefined();
233
+ });
234
+ it('should return undefined for unregistered provider', () => {
235
+ const factory = new Factory({ get: vi.fn() });
236
+ expect(factory.getProvider('nonexistent')).toBeUndefined();
237
+ });
238
+ it('should clear providers', () => {
239
+ const factory = new Factory({ get: vi.fn() });
240
+ factory.clearProviders();
241
+ expect(factory.getProvider('test')).toBeUndefined();
242
+ });
243
+ });
244
+ //# sourceMappingURL=auth-services.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-services.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/auth-services.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-auth-services",
3
- "version": "4.2.0",
3
+ "version": "4.3.0",
4
4
  "description": "MemberJunction Explorer: Authentication Services",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -8,7 +8,7 @@
8
8
  "/dist"
9
9
  ],
10
10
  "scripts": {
11
- "test": "echo \"Error: no test specified\" && exit 1",
11
+ "test": "echo \"No tests configured yet\"",
12
12
  "build": "ngc"
13
13
  },
14
14
  "keywords": [],
@@ -16,7 +16,9 @@
16
16
  "license": "ISC",
17
17
  "devDependencies": {
18
18
  "@angular/compiler": "21.1.3",
19
- "@angular/compiler-cli": "21.1.3"
19
+ "@angular/compiler-cli": "21.1.3",
20
+ "@memberjunction/core": "*",
21
+ "@memberjunction/global": "*"
20
22
  },
21
23
  "peerDependencies": {
22
24
  "@angular/common": "21.1.3",
@@ -27,11 +29,11 @@
27
29
  "@azure/msal-angular": "^5.0.3",
28
30
  "@azure/msal-browser": "^5.1.0",
29
31
  "@azure/msal-common": "^16.0.3",
32
+ "@memberjunction/core": "^4.2.0",
33
+ "@memberjunction/global": "^4.2.0",
30
34
  "@okta/okta-auth-js": "^7.14.1"
31
35
  },
32
36
  "dependencies": {
33
- "@memberjunction/core": "4.2.0",
34
- "@memberjunction/global": "4.2.0",
35
37
  "rxjs": "^7.8.2",
36
38
  "tslib": "^2.8.1"
37
39
  },