@tomei/sso 0.3.4 → 0.6.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.
- package/__tests__/unit/components/login-user/login-user.spec.ts +530 -59
- package/dist/__tests__/unit/components/login-user/login-user.spec.js +465 -45
- package/dist/__tests__/unit/components/login-user/login-user.spec.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/src/components/login-user/login-user.d.ts +4 -2
- package/dist/src/components/login-user/login-user.js +131 -63
- package/dist/src/components/login-user/login-user.js.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/session/interfaces/session-service.interface.d.ts +1 -0
- package/dist/src/session/session.service.d.ts +1 -0
- package/dist/src/session/session.service.js +12 -0
- package/dist/src/session/session.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/index.ts +1 -1
- package/package.json +4 -1
- package/src/components/login-user/login-user.ts +179 -89
- package/src/index.ts +0 -1
- package/src/session/interfaces/session-service.interface.ts +1 -0
- package/src/session/session.service.ts +10 -0
- package/src/mail/index.ts +0 -2
- package/src/mail/interfaces/index.ts +0 -2
- package/src/mail/interfaces/send-mail.interface.ts +0 -8
- package/src/mail/interfaces/send-new-login-alert.interface.ts +0 -6
- package/src/mail/mail.service.ts +0 -33
- package/src/mail/mail.ts +0 -40
@@ -13,9 +13,9 @@ const src_1 = require("../../../../src");
|
|
13
13
|
const login_user_1 = require("../../../../src/components/login-user/login-user");
|
14
14
|
const user_repository_1 = require("../../../../src/components/login-user/user.repository");
|
15
15
|
const password_hash_service_1 = require("../../../../src/components/password-hash/password-hash.service");
|
16
|
-
const
|
16
|
+
const mailer_1 = require("@tomei/mailer");
|
17
17
|
describe('login-user', () => {
|
18
|
-
|
18
|
+
let user = {
|
19
19
|
id: 755,
|
20
20
|
email: 'ezcash+florence@tomei.com.my',
|
21
21
|
password: '$argon2id$v=19$m=4096,t=3,p=1$571ilUAi9n5g393m/NqKbQ$2bMnLtMCIVTjHWHGEDxI2wo+A3mrL3N5rTxDJ6ydPi8',
|
@@ -63,12 +63,12 @@ describe('login-user', () => {
|
|
63
63
|
updatedAt: new Date('2022-04-18T04:07:40.000Z'),
|
64
64
|
systemPrivilege: {
|
65
65
|
privilegeId: 'ckymxuh8t000137t011w89zgk',
|
66
|
-
systemId:
|
67
|
-
code: '
|
66
|
+
systemId: 175,
|
67
|
+
code: 'Terminate Data',
|
68
68
|
module: null,
|
69
|
-
description: 'Allows the user to
|
70
|
-
createdAt: new Date(
|
71
|
-
updatedAt: new Date(
|
69
|
+
description: 'Allows the user to terminate a loan.',
|
70
|
+
createdAt: new Date(),
|
71
|
+
updatedAt: new Date(),
|
72
72
|
},
|
73
73
|
},
|
74
74
|
],
|
@@ -134,16 +134,282 @@ describe('login-user', () => {
|
|
134
134
|
},
|
135
135
|
],
|
136
136
|
};
|
137
|
+
let ezcft = {
|
138
|
+
groupCode: 'EZCFT',
|
139
|
+
groupDescription: 'EZCASH FINANCE TEAM',
|
140
|
+
status: 'Active',
|
141
|
+
personInCharge: null,
|
142
|
+
fullPath: null,
|
143
|
+
parentGroupCode: 'EZCCS',
|
144
|
+
groupLevel: 2,
|
145
|
+
groupType: null,
|
146
|
+
allowInheritFromParentYN: 'Y',
|
147
|
+
createdById: '61',
|
148
|
+
createdAt: new Date(),
|
149
|
+
updatedById: '61',
|
150
|
+
updatedAt: new Date(),
|
151
|
+
departmentId: 110,
|
152
|
+
groupSystemPrivileges: [],
|
153
|
+
groupRolePrivileges: [
|
154
|
+
{
|
155
|
+
groupCode: 'EZCFT',
|
156
|
+
roleId: 'clcogtmco00013unyc4ngcnza',
|
157
|
+
privilegeId: 'clcogtntx00023unyg98a0ah0',
|
158
|
+
createdById: 74,
|
159
|
+
createdAt: new Date(),
|
160
|
+
systemId: 175,
|
161
|
+
systemPrivilege: {
|
162
|
+
privilegeId: 'clcogtntx00023unyg98a0ah0',
|
163
|
+
systemId: 175,
|
164
|
+
code: 'Terminate',
|
165
|
+
module: null,
|
166
|
+
description: 'Allows the user to terminate a loan.',
|
167
|
+
createdAt: new Date(),
|
168
|
+
updatedAt: new Date(),
|
169
|
+
},
|
170
|
+
},
|
171
|
+
{
|
172
|
+
groupCode: 'EZCFT',
|
173
|
+
roleId: 'clcogtmco00013unyc4ngcnza',
|
174
|
+
privilegeId: 'clcogtnys00043wp21ejm068j',
|
175
|
+
createdById: 74,
|
176
|
+
createdAt: new Date(),
|
177
|
+
systemId: 175,
|
178
|
+
systemPrivilege: {
|
179
|
+
privilegeId: 'clcogtnys00043wp21ejm068j',
|
180
|
+
systemId: 175,
|
181
|
+
code: 'Download - Agreement',
|
182
|
+
module: null,
|
183
|
+
description: 'Allows the user to download the agreement.',
|
184
|
+
createdAt: new Date(),
|
185
|
+
updatedAt: new Date(),
|
186
|
+
},
|
187
|
+
},
|
188
|
+
{
|
189
|
+
groupCode: 'EZCFT',
|
190
|
+
roleId: 'clcogtmco00013unyc4ngcnza',
|
191
|
+
privilegeId: 'clcogtoa100063wp2djq10roz',
|
192
|
+
createdById: 74,
|
193
|
+
createdAt: new Date(),
|
194
|
+
systemId: 175,
|
195
|
+
systemPrivilege: {
|
196
|
+
privilegeId: 'clcogtoa100063wp2djq10roz',
|
197
|
+
systemId: 175,
|
198
|
+
code: 'Disbursement - Confirmation',
|
199
|
+
module: null,
|
200
|
+
description: 'Allows the user to confirm the disbursement of the loan.',
|
201
|
+
createdAt: new Date(),
|
202
|
+
updatedAt: new Date(),
|
203
|
+
},
|
204
|
+
},
|
205
|
+
{
|
206
|
+
groupCode: 'EZCFT',
|
207
|
+
roleId: 'clcogtmco00013unyc4ngcnza',
|
208
|
+
privilegeId: 'clcogtob000053uny52atenxa',
|
209
|
+
createdById: 74,
|
210
|
+
createdAt: new Date(),
|
211
|
+
systemId: 175,
|
212
|
+
systemPrivilege: {
|
213
|
+
privilegeId: 'clcogtob000053uny52atenxa',
|
214
|
+
systemId: 175,
|
215
|
+
code: 'Invoice Payment Received',
|
216
|
+
module: null,
|
217
|
+
description: 'Allows the user to confirm payment receipt of an invoice.',
|
218
|
+
createdAt: new Date(),
|
219
|
+
updatedAt: new Date(),
|
220
|
+
},
|
221
|
+
},
|
222
|
+
],
|
223
|
+
};
|
224
|
+
const ezccs = {
|
225
|
+
groupCode: 'EZCCS',
|
226
|
+
groupDescription: 'EZCASH COMPANY SIGNER',
|
227
|
+
status: 'Active',
|
228
|
+
personInCharge: null,
|
229
|
+
fullPath: null,
|
230
|
+
parentGroupCode: 'EZCAT',
|
231
|
+
groupLevel: 1,
|
232
|
+
groupType: null,
|
233
|
+
allowInheritFromParentYN: 'Y',
|
234
|
+
createdById: '61',
|
235
|
+
createdAt: new Date(),
|
236
|
+
updatedById: '61',
|
237
|
+
updatedAt: new Date(),
|
238
|
+
departmentId: 110,
|
239
|
+
groupSystemPrivileges: [],
|
240
|
+
groupRolePrivileges: [
|
241
|
+
{
|
242
|
+
groupCode: 'EZCCS',
|
243
|
+
roleId: 'cl34552or00002vlubgs11tc9',
|
244
|
+
privilegeId: 'cldu3gd7t000g3spe55jmax51',
|
245
|
+
createdById: 700,
|
246
|
+
createdAt: new Date(),
|
247
|
+
systemId: 42,
|
248
|
+
systemPrivilege: {
|
249
|
+
privilegeId: 'cldu3gd7t000g3spe55jmax51',
|
250
|
+
systemId: 42,
|
251
|
+
code: 'View Customer',
|
252
|
+
module: null,
|
253
|
+
description: 'Allow to view customer details',
|
254
|
+
createdAt: new Date(),
|
255
|
+
updatedAt: new Date(),
|
256
|
+
},
|
257
|
+
},
|
258
|
+
{
|
259
|
+
groupCode: 'EZCCS',
|
260
|
+
roleId: 'clcogtm8000003unybenw69nl',
|
261
|
+
privilegeId: 'clcogtnsn00023wp21z5n28az',
|
262
|
+
createdById: 700,
|
263
|
+
createdAt: new Date(),
|
264
|
+
systemId: 175,
|
265
|
+
systemPrivilege: {
|
266
|
+
privilegeId: 'clcogtnsn00023wp21z5n28az',
|
267
|
+
systemId: 175,
|
268
|
+
code: 'Signer - Company',
|
269
|
+
module: null,
|
270
|
+
description: 'Allows the user to sign loan agreements on behalf of the company.',
|
271
|
+
createdAt: new Date(),
|
272
|
+
updatedAt: new Date(),
|
273
|
+
},
|
274
|
+
},
|
275
|
+
{
|
276
|
+
groupCode: 'EZCCS',
|
277
|
+
roleId: 'clcogtm8000003unybenw69nl',
|
278
|
+
privilegeId: 'clcogtnys00043wp21ejm068j',
|
279
|
+
createdById: 700,
|
280
|
+
createdAt: new Date(),
|
281
|
+
systemId: 175,
|
282
|
+
systemPrivilege: {
|
283
|
+
privilegeId: 'clcogtnys00043wp21ejm068j',
|
284
|
+
systemId: 175,
|
285
|
+
code: 'Download - Agreement',
|
286
|
+
module: null,
|
287
|
+
description: 'Allows the user to download the agreement.',
|
288
|
+
createdAt: new Date(),
|
289
|
+
updatedAt: new Date(),
|
290
|
+
},
|
291
|
+
},
|
292
|
+
{
|
293
|
+
groupCode: 'EZCCS',
|
294
|
+
roleId: 'clcogtm8000003unybenw69nl',
|
295
|
+
privilegeId: 'clcogtqb400074dn47ld564nt',
|
296
|
+
createdById: 700,
|
297
|
+
createdAt: new Date(),
|
298
|
+
systemId: 175,
|
299
|
+
systemPrivilege: {
|
300
|
+
privilegeId: 'clds7oql500003spe3hubafn6',
|
301
|
+
systemId: 175,
|
302
|
+
code: 'Loan - Retrieve List',
|
303
|
+
module: null,
|
304
|
+
description: 'Allows the user to retrieve the loan listing/search for all loans within the system.',
|
305
|
+
createdAt: new Date(),
|
306
|
+
updatedAt: new Date(),
|
307
|
+
},
|
308
|
+
},
|
309
|
+
],
|
310
|
+
};
|
311
|
+
const ezcat = {
|
312
|
+
groupCode: 'EZCAT',
|
313
|
+
groupDescription: 'EZC ATTESTATOR',
|
314
|
+
status: 'Active',
|
315
|
+
personInCharge: null,
|
316
|
+
fullPath: null,
|
317
|
+
parentGroupCode: null,
|
318
|
+
groupLevel: 0,
|
319
|
+
groupType: null,
|
320
|
+
allowInheritFromParentYN: 'Y',
|
321
|
+
createdById: '61',
|
322
|
+
createdAt: new Date(),
|
323
|
+
updatedById: '61',
|
324
|
+
updatedAt: new Date(),
|
325
|
+
departmentId: 110,
|
326
|
+
groupSystemPrivileges: [],
|
327
|
+
groupRolePrivileges: [
|
328
|
+
{
|
329
|
+
groupCode: 'EZCAT',
|
330
|
+
roleId: 'cl34552or00002vlubgs11tc9',
|
331
|
+
privilegeId: 'cldu3gd7t000g3spe55jmax51',
|
332
|
+
createdById: 700,
|
333
|
+
createdAt: new Date(),
|
334
|
+
systemId: 42,
|
335
|
+
systemPrivilege: {
|
336
|
+
privilegeId: 'cldu3gd7t000g3spe55jmax51',
|
337
|
+
systemId: 42,
|
338
|
+
code: 'View Customer',
|
339
|
+
module: null,
|
340
|
+
description: 'Allow to view customer details',
|
341
|
+
createdAt: new Date(),
|
342
|
+
updatedAt: new Date(),
|
343
|
+
},
|
344
|
+
},
|
345
|
+
{
|
346
|
+
groupCode: 'EZCAT',
|
347
|
+
roleId: 'clcogtmyx00014dn4798pel3n',
|
348
|
+
privilegeId: 'clcogtnuf00033wp27vwb1vwl',
|
349
|
+
createdById: 74,
|
350
|
+
createdAt: new Date(),
|
351
|
+
systemId: 175,
|
352
|
+
systemPrivilege: {
|
353
|
+
privilegeId: 'clcogtnuf00033wp27vwb1vwl',
|
354
|
+
systemId: 175,
|
355
|
+
code: 'Signing Session - Schedule',
|
356
|
+
module: null,
|
357
|
+
description: 'Allows the user to schedule or reschedule the signing session.',
|
358
|
+
createdAt: new Date(),
|
359
|
+
updatedAt: new Date(),
|
360
|
+
},
|
361
|
+
},
|
362
|
+
{
|
363
|
+
groupCode: 'EZCAT',
|
364
|
+
roleId: 'clcogtmyx00014dn4798pel3n',
|
365
|
+
privilegeId: 'clcogto8t00043unyd60c8j6r',
|
366
|
+
createdById: 74,
|
367
|
+
createdAt: new Date(),
|
368
|
+
systemId: 175,
|
369
|
+
systemPrivilege: {
|
370
|
+
privilegeId: 'clcogto8t00043unyd60c8j6r',
|
371
|
+
systemId: 175,
|
372
|
+
code: 'Signing Session - No Show',
|
373
|
+
module: null,
|
374
|
+
description: 'Allows the user to mark the signing session as "no show".',
|
375
|
+
createdAt: new Date(),
|
376
|
+
updatedAt: new Date(),
|
377
|
+
},
|
378
|
+
},
|
379
|
+
{
|
380
|
+
groupCode: 'EZCAT',
|
381
|
+
roleId: 'clcogtmyx00014dn4798pel3n',
|
382
|
+
privilegeId: 'clcogtobc00073wp21lanh2qw',
|
383
|
+
createdById: 74,
|
384
|
+
createdAt: new Date(),
|
385
|
+
systemId: 175,
|
386
|
+
systemPrivilege: {
|
387
|
+
privilegeId: 'clcogtobc00073wp21lanh2qw',
|
388
|
+
systemId: 175,
|
389
|
+
code: 'Setup Session',
|
390
|
+
module: null,
|
391
|
+
description: 'Allows the users to set up the predefined slots for the live attestation sessions.',
|
392
|
+
createdAt: new Date(),
|
393
|
+
updatedAt: new Date(),
|
394
|
+
},
|
395
|
+
},
|
396
|
+
],
|
397
|
+
};
|
398
|
+
let userUserGroups = [
|
399
|
+
{
|
400
|
+
userId: 755,
|
401
|
+
groupCode: 'EZCFT',
|
402
|
+
systemId: 175,
|
403
|
+
createdAt: new Date(),
|
404
|
+
updatedAt: new Date(),
|
405
|
+
userGroup: ezcft,
|
406
|
+
},
|
407
|
+
];
|
137
408
|
jest.mock('crypto', () => {
|
138
409
|
return {
|
139
410
|
randomUUID: jest.fn().mockReturnValue('ckymxuh8t000137t011w89zgk'),
|
140
411
|
};
|
141
412
|
});
|
142
|
-
jest
|
143
|
-
.spyOn(user_repository_1.UserRepository.prototype, 'findOne')
|
144
|
-
.mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
|
145
|
-
return user;
|
146
|
-
}));
|
147
413
|
jest
|
148
414
|
.spyOn(password_hash_service_1.PasswordHashService.prototype, 'verify')
|
149
415
|
.mockImplementation((password) => __awaiter(void 0, void 0, void 0, function* () {
|
@@ -159,39 +425,167 @@ describe('login-user', () => {
|
|
159
425
|
.mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
|
160
426
|
return system;
|
161
427
|
}));
|
162
|
-
jest
|
163
|
-
|
164
|
-
|
165
|
-
jest
|
166
|
-
|
167
|
-
|
168
|
-
return
|
169
|
-
}));
|
170
|
-
jest
|
171
|
-
.spyOn(src_1.SystemAccessRepository.prototype, 'findOne')
|
172
|
-
.mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
|
173
|
-
return systemAccess;
|
174
|
-
}));
|
175
|
-
jest
|
176
|
-
.spyOn(src_1.LoginHistoryRepository.prototype, 'findAll')
|
177
|
-
.mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
|
178
|
-
const data = [];
|
179
|
-
return data;
|
428
|
+
jest.spyOn(mailer_1.Mailer.prototype, 'sendMail').mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () { }));
|
429
|
+
const getUserGroupFromDBMock = jest.spyOn(login_user_1.LoginUser.prototype, 'getUserGroupFromDB');
|
430
|
+
const getUserUserGroupFromDBMock = jest.spyOn(login_user_1.LoginUser.prototype, 'getUserUserGroupFromDB');
|
431
|
+
const userMock = jest.spyOn(user_repository_1.UserRepository.prototype, 'findOne');
|
432
|
+
const retriveUserSessionMock = jest.spyOn(src_1.SessionService.prototype, 'retrieveUserSession');
|
433
|
+
userMock.mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
|
434
|
+
return user;
|
180
435
|
}));
|
181
|
-
|
182
|
-
|
183
|
-
|
436
|
+
getUserGroupFromDBMock.mockImplementation((groupCode) => __awaiter(void 0, void 0, void 0, function* () {
|
437
|
+
if (groupCode === 'EZCFT') {
|
438
|
+
return ezcft;
|
439
|
+
}
|
440
|
+
else if (groupCode === 'EZCCS') {
|
441
|
+
return ezccs;
|
442
|
+
}
|
443
|
+
else if (groupCode === 'EZCAT') {
|
444
|
+
return ezcat;
|
445
|
+
}
|
184
446
|
}));
|
185
|
-
|
186
|
-
|
187
|
-
const result = yield loginUser.login('EZC', 'ezcash+florence@tomei.com.my', 'Abcd@1234', '1.1.1.1');
|
188
|
-
expect(result).toEqual('ckymxuh8t000137t011w89zgk');
|
447
|
+
getUserUserGroupFromDBMock.mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
|
448
|
+
return userUserGroups;
|
189
449
|
}));
|
190
|
-
|
450
|
+
describe('login', () => {
|
191
451
|
jest
|
192
|
-
.spyOn(src_1.
|
193
|
-
.
|
194
|
-
|
452
|
+
.spyOn(src_1.SystemAccessRepository.prototype, 'findOne')
|
453
|
+
.mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
|
454
|
+
return systemAccess;
|
455
|
+
}));
|
456
|
+
jest
|
457
|
+
.spyOn(src_1.LoginHistoryRepository.prototype, 'findAll')
|
458
|
+
.mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
|
459
|
+
const data = [];
|
460
|
+
return data;
|
461
|
+
}));
|
462
|
+
it('should return login-user service when instansiated', () => __awaiter(void 0, void 0, void 0, function* () {
|
463
|
+
const loginUser = yield login_user_1.LoginUser.init();
|
464
|
+
expect(loginUser).toBeDefined();
|
465
|
+
}));
|
466
|
+
it('should able to do login process when no session is already available', () => __awaiter(void 0, void 0, void 0, function* () {
|
467
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
468
|
+
const result = yield loginUser.login('EZC', 'ezcash+florence@tomei.com.my', 'Abcd@1234', '1.1.1.1');
|
469
|
+
expect(result).toEqual('ckymxuh8t000137t011w89zgk');
|
470
|
+
}));
|
471
|
+
it('should able to do login process when session is already available', () => __awaiter(void 0, void 0, void 0, function* () {
|
472
|
+
retriveUserSessionMock.mockImplementationOnce((userId) => __awaiter(void 0, void 0, void 0, function* () {
|
473
|
+
if (userId === '755') {
|
474
|
+
return session;
|
475
|
+
}
|
476
|
+
else {
|
477
|
+
return {
|
478
|
+
systemLogins: [],
|
479
|
+
};
|
480
|
+
}
|
481
|
+
}));
|
482
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
483
|
+
const result = yield loginUser.login('EZC', 'ezcash+florence@tomei.com.my', 'Abcd@1234', '1.1.1.1');
|
484
|
+
expect(result).toEqual('ckymxuh8t000137t011w89zgk');
|
485
|
+
}));
|
486
|
+
});
|
487
|
+
describe('getPrivileges', () => {
|
488
|
+
it('should be able to login when user only have one user group with level 1 or higher', () => __awaiter(void 0, void 0, void 0, function* () {
|
489
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
490
|
+
const result = yield loginUser['getPrivileges']('EZC');
|
491
|
+
expect(getUserGroupFromDBMock).toBeCalledTimes(2);
|
492
|
+
expect(result).toEqual([
|
493
|
+
'View Customer',
|
494
|
+
'Signer - Company',
|
495
|
+
'Download - Agreement',
|
496
|
+
'Loan - Retrieve List',
|
497
|
+
'Signing Session - Schedule',
|
498
|
+
'Signing Session - No Show',
|
499
|
+
'Setup Session',
|
500
|
+
'Terminate',
|
501
|
+
'Disbursement - Confirmation',
|
502
|
+
'Invoice Payment Received',
|
503
|
+
'Terminate Data',
|
504
|
+
]);
|
505
|
+
}));
|
506
|
+
it('should be able to login when user only have multiple user user group', () => __awaiter(void 0, void 0, void 0, function* () {
|
507
|
+
const tempUserUserGroups = userUserGroups;
|
508
|
+
userUserGroups.push(userUserGroups[0]);
|
509
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
510
|
+
const result = yield loginUser['getPrivileges']('EZC');
|
511
|
+
expect(getUserUserGroupFromDBMock).toBeCalledTimes(1);
|
512
|
+
expect(getUserGroupFromDBMock).toBeCalledTimes(4);
|
513
|
+
expect(result).toEqual([
|
514
|
+
'View Customer',
|
515
|
+
'Signer - Company',
|
516
|
+
'Download - Agreement',
|
517
|
+
'Loan - Retrieve List',
|
518
|
+
'Signing Session - Schedule',
|
519
|
+
'Signing Session - No Show',
|
520
|
+
'Setup Session',
|
521
|
+
'Terminate',
|
522
|
+
'Disbursement - Confirmation',
|
523
|
+
'Invoice Payment Received',
|
524
|
+
'Terminate Data',
|
525
|
+
]);
|
526
|
+
userUserGroups = tempUserUserGroups;
|
527
|
+
}));
|
528
|
+
it('should be able to login when user only have user privilege', () => __awaiter(void 0, void 0, void 0, function* () {
|
529
|
+
const tempUserUserGroup = userUserGroups;
|
530
|
+
userUserGroups = [];
|
531
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
532
|
+
const result = yield loginUser['getPrivileges']('EZC');
|
533
|
+
expect(getUserGroupFromDBMock).toBeCalledTimes(0);
|
534
|
+
expect(result).toEqual(['Terminate Data']);
|
535
|
+
userUserGroups = tempUserUserGroup;
|
536
|
+
}));
|
537
|
+
it('should be able to login when user only have one user group with no parent', () => __awaiter(void 0, void 0, void 0, function* () {
|
538
|
+
const tempEzcft = ezcft;
|
539
|
+
ezcft.groupLevel = 0;
|
540
|
+
const tempUser = user;
|
541
|
+
user.userSystemPrivileges = [];
|
542
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
543
|
+
const result = yield loginUser['getPrivileges']('EZC');
|
544
|
+
expect(getUserGroupFromDBMock).toBeCalledTimes(0);
|
545
|
+
expect(result).toEqual([
|
546
|
+
'Terminate',
|
547
|
+
'Download - Agreement',
|
548
|
+
'Disbursement - Confirmation',
|
549
|
+
'Invoice Payment Received',
|
550
|
+
]);
|
551
|
+
ezcft = tempEzcft;
|
552
|
+
user = tempUser;
|
553
|
+
}));
|
554
|
+
it('should be able to login when user only have one user group that cannot inherit privilege', () => __awaiter(void 0, void 0, void 0, function* () {
|
555
|
+
const tempEzcft = ezcft;
|
556
|
+
ezcft.groupLevel = 1;
|
557
|
+
ezcft.allowInheritFromParentYN = 'N';
|
558
|
+
const tempUser = user;
|
559
|
+
user.userSystemPrivileges = [];
|
560
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
561
|
+
const result = yield loginUser['getPrivileges']('EZC');
|
562
|
+
expect(getUserGroupFromDBMock).toBeCalledTimes(0);
|
563
|
+
expect(result).toEqual([
|
564
|
+
'Terminate',
|
565
|
+
'Download - Agreement',
|
566
|
+
'Disbursement - Confirmation',
|
567
|
+
'Invoice Payment Received',
|
568
|
+
]);
|
569
|
+
ezcft = tempEzcft;
|
570
|
+
user = tempUser;
|
571
|
+
}));
|
572
|
+
it('should be able to login when user dont have user privilage or user usergroup', () => __awaiter(void 0, void 0, void 0, function* () {
|
573
|
+
const tempUser = user;
|
574
|
+
user.userSystemPrivileges = [];
|
575
|
+
const tempUserUserGroup = userUserGroups;
|
576
|
+
userUserGroups = [];
|
577
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
578
|
+
const result = yield loginUser['getPrivileges']('EZC');
|
579
|
+
expect(getUserGroupFromDBMock).toBeCalledTimes(0);
|
580
|
+
expect(result).toEqual([]);
|
581
|
+
userUserGroups = tempUserUserGroup;
|
582
|
+
user = tempUser;
|
583
|
+
}));
|
584
|
+
});
|
585
|
+
describe('checkPrivileges', () => {
|
586
|
+
let isCorrect = true;
|
587
|
+
retriveUserSessionMock.mockImplementation((userId) => __awaiter(void 0, void 0, void 0, function* () {
|
588
|
+
if (userId && userId == '755' && isCorrect === true) {
|
195
589
|
return session;
|
196
590
|
}
|
197
591
|
else {
|
@@ -200,9 +594,35 @@ describe('login-user', () => {
|
|
200
594
|
};
|
201
595
|
}
|
202
596
|
}));
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
597
|
+
afterEach(() => {
|
598
|
+
isCorrect = true;
|
599
|
+
});
|
600
|
+
afterAll(() => {
|
601
|
+
jest.restoreAllMocks();
|
602
|
+
});
|
603
|
+
it('should return false if user session not found', () => __awaiter(void 0, void 0, void 0, function* () {
|
604
|
+
isCorrect = false;
|
605
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
606
|
+
const result = yield loginUser.checkPrivileges('EZC', 'Terminate');
|
607
|
+
expect(result).toEqual(false);
|
608
|
+
}));
|
609
|
+
it('should return false if system login not found', () => __awaiter(void 0, void 0, void 0, function* () {
|
610
|
+
isCorrect = false;
|
611
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
612
|
+
const result = yield loginUser.checkPrivileges('EZC', 'Terminate');
|
613
|
+
expect(result).toEqual(false);
|
614
|
+
}));
|
615
|
+
it('should return false if privilege not found', () => __awaiter(void 0, void 0, void 0, function* () {
|
616
|
+
isCorrect = false;
|
617
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
618
|
+
const result = yield loginUser.checkPrivileges('EZC', 'Not Terminate');
|
619
|
+
expect(result).toEqual(false);
|
620
|
+
}));
|
621
|
+
it('should return true if privilege found', () => __awaiter(void 0, void 0, void 0, function* () {
|
622
|
+
const loginUser = yield login_user_1.LoginUser.init('755');
|
623
|
+
const result = yield loginUser.checkPrivileges('EZC', 'Terminate');
|
624
|
+
expect(result).toEqual(true);
|
625
|
+
}));
|
626
|
+
});
|
207
627
|
});
|
208
628
|
//# sourceMappingURL=login-user.spec.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"login-user.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/login-user/login-user.spec.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"login-user.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/login-user/login-user.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export * from
|
1
|
+
export * from './src';
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB"}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { ObjectBase, IPerson, IAddress } from '@tomei/general';
|
2
|
+
import { ISystemLogin } from '../../../src/interfaces/system-login.interface';
|
2
3
|
export declare class LoginUser extends ObjectBase implements IPerson {
|
3
4
|
FullName: string;
|
4
5
|
IDNo: string;
|
@@ -14,7 +15,6 @@ export declare class LoginUser extends ObjectBase implements IPerson {
|
|
14
15
|
private _OriginIP;
|
15
16
|
private _SessionService;
|
16
17
|
private _PasswordHashService;
|
17
|
-
private _MailService;
|
18
18
|
private static _Repository;
|
19
19
|
private static _SystemRepository;
|
20
20
|
private static _SystemAccessRepository;
|
@@ -33,9 +33,11 @@ export declare class LoginUser extends ObjectBase implements IPerson {
|
|
33
33
|
login(systemCode: string, email: string, password: string, ipAddress: string): Promise<string>;
|
34
34
|
private checkSystemAccess;
|
35
35
|
private alertNewLogin;
|
36
|
-
getPrivileges
|
36
|
+
private getPrivileges;
|
37
37
|
private getPrivilegesFromUserGroup;
|
38
38
|
private getUserGroupFromDB;
|
39
39
|
private getUserUserGroupFromDB;
|
40
40
|
private getUserPersonalPrivileges;
|
41
|
+
checkPrivileges(systemCode: string, privilegeName: string): Promise<boolean>;
|
42
|
+
checkSession(systemCode: string, sessionId: string, userId: string): Promise<ISystemLogin>;
|
41
43
|
}
|