@tomei/sso 0.1.2 → 0.2.1

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.
Files changed (212) hide show
  1. package/README.md +7 -2
  2. package/__tests__/unit/components/login-history/login-history.repository.spec.ts +95 -0
  3. package/__tests__/unit/components/login-user/login-user.spec.ts +223 -0
  4. package/__tests__/unit/components/login-user/user.repository.spec.ts +81 -0
  5. package/__tests__/unit/components/password-hash/password-hash.service.spec.ts +33 -0
  6. package/__tests__/unit/components/system/system.repository.spec.ts +88 -0
  7. package/__tests__/unit/components/system-access/system-access.repository.spec.ts +78 -0
  8. package/__tests__/unit/redis-client/redis.service.spec.ts +24 -0
  9. package/__tests__/unit/session/session.service.spec.ts +27 -0
  10. package/create-sso-user.sql +1 -0
  11. package/dist/__tests__/unit/components/login-history/login-history.repository.spec.d.ts +1 -0
  12. package/dist/__tests__/unit/components/login-history/login-history.repository.spec.js +99 -0
  13. package/dist/__tests__/unit/components/login-history/login-history.repository.spec.js.map +1 -0
  14. package/dist/__tests__/unit/components/login-user/login-user.spec.d.ts +1 -0
  15. package/dist/__tests__/unit/components/login-user/login-user.spec.js +208 -0
  16. package/dist/__tests__/unit/components/login-user/login-user.spec.js.map +1 -0
  17. package/dist/__tests__/unit/components/login-user/user.repository.spec.d.ts +1 -0
  18. package/dist/__tests__/unit/components/login-user/user.repository.spec.js +78 -0
  19. package/dist/__tests__/unit/components/login-user/user.repository.spec.js.map +1 -0
  20. package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.d.ts +1 -0
  21. package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.js +38 -0
  22. package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.js.map +1 -0
  23. package/dist/__tests__/unit/components/system/system.repository.spec.d.ts +1 -0
  24. package/dist/__tests__/unit/components/system/system.repository.spec.js +85 -0
  25. package/dist/__tests__/unit/components/system/system.repository.spec.js.map +1 -0
  26. package/dist/__tests__/unit/components/system-access/system-access.repository.spec.d.ts +1 -0
  27. package/dist/__tests__/unit/components/system-access/system-access.repository.spec.js +75 -0
  28. package/dist/__tests__/unit/components/system-access/system-access.repository.spec.js.map +1 -0
  29. package/dist/__tests__/unit/redis-client/redis.service.spec.d.ts +1 -0
  30. package/dist/__tests__/unit/redis-client/redis.service.spec.js +32 -0
  31. package/dist/__tests__/unit/redis-client/redis.service.spec.js.map +1 -0
  32. package/dist/__tests__/unit/session/session.service.spec.d.ts +1 -0
  33. package/dist/__tests__/unit/session/session.service.spec.js +36 -0
  34. package/dist/__tests__/unit/session/session.service.spec.js.map +1 -0
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.js +17 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/src/components/index.d.ts +7 -0
  39. package/dist/src/components/index.js +24 -0
  40. package/dist/src/components/index.js.map +1 -0
  41. package/dist/src/components/login-history/index.d.ts +1 -0
  42. package/dist/src/components/login-history/index.js +18 -0
  43. package/dist/src/components/login-history/index.js.map +1 -0
  44. package/dist/src/components/login-history/login-history.repository.d.ts +9 -0
  45. package/dist/src/components/login-history/login-history.repository.js +50 -0
  46. package/dist/src/components/login-history/login-history.repository.js.map +1 -0
  47. package/dist/src/components/login-user/index.d.ts +3 -0
  48. package/dist/src/components/login-user/index.js +20 -0
  49. package/dist/src/components/login-user/index.js.map +1 -0
  50. package/dist/src/components/login-user/interfaces/index.d.ts +1 -0
  51. package/dist/src/components/login-user/interfaces/index.js +18 -0
  52. package/dist/src/components/login-user/interfaces/index.js.map +1 -0
  53. package/dist/src/components/login-user/interfaces/user-info.interface.d.ts +9 -0
  54. package/dist/src/components/login-user/interfaces/user-info.interface.js +3 -0
  55. package/dist/src/components/login-user/interfaces/user-info.interface.js.map +1 -0
  56. package/dist/src/components/login-user/login-user.d.ts +41 -0
  57. package/dist/src/components/login-user/login-user.js +332 -0
  58. package/dist/src/components/login-user/login-user.js.map +1 -0
  59. package/dist/src/components/login-user/user.repository.d.ts +9 -0
  60. package/dist/src/components/login-user/user.repository.js +50 -0
  61. package/dist/src/components/login-user/user.repository.js.map +1 -0
  62. package/dist/src/components/password-hash/index.d.ts +2 -0
  63. package/dist/src/components/password-hash/index.js +19 -0
  64. package/dist/src/components/password-hash/index.js.map +1 -0
  65. package/dist/src/components/password-hash/interfaces/index.d.ts +1 -0
  66. package/dist/src/components/password-hash/interfaces/index.js +18 -0
  67. package/dist/src/components/password-hash/interfaces/index.js.map +1 -0
  68. package/dist/src/components/password-hash/interfaces/password-hash-service.interface.d.ts +4 -0
  69. package/dist/src/components/password-hash/interfaces/password-hash-service.interface.js +3 -0
  70. package/dist/src/components/password-hash/interfaces/password-hash-service.interface.js.map +1 -0
  71. package/dist/src/components/password-hash/password-hash.service.d.ts +6 -0
  72. package/dist/src/components/password-hash/password-hash.service.js +28 -0
  73. package/dist/src/components/password-hash/password-hash.service.js.map +1 -0
  74. package/dist/src/components/system/index.d.ts +1 -0
  75. package/dist/src/components/system/index.js +18 -0
  76. package/dist/src/components/system/index.js.map +1 -0
  77. package/dist/src/components/system/system.repository.d.ts +9 -0
  78. package/dist/src/components/system/system.repository.js +50 -0
  79. package/dist/src/components/system/system.repository.js.map +1 -0
  80. package/dist/src/components/system-access/index.d.ts +1 -0
  81. package/dist/src/components/system-access/index.js +18 -0
  82. package/dist/src/components/system-access/index.js.map +1 -0
  83. package/dist/src/components/system-access/system-access.repository.d.ts +9 -0
  84. package/dist/src/components/system-access/system-access.repository.js +50 -0
  85. package/dist/src/components/system-access/system-access.repository.js.map +1 -0
  86. package/dist/src/components/user-group/index.d.ts +1 -0
  87. package/dist/src/components/user-group/index.js +18 -0
  88. package/dist/src/components/user-group/index.js.map +1 -0
  89. package/dist/src/components/user-group/user-group.repository.d.ts +9 -0
  90. package/dist/src/components/user-group/user-group.repository.js +50 -0
  91. package/dist/src/components/user-group/user-group.repository.js.map +1 -0
  92. package/dist/src/components/user-user-group/index.d.ts +1 -0
  93. package/dist/src/components/user-user-group/index.js +18 -0
  94. package/dist/src/components/user-user-group/index.js.map +1 -0
  95. package/dist/src/components/user-user-group/user-user-group.repository.d.ts +9 -0
  96. package/dist/src/components/user-user-group/user-user-group.repository.js +50 -0
  97. package/dist/src/components/user-user-group/user-user-group.repository.js.map +1 -0
  98. package/dist/src/index.d.ts +6 -0
  99. package/dist/src/index.js +24 -0
  100. package/dist/src/index.js.map +1 -0
  101. package/dist/src/interfaces/index.d.ts +2 -0
  102. package/dist/src/interfaces/index.js +19 -0
  103. package/dist/src/interfaces/index.js.map +1 -0
  104. package/dist/src/interfaces/system-login.interface.d.ts +6 -0
  105. package/dist/src/interfaces/system-login.interface.js +3 -0
  106. package/dist/src/interfaces/system-login.interface.js.map +1 -0
  107. package/dist/src/interfaces/user-session.interface.d.ts +4 -0
  108. package/dist/src/interfaces/user-session.interface.js +3 -0
  109. package/dist/src/interfaces/user-session.interface.js.map +1 -0
  110. package/dist/src/mail/index.d.ts +2 -0
  111. package/dist/src/mail/index.js +19 -0
  112. package/dist/src/mail/index.js.map +1 -0
  113. package/dist/src/mail/interfaces/index.d.ts +2 -0
  114. package/dist/src/mail/interfaces/index.js +19 -0
  115. package/dist/src/mail/interfaces/index.js.map +1 -0
  116. package/dist/src/mail/interfaces/send-mail.interface.d.ts +8 -0
  117. package/dist/src/mail/interfaces/send-mail.interface.js +3 -0
  118. package/dist/src/mail/interfaces/send-mail.interface.js.map +1 -0
  119. package/dist/src/mail/interfaces/send-new-login-alert.interface.d.ts +6 -0
  120. package/dist/src/mail/interfaces/send-new-login-alert.interface.js +3 -0
  121. package/dist/src/mail/interfaces/send-new-login-alert.interface.js.map +1 -0
  122. package/dist/src/mail/mail.d.ts +7 -0
  123. package/dist/src/mail/mail.js +49 -0
  124. package/dist/src/mail/mail.js.map +1 -0
  125. package/dist/src/mail/mail.service.d.ts +7 -0
  126. package/dist/src/mail/mail.service.js +42 -0
  127. package/dist/src/mail/mail.service.js.map +1 -0
  128. package/dist/src/prisma-client/__mocks__/prisma.d.ts +3 -0
  129. package/dist/src/prisma-client/__mocks__/prisma.js +14 -0
  130. package/dist/src/prisma-client/__mocks__/prisma.js.map +1 -0
  131. package/dist/src/prisma-client/client.d.ts +3 -0
  132. package/dist/src/prisma-client/client.js +6 -0
  133. package/dist/src/prisma-client/client.js.map +1 -0
  134. package/dist/src/prisma-client/index.d.ts +1 -0
  135. package/dist/src/prisma-client/index.js +18 -0
  136. package/dist/src/prisma-client/index.js.map +1 -0
  137. package/dist/src/redis-client/__mocks__/jest-initial-setup.d.ts +1 -0
  138. package/dist/src/redis-client/__mocks__/jest-initial-setup.js +5 -0
  139. package/dist/src/redis-client/__mocks__/jest-initial-setup.js.map +1 -0
  140. package/dist/src/redis-client/__mocks__/redis-mock.d.ts +2 -0
  141. package/dist/src/redis-client/__mocks__/redis-mock.js +23 -0
  142. package/dist/src/redis-client/__mocks__/redis-mock.js.map +1 -0
  143. package/dist/src/redis-client/index.d.ts +1 -0
  144. package/dist/src/redis-client/index.js +18 -0
  145. package/dist/src/redis-client/index.js.map +1 -0
  146. package/dist/src/redis-client/redis.service.d.ts +7 -0
  147. package/dist/src/redis-client/redis.service.js +56 -0
  148. package/dist/src/redis-client/redis.service.js.map +1 -0
  149. package/dist/src/session/index.d.ts +2 -0
  150. package/dist/src/session/index.js +19 -0
  151. package/dist/src/session/index.js.map +1 -0
  152. package/dist/src/session/interfaces/index.d.ts +1 -0
  153. package/dist/src/session/interfaces/index.js +18 -0
  154. package/dist/src/session/interfaces/index.js.map +1 -0
  155. package/dist/src/session/interfaces/session-service.interface.d.ts +5 -0
  156. package/dist/src/session/interfaces/session-service.interface.js +3 -0
  157. package/dist/src/session/interfaces/session-service.interface.js.map +1 -0
  158. package/dist/src/session/session.service.d.ts +9 -0
  159. package/dist/src/session/session.service.js +52 -0
  160. package/dist/src/session/session.service.js.map +1 -0
  161. package/dist/tsconfig.tsbuildinfo +1 -1
  162. package/index.ts +1 -0
  163. package/jest.config.js +15 -0
  164. package/package.json +21 -3
  165. package/prisma/migrations/0_init/migration.sql +41 -42
  166. package/prisma/migrations/20230528161352_create_user_user_group_and_add_new_column/migration.sql +2 -2
  167. package/prisma/migrations/20230606091407_create_login_histories_table/migration.sql +17 -0
  168. package/prisma/schema.prisma +46 -33
  169. package/sampledotenv +8 -0
  170. package/src/components/index.ts +7 -0
  171. package/src/components/login-history/index.ts +1 -0
  172. package/src/components/login-history/login-history.repository.ts +33 -0
  173. package/src/components/login-user/index.ts +4 -0
  174. package/src/components/login-user/interfaces/index.ts +1 -0
  175. package/src/components/login-user/interfaces/user-info.interface.ts +9 -0
  176. package/src/components/login-user/login-user.ts +427 -0
  177. package/src/components/login-user/user.repository.ts +33 -0
  178. package/src/components/password-hash/index.ts +2 -0
  179. package/src/components/password-hash/interfaces/index.ts +1 -0
  180. package/src/components/password-hash/interfaces/password-hash-service.interface.ts +4 -0
  181. package/src/components/password-hash/password-hash.service.ts +14 -0
  182. package/src/components/system/index.ts +1 -0
  183. package/src/components/system/system.repository.ts +33 -0
  184. package/src/components/system-access/index.ts +1 -0
  185. package/src/components/system-access/system-access.repository.ts +33 -0
  186. package/src/components/user-group/index.ts +1 -0
  187. package/src/components/user-group/user-group.repository.ts +33 -0
  188. package/src/components/user-user-group/index.ts +1 -0
  189. package/src/components/user-user-group/user-user-group.repository.ts +33 -0
  190. package/src/index.ts +7 -0
  191. package/src/interfaces/index.ts +2 -0
  192. package/src/interfaces/system-login.interface.ts +6 -0
  193. package/src/interfaces/user-session.interface.ts +5 -0
  194. package/src/mail/index.ts +2 -0
  195. package/src/mail/interfaces/index.ts +2 -0
  196. package/src/mail/interfaces/send-mail.interface.ts +8 -0
  197. package/src/mail/interfaces/send-new-login-alert.interface.ts +6 -0
  198. package/src/mail/mail.service.ts +33 -0
  199. package/src/mail/mail.ts +40 -0
  200. package/src/prisma-client/__mocks__/prisma.ts +15 -0
  201. package/src/prisma-client/client.ts +3 -0
  202. package/src/prisma-client/index.ts +1 -0
  203. package/src/redis-client/__mocks__/jest-initial-setup.ts +2 -0
  204. package/src/redis-client/__mocks__/redis-mock.ts +28 -0
  205. package/src/redis-client/index.ts +1 -0
  206. package/src/redis-client/redis.service.ts +48 -0
  207. package/src/session/index.ts +2 -0
  208. package/src/session/interfaces/index.ts +1 -0
  209. package/src/session/interfaces/session-service.interface.ts +6 -0
  210. package/src/session/session.service.ts +45 -0
  211. package/tsconfig.build.json +2 -1
  212. package/tsconfig.json +5 -4
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const login_history_repository_1 = require("../../../../src/components/login-history/login-history.repository");
13
+ const prisma_1 = require("../../../../src/prisma-client/__mocks__/prisma");
14
+ describe('login-history.repository', () => {
15
+ afterEach(() => {
16
+ jest.restoreAllMocks();
17
+ });
18
+ describe('findAll', () => {
19
+ it('should return list of login history', () => __awaiter(void 0, void 0, void 0, function* () {
20
+ const data = [{
21
+ userId: 1,
22
+ systemId: 1,
23
+ originIp: '1.1.1.1',
24
+ createdAt: new Date(),
25
+ }];
26
+ prisma_1.prismaMock.loginHistory.findMany.mockResolvedValueOnce(data);
27
+ const loginHistoryRepository = new login_history_repository_1.LoginHistoryRepository();
28
+ expect(yield loginHistoryRepository.findAll({})).toEqual(data);
29
+ }));
30
+ });
31
+ describe('findOne', () => {
32
+ it('should return login history', () => __awaiter(void 0, void 0, void 0, function* () {
33
+ const data = {
34
+ userId: 1,
35
+ systemId: 1,
36
+ originIp: '1.1.1.1',
37
+ createdAt: new Date(),
38
+ };
39
+ prisma_1.prismaMock.loginHistory.findFirst.mockResolvedValueOnce(data);
40
+ const loginHistoryRepository = new login_history_repository_1.LoginHistoryRepository();
41
+ expect(yield loginHistoryRepository.findOne({
42
+ where: {
43
+ userId_systemId: {
44
+ userId: data.userId,
45
+ systemId: data.systemId,
46
+ },
47
+ },
48
+ })).toEqual(data);
49
+ }));
50
+ });
51
+ describe('create', () => {
52
+ it('should create login history', () => __awaiter(void 0, void 0, void 0, function* () {
53
+ const data = {
54
+ userId: 1,
55
+ systemId: 1,
56
+ originIp: '1.1.1.1',
57
+ createdAt: new Date(),
58
+ };
59
+ prisma_1.prismaMock.loginHistory.create.mockResolvedValueOnce(data);
60
+ const loginHistoryRepository = new login_history_repository_1.LoginHistoryRepository();
61
+ expect(yield loginHistoryRepository.create({ data })).toEqual(data);
62
+ }));
63
+ });
64
+ describe('update', () => {
65
+ it('should update login history', () => __awaiter(void 0, void 0, void 0, function* () {
66
+ const data = {
67
+ userId: 1,
68
+ systemId: 1,
69
+ originIp: '1.1.1.1',
70
+ createdAt: new Date(),
71
+ };
72
+ prisma_1.prismaMock.loginHistory.update.mockResolvedValueOnce(data);
73
+ const loginHistoryRepository = new login_history_repository_1.LoginHistoryRepository();
74
+ expect(yield loginHistoryRepository.update({
75
+ where: {
76
+ userId: data.userId
77
+ }, data: data
78
+ }, data)).toEqual(data);
79
+ }));
80
+ });
81
+ describe('delete', () => {
82
+ it('should delete login history', () => __awaiter(void 0, void 0, void 0, function* () {
83
+ const data = {
84
+ userId: 1,
85
+ systemId: 1,
86
+ originIp: '1.1.1.1',
87
+ createdAt: new Date(),
88
+ };
89
+ prisma_1.prismaMock.loginHistory.delete.mockResolvedValueOnce(data);
90
+ const loginHistoryRepository = new login_history_repository_1.LoginHistoryRepository();
91
+ expect(yield loginHistoryRepository.delete({
92
+ where: {
93
+ userId: data.userId
94
+ }
95
+ })).toEqual(data);
96
+ }));
97
+ });
98
+ });
99
+ //# sourceMappingURL=login-history.repository.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login-history.repository.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/login-history/login-history.repository.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const src_1 = require("../../../../src");
13
+ const login_user_1 = require("../../../../src/components/login-user/login-user");
14
+ const user_repository_1 = require("../../../../src/components/login-user/user.repository");
15
+ const password_hash_service_1 = require("../../../../src/components/password-hash/password-hash.service");
16
+ const mail_service_1 = require("../../../../src/mail/mail.service");
17
+ describe('login-user', () => {
18
+ const user = {
19
+ id: 755,
20
+ email: 'ezcash+florence@tomei.com.my',
21
+ password: '$argon2id$v=19$m=4096,t=3,p=1$571ilUAi9n5g393m/NqKbQ$2bMnLtMCIVTjHWHGEDxI2wo+A3mrL3N5rTxDJ6ydPi8',
22
+ status: null,
23
+ defaultPasswordChanged: false,
24
+ firstLoginAt: new Date('2023-01-10T07:57:10.000Z'),
25
+ createdAt: new Date('2023-01-10T07:57:10.000Z'),
26
+ updatedAt: new Date('2023-01-10T08:58:15.000Z'),
27
+ groupCode: 'EZCFT',
28
+ staffs: [
29
+ {
30
+ id: 740,
31
+ staffId: 'EZC003',
32
+ fullName: 'EZC Florence',
33
+ preferredName: 'EZC Florence',
34
+ email: 'ezcash+florence@tomei.com.my',
35
+ staffTypeId: 1,
36
+ jobTitle: 'EZC Finance',
37
+ carPlate: '',
38
+ mobile: '60123456',
39
+ floor: null,
40
+ extension: null,
41
+ isCharge: false,
42
+ status: 'active',
43
+ userId: 755,
44
+ buildingId: 20,
45
+ departmentId: 110,
46
+ companyId: 70,
47
+ createdById: 74,
48
+ updatedById: 74,
49
+ createdAt: new Date('2023-01-10T07:57:10.000Z'),
50
+ updatedAt: new Date('2023-01-10T07:57:10.000Z'),
51
+ image: null,
52
+ idNo: '123123123',
53
+ fullAddress: 'Lorem Address',
54
+ },
55
+ ],
56
+ userSystemPrivileges: [
57
+ {
58
+ userId: 22,
59
+ privilegeId: 'ckymxuh8t000137t011w89zgk',
60
+ isInheritedYN: 'N',
61
+ isRevokedYN: 'N',
62
+ createdAt: new Date('2022-04-18T04:07:40.000Z'),
63
+ updatedAt: new Date('2022-04-18T04:07:40.000Z'),
64
+ systemPrivilege: {
65
+ privilegeId: 'ckymxuh8t000137t011w89zgk',
66
+ systemId: 11,
67
+ code: 'Own',
68
+ module: null,
69
+ description: 'Allows the user to only view consignments belonging to themselves',
70
+ createdAt: new Date('2022-01-20T12:16:26.000Z'),
71
+ updatedAt: new Date('2022-01-20T12:16:26.000Z'),
72
+ },
73
+ },
74
+ ],
75
+ };
76
+ const system = {
77
+ id: 175,
78
+ code: 'EZC',
79
+ name: 'EzCash',
80
+ description: 'Tomei Money Lending System',
81
+ accessUrl: 'https://app.ezcash.com.my:22443/staff/login',
82
+ googlePlayUrl: '',
83
+ appleStoreUrl: '',
84
+ apiKey: 'VqS9ks2Lwvqd7HrVUMMIP2q7zaEH689HCPaEaFUQLmiRoZnt',
85
+ logo: 'https://sso-api.tomei.com.my/upload/2023/01/10/FJ3DoHdRZKjf2bGkgA4E-BrowserIcon.png',
86
+ status: 'active',
87
+ visible: true,
88
+ createdAt: new Date('2023-01-09T00:45:57.000Z'),
89
+ updatedAt: new Date('2023-01-10T06:28:56.000Z'),
90
+ apiSecret: '$argon2id$v=19$m=4096,t=3,p=1$lqxfk/ujftswf2jSEu156g$j2IShE/BZUUoH/1jrvt3GGRSy0rA8HilJvK17e6vdFY',
91
+ updatedById: 61,
92
+ createdById: 100,
93
+ };
94
+ const systemAccess = {
95
+ userId: 755,
96
+ systemId: 175,
97
+ updatedAt: new Date('2023-01-09T00:45:57.000'),
98
+ };
99
+ const session = {
100
+ systemLogins: [
101
+ {
102
+ id: '175',
103
+ code: 'EZC',
104
+ sessionId: 'ckymxuh8t000137t011w89zgk',
105
+ privileges: [
106
+ 'Terminate',
107
+ 'Download - Agreement',
108
+ 'Disbursement - Confirmation',
109
+ 'Invoice Payment Received',
110
+ 'Download - Disbursement Receipt',
111
+ 'Download - Stamping Receipt',
112
+ 'Installment Payment Received',
113
+ 'View Transaction History',
114
+ 'Menu - Loans',
115
+ 'Loan - Full Settlement',
116
+ 'View Billing',
117
+ 'Loan - Retrieve List',
118
+ 'Loan - View Details',
119
+ 'Loan - Retrieve Outstanding',
120
+ 'Loan - View Mandate Details',
121
+ 'Loan Document - Retrieve List',
122
+ 'Loan Document - View',
123
+ 'Loan Document - Download',
124
+ 'Application - View Details',
125
+ 'Simple Loan Schedule - Get Overdue Schedules',
126
+ 'Simple Loan Schedule - Get Schedule Payment Details',
127
+ 'Retrieve Media List',
128
+ 'Retrieve Customer List',
129
+ 'View Loan Activity',
130
+ 'Activate Installment',
131
+ 'Manual Payment Receipt',
132
+ 'Customer Documents - View',
133
+ ],
134
+ },
135
+ ],
136
+ };
137
+ jest.mock('crypto', () => {
138
+ return {
139
+ randomUUID: jest.fn().mockReturnValue('ckymxuh8t000137t011w89zgk'),
140
+ };
141
+ });
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
+ jest
148
+ .spyOn(password_hash_service_1.PasswordHashService.prototype, 'verify')
149
+ .mockImplementation((password, hash) => __awaiter(void 0, void 0, void 0, function* () {
150
+ if (password === 'Abcd@1234') {
151
+ return true;
152
+ }
153
+ else {
154
+ return false;
155
+ }
156
+ }));
157
+ jest
158
+ .spyOn(src_1.SystemRepository.prototype, 'findOne')
159
+ .mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
160
+ return system;
161
+ }));
162
+ jest
163
+ .spyOn(mail_service_1.MailService.prototype, 'sendNewLoginAlertEmail')
164
+ .mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () { }));
165
+ jest
166
+ .spyOn(login_user_1.LoginUser.prototype, 'getPrivileges')
167
+ .mockImplementation(() => __awaiter(void 0, void 0, void 0, function* () {
168
+ return session.systemLogins[0].privileges;
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;
180
+ }));
181
+ it('should return login-user service when instansiated', () => __awaiter(void 0, void 0, void 0, function* () {
182
+ const loginUser = yield login_user_1.LoginUser.init();
183
+ expect(loginUser).toBeDefined();
184
+ }));
185
+ it('should able to do login process when no session is already available', () => __awaiter(void 0, void 0, void 0, function* () {
186
+ const loginUser = yield login_user_1.LoginUser.init('755');
187
+ const result = yield loginUser.login('EZC', 'ezcash+florence@tomei.com.my', 'Abcd@1234', '1.1.1.1');
188
+ expect(result).toEqual('ckymxuh8t000137t011w89zgk');
189
+ }));
190
+ it('should able to do login process when session is already available', () => __awaiter(void 0, void 0, void 0, function* () {
191
+ jest
192
+ .spyOn(src_1.SessionService.prototype, 'retrieveUserSession')
193
+ .mockImplementationOnce((userId) => __awaiter(void 0, void 0, void 0, function* () {
194
+ if (userId === '755') {
195
+ return session;
196
+ }
197
+ else {
198
+ return {
199
+ systemLogins: [],
200
+ };
201
+ }
202
+ }));
203
+ const loginUser = yield login_user_1.LoginUser.init('755');
204
+ const result = yield loginUser.login('EZC', 'ezcash+florence@tomei.com.my', 'Abcd@1234', '1.1.1.1');
205
+ expect(result).toEqual('ckymxuh8t000137t011w89zgk');
206
+ }));
207
+ });
208
+ //# sourceMappingURL=login-user.spec.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const user_repository_1 = require("../../../../src/components/login-user/user.repository");
13
+ const prisma_1 = require("../../../../src/prisma-client/__mocks__/prisma");
14
+ describe('system-access.repository', () => {
15
+ const data = {
16
+ id: 1,
17
+ email: 'test@test.email.com',
18
+ password: '@H34f5yRE',
19
+ status: 'Active',
20
+ defaultPasswordChanged: false,
21
+ firstLoginAt: new Date(),
22
+ createdAt: new Date(),
23
+ updatedAt: new Date(),
24
+ groupCode: 'RDAS',
25
+ };
26
+ afterEach(() => {
27
+ jest.restoreAllMocks();
28
+ });
29
+ describe('findAll', () => {
30
+ it('should return list of user', () => __awaiter(void 0, void 0, void 0, function* () {
31
+ prisma_1.prismaMock.user.findMany.mockResolvedValueOnce([data]);
32
+ const userRepository = new user_repository_1.UserRepository();
33
+ expect(yield userRepository.findAll({})).toEqual([data]);
34
+ }));
35
+ });
36
+ describe('findOne', () => {
37
+ it('should return user', () => __awaiter(void 0, void 0, void 0, function* () {
38
+ prisma_1.prismaMock.user.findFirst.mockResolvedValueOnce(data);
39
+ const userRepository = new user_repository_1.UserRepository();
40
+ expect(yield userRepository.findOne({
41
+ where: {
42
+ id: data.id,
43
+ },
44
+ })).toEqual(data);
45
+ }));
46
+ });
47
+ describe('create', () => {
48
+ it('should create user', () => __awaiter(void 0, void 0, void 0, function* () {
49
+ prisma_1.prismaMock.user.create.mockResolvedValueOnce(data);
50
+ const userRepository = new user_repository_1.UserRepository();
51
+ expect(yield userRepository.create(data)).toEqual(data);
52
+ }));
53
+ });
54
+ describe('update', () => {
55
+ it('should update user', () => __awaiter(void 0, void 0, void 0, function* () {
56
+ prisma_1.prismaMock.user.update.mockResolvedValueOnce(data);
57
+ const userRepository = new user_repository_1.UserRepository();
58
+ expect(yield userRepository.update({
59
+ where: {
60
+ id: data.id,
61
+ },
62
+ data: data,
63
+ }, data)).toEqual(data);
64
+ }));
65
+ });
66
+ describe('delete', () => {
67
+ it('should delete user', () => __awaiter(void 0, void 0, void 0, function* () {
68
+ prisma_1.prismaMock.user.delete.mockResolvedValueOnce(data);
69
+ const userRepository = new user_repository_1.UserRepository();
70
+ expect(yield userRepository.delete({
71
+ where: {
72
+ id: data.id,
73
+ },
74
+ })).toEqual(data);
75
+ }));
76
+ });
77
+ });
78
+ //# sourceMappingURL=user.repository.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.repository.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/login-user/user.repository.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const password_hash_service_1 = require("../../../../src/components/password-hash/password-hash.service");
13
+ jest.mock('argon2', () => {
14
+ return {
15
+ hash: jest.fn((passowrd) => {
16
+ return `hash${passowrd}`;
17
+ }),
18
+ verify: jest.fn().mockResolvedValue(true)
19
+ };
20
+ });
21
+ describe('password-hash.service', () => {
22
+ const passwordHashService = new password_hash_service_1.PasswordHashService();
23
+ afterEach(() => {
24
+ jest.clearAllMocks();
25
+ });
26
+ it('should return hash password', () => __awaiter(void 0, void 0, void 0, function* () {
27
+ const password = 'password';
28
+ const hash = yield passwordHashService.hashPassword(password);
29
+ expect(hash).toEqual('hashpassword');
30
+ }));
31
+ it('should return true when verify password', () => __awaiter(void 0, void 0, void 0, function* () {
32
+ const password = 'password';
33
+ const hash = 'hashpassword10';
34
+ const result = yield passwordHashService.verify(password, hash);
35
+ expect(result).toEqual(true);
36
+ }));
37
+ });
38
+ //# sourceMappingURL=password-hash.service.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-hash.service.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/password-hash/password-hash.service.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0GAAqG;AAGrG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IACrB,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvB,OAAO,OAAO,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;KAC5C,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,MAAM,mBAAmB,GAAG,IAAI,2CAAmB,EAAE,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAS,EAAE;QACzC,MAAM,QAAQ,GAAG,UAAU,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAO,mBAAmB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,GAAS,EAAE;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC;QAC5B,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAA,CAAC,CAAC;AAGP,CAAC,CAAC,CAAA"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const system_repository_1 = require("../../../../src/components/system/system.repository");
13
+ const prisma_1 = require("../../../../src/prisma-client/__mocks__/prisma");
14
+ describe('system.repository', () => {
15
+ const data = {
16
+ id: 175,
17
+ code: 'EZC',
18
+ name: 'EzCash',
19
+ description: 'Tomei Money Lending System',
20
+ accessUrl: 'https://app.ezcash.com.my:22443/staff/login',
21
+ googlePlayUrl: '',
22
+ appleStoreUrl: '',
23
+ apiKey: 'f3fef257jt',
24
+ logo: 'https://sso-api.tomei.com.my/upload/2023/01/10/FJ3DoHdRZKjf2bGkgA4E-BrowserIcon.png',
25
+ status: 'active',
26
+ visible: true,
27
+ createdAt: new Date(),
28
+ updatedAt: new Date(),
29
+ apiSecret: '12345',
30
+ updatedById: 61,
31
+ createdById: 100,
32
+ };
33
+ afterEach(() => {
34
+ jest.restoreAllMocks();
35
+ });
36
+ describe('findAll', () => {
37
+ it('should return list of system', () => __awaiter(void 0, void 0, void 0, function* () {
38
+ prisma_1.prismaMock.system.findMany.mockResolvedValueOnce([data]);
39
+ const systemRepository = new system_repository_1.SystemRepository();
40
+ expect(yield systemRepository.findAll({})).toEqual([data]);
41
+ }));
42
+ });
43
+ describe('findOne', () => {
44
+ it('should return system', () => __awaiter(void 0, void 0, void 0, function* () {
45
+ prisma_1.prismaMock.system.findFirst.mockResolvedValueOnce(data);
46
+ const systemRepository = new system_repository_1.SystemRepository();
47
+ expect(yield systemRepository.findOne({
48
+ where: {
49
+ id: data.id,
50
+ },
51
+ })).toEqual(data);
52
+ }));
53
+ });
54
+ describe('create', () => {
55
+ it('should create system', () => __awaiter(void 0, void 0, void 0, function* () {
56
+ prisma_1.prismaMock.system.create.mockResolvedValueOnce(data);
57
+ const systemRepository = new system_repository_1.SystemRepository();
58
+ expect(yield systemRepository.create(data)).toEqual(data);
59
+ }));
60
+ });
61
+ describe('update', () => {
62
+ it('should update system', () => __awaiter(void 0, void 0, void 0, function* () {
63
+ prisma_1.prismaMock.system.update.mockResolvedValueOnce(data);
64
+ const systemRepository = new system_repository_1.SystemRepository();
65
+ expect(yield systemRepository.update({
66
+ where: {
67
+ id: data.id,
68
+ },
69
+ data: data,
70
+ }, data)).toEqual(data);
71
+ }));
72
+ });
73
+ describe('delete', () => {
74
+ it('should delete system', () => __awaiter(void 0, void 0, void 0, function* () {
75
+ prisma_1.prismaMock.system.delete.mockResolvedValueOnce(data);
76
+ const systemRepository = new system_repository_1.SystemRepository();
77
+ expect(yield systemRepository.delete({
78
+ where: {
79
+ id: data.id,
80
+ },
81
+ })).toEqual(data);
82
+ }));
83
+ });
84
+ });
85
+ //# sourceMappingURL=system.repository.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.repository.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/system/system.repository.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const system_access_repository_1 = require("../../../../src/components/system-access/system-access.repository");
13
+ const prisma_1 = require("../../../../src/prisma-client/__mocks__/prisma");
14
+ describe('system-access.repository', () => {
15
+ const data = {
16
+ userId: 1,
17
+ systemId: 175,
18
+ updatedAt: new Date(),
19
+ };
20
+ afterEach(() => {
21
+ jest.restoreAllMocks();
22
+ });
23
+ describe('findAll', () => {
24
+ it('should return list of system access', () => __awaiter(void 0, void 0, void 0, function* () {
25
+ prisma_1.prismaMock.systemAccess.findMany.mockResolvedValueOnce([data]);
26
+ const systemAccessRepository = new system_access_repository_1.SystemAccessRepository();
27
+ expect(yield systemAccessRepository.findAll({})).toEqual([data]);
28
+ }));
29
+ });
30
+ describe('findOne', () => {
31
+ it('should return system access', () => __awaiter(void 0, void 0, void 0, function* () {
32
+ prisma_1.prismaMock.systemAccess.findFirst.mockResolvedValueOnce(data);
33
+ const systemAccessRepository = new system_access_repository_1.SystemAccessRepository();
34
+ expect(yield systemAccessRepository.findOne({
35
+ where: {
36
+ userId: data.userId,
37
+ systemId: data.systemId,
38
+ },
39
+ })).toEqual(data);
40
+ }));
41
+ });
42
+ describe('create', () => {
43
+ it('should create system access', () => __awaiter(void 0, void 0, void 0, function* () {
44
+ prisma_1.prismaMock.systemAccess.create.mockResolvedValueOnce(data);
45
+ const systemAccessRepository = new system_access_repository_1.SystemAccessRepository();
46
+ expect(yield systemAccessRepository.create(data)).toEqual(data);
47
+ }));
48
+ });
49
+ describe('update', () => {
50
+ it('should update system access', () => __awaiter(void 0, void 0, void 0, function* () {
51
+ prisma_1.prismaMock.systemAccess.update.mockResolvedValueOnce(data);
52
+ const systemAccessRepository = new system_access_repository_1.SystemAccessRepository();
53
+ expect(yield systemAccessRepository.update({
54
+ where: {
55
+ userId: data.userId,
56
+ systemId: data.systemId,
57
+ },
58
+ data: data,
59
+ }, data)).toEqual(data);
60
+ }));
61
+ });
62
+ describe('delete', () => {
63
+ it('should delete system access', () => __awaiter(void 0, void 0, void 0, function* () {
64
+ prisma_1.prismaMock.systemAccess.delete.mockResolvedValueOnce(data);
65
+ const systemAccessRepository = new system_access_repository_1.SystemAccessRepository();
66
+ expect(yield systemAccessRepository.delete({
67
+ where: {
68
+ userId: data.userId,
69
+ systemId: data.systemId,
70
+ },
71
+ })).toEqual(data);
72
+ }));
73
+ });
74
+ });
75
+ //# sourceMappingURL=system-access.repository.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-access.repository.spec.js","sourceRoot":"","sources":["../../../../../__tests__/unit/components/system-access/system-access.repository.spec.ts"],"names":[],"mappings":"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"}