@futdevpro/nts-dynamo 1.15.1 → 1.15.3

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 (233) hide show
  1. package/.cursor/rules/__assistant_guide.mdc +30 -0
  2. package/.cursor/rules/__main.mdc +62 -0
  3. package/.cursor/rules/_ag_backend-structure.mdc +86 -0
  4. package/.cursor/rules/_ag_backend.mdc +16 -0
  5. package/.cursor/rules/_ag_debug.mdc +8 -0
  6. package/.cursor/rules/_ag_documentation_writing_rules.mdc +372 -0
  7. package/.cursor/rules/_ag_file-refactoring.mdc +113 -0
  8. package/.cursor/rules/_ag_fixes_rules.mdc +6 -0
  9. package/.cursor/rules/_ag_frontend-structure.mdc +87 -0
  10. package/.cursor/rules/_ag_frontend.mdc +40 -0
  11. package/.cursor/rules/_ag_import-rules.mdc +45 -0
  12. package/.cursor/rules/_ag_naming.mdc +116 -0
  13. package/.cursor/rules/_ag_running_commands.mdc +5 -0
  14. package/.cursor/rules/_ag_server-controller.mdc +6 -0
  15. package/.cursor/rules/_ag_should-be.mdc +7 -0
  16. package/.cursor/rules/_ag_swearing.mdc +47 -0
  17. package/.cursor/rules/ai_development_guide.md +61 -0
  18. package/.cursor/rules/ai_directives.md +114 -0
  19. package/.cursor/rules/cursor-rules.md +160 -0
  20. package/.cursor/rules/default-command.mdc +229 -0
  21. package/.cursor/rules/error_code_pattern.md +40 -0
  22. package/.cursor/rules/saved rule mcp server use.md +16 -0
  23. package/build/_models/control-models/app-params.control-model.d.ts.map +1 -1
  24. package/build/_models/control-models/app-params.control-model.js +6 -1
  25. package/build/_models/control-models/app-params.control-model.js.map +1 -1
  26. package/build/_modules/custom-data/custom-data.controller.d.ts.map +1 -1
  27. package/build/_modules/custom-data/custom-data.controller.js +1 -2
  28. package/build/_modules/custom-data/custom-data.controller.js.map +1 -1
  29. package/build/_services/core/api.service.d.ts.map +1 -1
  30. package/build/_services/core/api.service.js +1 -0
  31. package/build/_services/core/api.service.js.map +1 -1
  32. package/build/_services/server/app.server.d.ts.map +1 -1
  33. package/build/_services/server/app.server.js +11 -0
  34. package/build/_services/server/app.server.js.map +1 -1
  35. package/package.json +5 -4
  36. package/scripts/run-coverage-tests.js +5 -1
  37. package/spec/support/helpers/spec-reporter-loader.js +359 -0
  38. package/spec/support/helpers/ts-node-helper.js +84 -0
  39. package/spec/support/jasmine.coverage.json +2 -1
  40. package/spec/support/jasmine.json +3 -3
  41. package/src/_collections/archive.util.spec.ts +36 -0
  42. package/src/_collections/get-environment-settings.util.spec.ts +210 -0
  43. package/src/_collections/star.controller.spec.ts +224 -0
  44. package/src/_models/control-models/api-call-params.control-model.spec.ts +62 -3
  45. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -0
  46. package/src/_models/control-models/app-params.control-model.spec.ts +158 -2
  47. package/src/_models/control-models/app-params.control-model.ts +8 -2
  48. package/src/_models/control-models/endpoint-params.control-model.spec.ts +578 -0
  49. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -0
  50. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -0
  51. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -0
  52. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -0
  53. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +240 -0
  54. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -0
  55. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +437 -0
  56. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -0
  57. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -0
  58. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -0
  59. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +79 -0
  60. package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -0
  61. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -0
  62. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -0
  63. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -0
  64. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -0
  65. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -0
  66. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -0
  67. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -0
  68. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -0
  69. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -0
  70. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -0
  71. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -0
  72. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -0
  73. package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -0
  74. package/src/_modules/custom-data/custom-data.controller.ts +1 -3
  75. package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -0
  76. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -0
  77. package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -0
  78. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -0
  79. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -0
  80. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -0
  81. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -0
  82. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -0
  83. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -0
  84. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -0
  85. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -0
  86. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -0
  87. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -0
  88. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -0
  89. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -0
  90. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -0
  91. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +345 -0
  92. package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -0
  93. package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -0
  94. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -0
  95. package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -0
  96. package/src/_modules/mock/data-model.mock.spec.ts +27 -24
  97. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -0
  98. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -0
  99. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -0
  100. package/src/_modules/server/errors/errors.control-service.spec.ts +230 -0
  101. package/src/_modules/server/errors/errors.controller.spec.ts +165 -0
  102. package/src/_modules/server/errors/errors.data-service.spec.ts +355 -0
  103. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -0
  104. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -0
  105. package/src/_modules/server/server-status/server-status.control-service.spec.ts +516 -0
  106. package/src/_modules/server/server-status/server-status.controller.spec.ts +156 -0
  107. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +6 -3
  108. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -0
  109. package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -0
  110. package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -0
  111. package/src/_modules/test/test.controller.spec.ts +72 -0
  112. package/src/_modules/usage/usage.controller.spec.ts +81 -0
  113. package/src/_modules/usage/usage.data-service.spec.ts +332 -0
  114. package/src/_services/base/api.service-base.spec.ts +125 -0
  115. package/src/_services/base/archive-data.service.spec.ts +196 -0
  116. package/src/_services/base/data.service.spec.ts +493 -0
  117. package/src/_services/base/db.service.spec.ts +59 -18
  118. package/src/_services/base/singleton.service-base.spec.ts +28 -0
  119. package/src/_services/base/singleton.service.spec.ts +114 -0
  120. package/src/_services/core/api.service.ts +1 -0
  121. package/src/_services/core/auth.service.spec.ts +159 -0
  122. package/src/_services/core/email.service.spec.ts +14 -22
  123. package/src/_services/core/global.service.spec.ts +275 -0
  124. package/src/_services/core/service-collection.service.spec.ts +46 -0
  125. package/src/_services/route/routing-module.service.spec.ts +8 -6
  126. package/src/_services/server/app.server.ts +12 -0
  127. package/src/_services/shared.static-service.spec.ts +89 -0
  128. package/build/_collections/archive.util.spec.d.ts +0 -2
  129. package/build/_collections/archive.util.spec.d.ts.map +0 -1
  130. package/build/_collections/archive.util.spec.js +0 -21
  131. package/build/_collections/archive.util.spec.js.map +0 -1
  132. package/build/_models/control-models/api-call-params.control-model.spec.d.ts +0 -2
  133. package/build/_models/control-models/api-call-params.control-model.spec.d.ts.map +0 -1
  134. package/build/_models/control-models/api-call-params.control-model.spec.js +0 -80
  135. package/build/_models/control-models/api-call-params.control-model.spec.js.map +0 -1
  136. package/build/_models/control-models/app-params.control-model.spec.d.ts +0 -2
  137. package/build/_models/control-models/app-params.control-model.spec.d.ts.map +0 -1
  138. package/build/_models/control-models/app-params.control-model.spec.js +0 -59
  139. package/build/_models/control-models/app-params.control-model.spec.js.map +0 -1
  140. package/build/_models/control-models/app-system-controls.control-model.spec.d.ts +0 -2
  141. package/build/_models/control-models/app-system-controls.control-model.spec.d.ts.map +0 -1
  142. package/build/_models/control-models/app-system-controls.control-model.spec.js +0 -26
  143. package/build/_models/control-models/app-system-controls.control-model.spec.js.map +0 -1
  144. package/build/_models/control-models/http-settings.control-model.spec.d.ts +0 -2
  145. package/build/_models/control-models/http-settings.control-model.spec.d.ts.map +0 -1
  146. package/build/_models/control-models/http-settings.control-model.spec.js +0 -62
  147. package/build/_models/control-models/http-settings.control-model.spec.js.map +0 -1
  148. package/build/_models/control-models/system-control.control-model.spec.d.ts +0 -2
  149. package/build/_models/control-models/system-control.control-model.spec.d.ts.map +0 -1
  150. package/build/_models/control-models/system-control.control-model.spec.js +0 -24
  151. package/build/_models/control-models/system-control.control-model.spec.js.map +0 -1
  152. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.d.ts +0 -2
  153. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.d.ts.map +0 -1
  154. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.js +0 -294
  155. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.js.map +0 -1
  156. package/build/_modules/mock/app-params.mock.spec.d.ts +0 -2
  157. package/build/_modules/mock/app-params.mock.spec.d.ts.map +0 -1
  158. package/build/_modules/mock/app-params.mock.spec.js +0 -19
  159. package/build/_modules/mock/app-params.mock.spec.js.map +0 -1
  160. package/build/_modules/mock/auth-service.mock.spec.d.ts +0 -2
  161. package/build/_modules/mock/auth-service.mock.spec.d.ts.map +0 -1
  162. package/build/_modules/mock/auth-service.mock.spec.js +0 -40
  163. package/build/_modules/mock/auth-service.mock.spec.js.map +0 -1
  164. package/build/_modules/mock/controller.mock.spec.d.ts +0 -2
  165. package/build/_modules/mock/controller.mock.spec.d.ts.map +0 -1
  166. package/build/_modules/mock/controller.mock.spec.js +0 -23
  167. package/build/_modules/mock/controller.mock.spec.js.map +0 -1
  168. package/build/_modules/mock/data-model.mock.spec.d.ts +0 -2
  169. package/build/_modules/mock/data-model.mock.spec.d.ts.map +0 -1
  170. package/build/_modules/mock/data-model.mock.spec.js +0 -98
  171. package/build/_modules/mock/data-model.mock.spec.js.map +0 -1
  172. package/build/_modules/mock/email-service-collection.mock.spec.d.ts +0 -2
  173. package/build/_modules/mock/email-service-collection.mock.spec.d.ts.map +0 -1
  174. package/build/_modules/mock/email-service-collection.mock.spec.js +0 -21
  175. package/build/_modules/mock/email-service-collection.mock.spec.js.map +0 -1
  176. package/build/_modules/mock/email-service.mock.spec.d.ts +0 -2
  177. package/build/_modules/mock/email-service.mock.spec.d.ts.map +0 -1
  178. package/build/_modules/mock/email-service.mock.spec.js +0 -14
  179. package/build/_modules/mock/email-service.mock.spec.js.map +0 -1
  180. package/build/_modules/mock/socket-client.mock.spec.d.ts +0 -2
  181. package/build/_modules/mock/socket-client.mock.spec.d.ts.map +0 -1
  182. package/build/_modules/mock/socket-client.mock.spec.js +0 -32
  183. package/build/_modules/mock/socket-client.mock.spec.js.map +0 -1
  184. package/build/_modules/mock/socket-server.mock.spec.d.ts +0 -2
  185. package/build/_modules/mock/socket-server.mock.spec.d.ts.map +0 -1
  186. package/build/_modules/mock/socket-server.mock.spec.js +0 -36
  187. package/build/_modules/mock/socket-server.mock.spec.js.map +0 -1
  188. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.d.ts +0 -2
  189. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.d.ts.map +0 -1
  190. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.js +0 -22
  191. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.js.map +0 -1
  192. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.d.ts +0 -2
  193. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.d.ts.map +0 -1
  194. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.js +0 -29
  195. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.js.map +0 -1
  196. package/build/_modules/socket/_services/socket-server.service.spec.d.ts +0 -2
  197. package/build/_modules/socket/_services/socket-server.service.spec.d.ts.map +0 -1
  198. package/build/_modules/socket/_services/socket-server.service.spec.js +0 -9
  199. package/build/_modules/socket/_services/socket-server.service.spec.js.map +0 -1
  200. package/build/_modules/socket/app-extended.server.spec.d.ts +0 -2
  201. package/build/_modules/socket/app-extended.server.spec.d.ts.map +0 -1
  202. package/build/_modules/socket/app-extended.server.spec.js +0 -149
  203. package/build/_modules/socket/app-extended.server.spec.js.map +0 -1
  204. package/build/_services/base/db.service.spec.d.ts +0 -1
  205. package/build/_services/base/db.service.spec.d.ts.map +0 -1
  206. package/build/_services/base/db.service.spec.js +0 -28
  207. package/build/_services/base/db.service.spec.js.map +0 -1
  208. package/build/_services/core/api.service.spec.d.ts +0 -2
  209. package/build/_services/core/api.service.spec.d.ts.map +0 -1
  210. package/build/_services/core/api.service.spec.js +0 -109
  211. package/build/_services/core/api.service.spec.js.map +0 -1
  212. package/build/_services/core/email.service.spec.d.ts +0 -2
  213. package/build/_services/core/email.service.spec.d.ts.map +0 -1
  214. package/build/_services/core/email.service.spec.js +0 -77
  215. package/build/_services/core/email.service.spec.js.map +0 -1
  216. package/build/_services/route/controller.service.spec.d.ts +0 -2
  217. package/build/_services/route/controller.service.spec.d.ts.map +0 -1
  218. package/build/_services/route/controller.service.spec.js +0 -48
  219. package/build/_services/route/controller.service.spec.js.map +0 -1
  220. package/build/_services/route/routing-module.service.spec.d.ts +0 -2
  221. package/build/_services/route/routing-module.service.spec.d.ts.map +0 -1
  222. package/build/_services/route/routing-module.service.spec.js +0 -64
  223. package/build/_services/route/routing-module.service.spec.js.map +0 -1
  224. package/build/_services/server/app.server.spec.d.ts +0 -2
  225. package/build/_services/server/app.server.spec.d.ts.map +0 -1
  226. package/build/_services/server/app.server.spec.js +0 -80
  227. package/build/_services/server/app.server.spec.js.map +0 -1
  228. package/build/_services/shared.static-service.spec.d.ts +0 -2
  229. package/build/_services/shared.static-service.spec.d.ts.map +0 -1
  230. package/build/_services/shared.static-service.spec.js +0 -12
  231. package/build/_services/shared.static-service.spec.js.map +0 -1
  232. package/src/_modules/socket/app-extended.server.spec.ts +0 -227
  233. package/src/_services/server/app.server.spec.ts +0 -138
@@ -0,0 +1,52 @@
1
+
2
+ import { DyNTS_AppExtSysControls } from './app-ext-system-controls.control-model';
3
+ import { DyNTS_SystemControl } from './system-control.control-model';
4
+
5
+ describe('| DyNTS_AppExtSysControls', () => {
6
+ let appExtSysControls: DyNTS_AppExtSysControls;
7
+
8
+ beforeEach(() => {
9
+ appExtSysControls = new DyNTS_AppExtSysControls();
10
+ });
11
+
12
+ it('| should create an instance of DyNTS_AppExtSysControls', () => {
13
+ expect(appExtSysControls).toBeTruthy();
14
+ });
15
+
16
+ it('| should initialize "appExtended" as an instance of DyNTS_SystemControl', () => {
17
+ expect(appExtSysControls.appExtended).toBeInstanceOf(DyNTS_SystemControl);
18
+ });
19
+
20
+ it('| should initialize "httpSocketServer" as an instance of DyNTS_SystemControl', () => {
21
+ expect(appExtSysControls.httpSocketServer).toBeInstanceOf(DyNTS_SystemControl);
22
+ });
23
+
24
+ it('| should initialize "httpsSocketServer" as an instance of DyNTS_SystemControl', () => {
25
+ expect(appExtSysControls.httpsSocketServer).toBeInstanceOf(DyNTS_SystemControl);
26
+ });
27
+
28
+ it('| should have independent SystemControl instances', () => {
29
+ expect(appExtSysControls.appExtended).not.toBe(appExtSysControls.httpSocketServer);
30
+ expect(appExtSysControls.appExtended).not.toBe(appExtSysControls.httpsSocketServer);
31
+ expect(appExtSysControls.httpSocketServer).not.toBe(appExtSysControls.httpsSocketServer);
32
+ });
33
+
34
+ it('| should allow setting init and started on appExtended', () => {
35
+ appExtSysControls.appExtended.init = true;
36
+ appExtSysControls.appExtended.started = true;
37
+ expect(appExtSysControls.appExtended.getIsReady()).toBeTrue();
38
+ });
39
+
40
+ it('| should allow setting init and started on httpSocketServer', () => {
41
+ appExtSysControls.httpSocketServer.init = true;
42
+ appExtSysControls.httpSocketServer.started = false;
43
+ expect(appExtSysControls.httpSocketServer.getIsReady()).toBeFalse();
44
+ });
45
+
46
+ it('| should allow setting init and started on httpsSocketServer', () => {
47
+ appExtSysControls.httpsSocketServer.init = true;
48
+ appExtSysControls.httpsSocketServer.started = true;
49
+ expect(appExtSysControls.httpsSocketServer.getIsReady()).toBeTrue();
50
+ });
51
+ });
52
+
@@ -1,14 +1,40 @@
1
1
 
2
2
  import { DyNTS_App_Params } from './app-params.control-model';
3
+ import { DyNTS_global_settings } from '../../_collections/global-settings.const';
4
+ import { DyFM_EnvironmentFlag } from '@futdevpro/fsm-dynamo';
3
5
 
4
6
  describe('| DyNTS_App_Params', () => {
7
+ let originalEnv: any;
8
+
9
+ // Ensure env_settings exists before tests
10
+ beforeAll(() => {
11
+ if (!DyNTS_global_settings.env_settings) {
12
+ (DyNTS_global_settings as any).env_settings = {
13
+ environment: DyFM_EnvironmentFlag.local,
14
+ discord: {},
15
+ mongoUri: undefined,
16
+ openAi: {},
17
+ };
18
+ }
19
+ });
20
+
21
+ beforeEach(() => {
22
+ originalEnv = DyNTS_global_settings.env_settings?.environment;
23
+ DyNTS_global_settings.env_settings.environment = DyFM_EnvironmentFlag.local;
24
+ });
25
+
26
+ afterEach(() => {
27
+ if (DyNTS_global_settings.env_settings) {
28
+ DyNTS_global_settings.env_settings.environment = originalEnv;
29
+ }
30
+ });
5
31
  it('| should initialize with provided values', () => {
6
32
  const params: DyNTS_App_Params = {
7
33
  name: 'TestApp',
8
34
  title: 'Test Application',
9
35
  version: '1.0.0',
10
36
  dbName: 'testdb',
11
- dbUri: 'mongodb://0.0.0.0:27017/testdb',
37
+ dbUri: 'mongodb://0.0.0.0:29017/testdb',
12
38
  systemName: 'Test-App',
13
39
  systemShortCodeName: 'TA'
14
40
  };
@@ -19,12 +45,14 @@ describe('| DyNTS_App_Params', () => {
19
45
  expect(appParams.title).toBe('Test Application');
20
46
  expect(appParams.version).toBe('1.0.0');
21
47
  expect(appParams.dbName).toBe('testdb');
22
- expect(appParams.dbUri).toBe('mongodb://0.0.0.0:27017/testdb');
48
+ expect(appParams.dbUri).toBe('mongodb://0.0.0.0:29017/testdb');
23
49
  expect(appParams.systemName).toBe('Test-App');
24
50
  expect(appParams.systemShortCodeName).toBe('TA_LOCAL');
25
51
  });
26
52
 
27
53
  it('| should set default values when optional parameters are not provided', () => {
54
+ (DyNTS_global_settings.env_settings as any).mongoUri = undefined;
55
+
28
56
  const params: DyNTS_App_Params = {
29
57
  name: 'TestApp',
30
58
  version: '1.0.0',
@@ -66,4 +94,132 @@ describe('| DyNTS_App_Params', () => {
66
94
 
67
95
  expect(appParams.systemName).toBe('Test-Application');
68
96
  });
97
+
98
+ it('| should generate dbUri from global mongoUri when dbUri is not provided', () => {
99
+ // This test assumes global settings have mongoUri set
100
+ const params: DyNTS_App_Params = {
101
+ name: 'TestApp',
102
+ version: '1.0.0',
103
+ dbName: 'testdb',
104
+ };
105
+
106
+ const appParams = new DyNTS_App_Params(params);
107
+
108
+ expect(appParams.dbUri).toBeDefined();
109
+ expect(appParams.dbName).toBe('testdb');
110
+ });
111
+
112
+ it('| should use provided dbUri when set', () => {
113
+ const params: DyNTS_App_Params = {
114
+ name: 'TestApp',
115
+ version: '1.0.0',
116
+ dbName: 'testdb',
117
+ dbUri: 'mongodb://custom:27017/testdb',
118
+ };
119
+
120
+ const appParams = new DyNTS_App_Params(params);
121
+
122
+ expect(appParams.dbUri).toBe('mongodb://custom:27017/testdb');
123
+ });
124
+
125
+ it('| should set default dbOptions when not provided', () => {
126
+ const params: DyNTS_App_Params = {
127
+ name: 'TestApp',
128
+ version: '1.0.0',
129
+ dbName: 'testdb',
130
+ };
131
+
132
+ const appParams = new DyNTS_App_Params(params);
133
+
134
+ expect(appParams.dbOptions).toBeDefined();
135
+ expect(appParams.dbOptions?.directConnection).toBe(true);
136
+ });
137
+
138
+ it('| should use provided dbOptions', () => {
139
+ const customOptions = {
140
+ directConnection: false,
141
+ maxPoolSize: 10,
142
+ };
143
+
144
+ const params: DyNTS_App_Params = {
145
+ name: 'TestApp',
146
+ version: '1.0.0',
147
+ dbName: 'testdb',
148
+ dbOptions: customOptions,
149
+ };
150
+
151
+ const appParams = new DyNTS_App_Params(params);
152
+
153
+ expect(appParams.dbOptions).toEqual(customOptions);
154
+ });
155
+
156
+ it('| should set default openHost and secureHost', () => {
157
+ const params: DyNTS_App_Params = {
158
+ name: 'TestApp',
159
+ version: '1.0.0',
160
+ dbName: 'testdb',
161
+ };
162
+
163
+ const appParams = new DyNTS_App_Params(params);
164
+
165
+ expect(appParams.openHost).toBe('0.0.0.0');
166
+ expect(appParams.secureHost).toBe('0.0.0.0');
167
+ });
168
+
169
+ it('| should set default expressBacklog', () => {
170
+ const params: DyNTS_App_Params = {
171
+ name: 'TestApp',
172
+ version: '1.0.0',
173
+ dbName: 'testdb',
174
+ };
175
+
176
+ const appParams = new DyNTS_App_Params(params);
177
+
178
+ expect(appParams.expressBacklog).toBe(0);
179
+ });
180
+
181
+ it('| should log error when dbName is not set', () => {
182
+ const { DyFM_Log } = require('@futdevpro/fsm-dynamo');
183
+ const logSpy = spyOn(DyFM_Log, 'error');
184
+
185
+ const params: DyNTS_App_Params = {
186
+ name: 'TestApp',
187
+ version: '1.0.0',
188
+ } as any;
189
+
190
+ new DyNTS_App_Params(params);
191
+
192
+ expect(logSpy).toHaveBeenCalled();
193
+ });
194
+
195
+ it('| should log warning when dbName contains uppercase letters', () => {
196
+ const { DyFM_Log } = require('@futdevpro/fsm-dynamo');
197
+ const logSpy = spyOn(DyFM_Log, 'warn');
198
+
199
+ const params: DyNTS_App_Params = {
200
+ name: 'TestApp',
201
+ version: '1.0.0',
202
+ dbName: 'TestDB',
203
+ };
204
+
205
+ new DyNTS_App_Params(params);
206
+
207
+ expect(logSpy).toHaveBeenCalled();
208
+ });
209
+
210
+ it('| should log warning when dbUri contains multiple //', () => {
211
+ const { DyFM_Log } = require('@futdevpro/fsm-dynamo');
212
+ const logSpy = spyOn(DyFM_Log, 'warn');
213
+
214
+ const params: DyNTS_App_Params = {
215
+ name: 'TestApp',
216
+ version: '1.0.0',
217
+ dbName: 'testdb',
218
+ dbUri: 'mongodb://localhost:27017//testdb',
219
+ };
220
+
221
+ new DyNTS_App_Params(params);
222
+
223
+ expect(logSpy).toHaveBeenCalled();
224
+ });
69
225
  });
@@ -1,4 +1,4 @@
1
- import { DyFM_Log } from '@futdevpro/fsm-dynamo';
1
+ import { DyFM_Log, DyFM_String } from '@futdevpro/fsm-dynamo';
2
2
  import { ConnectOptions } from 'mongoose';
3
3
  import { DyNTS_global_settings } from '../../_collections/global-settings.const';
4
4
 
@@ -61,6 +61,9 @@ export class DyNTS_App_Params {
61
61
  this.name = set.name;
62
62
  this.title = set.title ?? '';
63
63
  this.version = set.version;
64
+ if (DyNTS_global_settings.systemVersion === 'unknown-version') {
65
+ DyNTS_global_settings.systemVersion = this.version;
66
+ }
64
67
 
65
68
  if (set.dbName || set.dbUri || set.dbOptions) {
66
69
  this.dbName = set.dbName;
@@ -92,12 +95,15 @@ export class DyNTS_App_Params {
92
95
  }
93
96
 
94
97
  this.systemName = set.systemName ?? this.name.replace(' ', '-');
98
+ DyNTS_global_settings.systemName ??= this.systemName;
99
+
95
100
  let sysShortCodeName: string;
96
- sysShortCodeName = set.systemShortCodeName ?? this.systemName.replace(/[^A-Z]/g, '');
101
+ sysShortCodeName = set.systemShortCodeName ?? DyFM_String.anyNameToShortCode(this.systemName);
97
102
  //if (!set.dontUseEnvInSystemShortCodeName) {
98
103
  sysShortCodeName += '_' + DyNTS_global_settings.env_settings.environment.toUpperCase();
99
104
  //}
100
105
  this.systemShortCodeName = sysShortCodeName;
106
+ DyNTS_global_settings.systemShortCodeName ??= this.systemShortCodeName;
101
107
 
102
108
  this.openHost = set.openHost ?? '0.0.0.0';
103
109
  this.secureHost = set.secureHost ?? '0.0.0.0';