@futdevpro/nts-dynamo 1.15.2 → 1.15.5

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 (192) hide show
  1. package/.cursor/rules/__assistant_guide.mdc +30 -0
  2. package/.cursor/rules/__main.mdc +64 -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 +465 -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/_specifications/BACKLOG.md +15 -0
  24. package/_specifications/TODO.md +15 -0
  25. package/build/_modules/ai/_models/ai-test-generation-result.interface.d.ts +17 -0
  26. package/build/_modules/ai/_models/ai-test-generation-result.interface.d.ts.map +1 -0
  27. package/build/_modules/ai/_models/ai-test-generation-result.interface.js +3 -0
  28. package/build/_modules/ai/_models/ai-test-generation-result.interface.js.map +1 -0
  29. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.d.ts +36 -0
  30. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.d.ts.map +1 -0
  31. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.js +118 -0
  32. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.js.map +1 -0
  33. package/build/_modules/ai/_modules/anthropic/index.d.ts +3 -0
  34. package/build/_modules/ai/_modules/anthropic/index.d.ts.map +1 -0
  35. package/build/_modules/ai/_modules/anthropic/index.js +8 -0
  36. package/build/_modules/ai/_modules/anthropic/index.js.map +1 -0
  37. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.d.ts +35 -0
  38. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.d.ts.map +1 -0
  39. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.js +129 -0
  40. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.js.map +1 -0
  41. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +3 -0
  42. package/build/_modules/ai/_modules/fdp-ai/index.d.ts.map +1 -0
  43. package/build/_modules/ai/_modules/fdp-ai/index.js +8 -0
  44. package/build/_modules/ai/_modules/fdp-ai/index.js.map +1 -0
  45. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.d.ts +40 -0
  46. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.d.ts.map +1 -0
  47. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.js +111 -0
  48. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.js.map +1 -0
  49. package/build/_modules/ai/_modules/open-ai/index.d.ts +1 -0
  50. package/build/_modules/ai/_modules/open-ai/index.d.ts.map +1 -1
  51. package/build/_modules/ai/_modules/open-ai/index.js +1 -0
  52. package/build/_modules/ai/_modules/open-ai/index.js.map +1 -1
  53. package/build/_modules/ai/_services/ai-user-key.service-base.d.ts +45 -0
  54. package/build/_modules/ai/_services/ai-user-key.service-base.d.ts.map +1 -0
  55. package/build/_modules/ai/_services/ai-user-key.service-base.js +15 -0
  56. package/build/_modules/ai/_services/ai-user-key.service-base.js.map +1 -0
  57. package/build/_modules/ai/index.d.ts +2 -0
  58. package/build/_modules/ai/index.d.ts.map +1 -1
  59. package/build/_modules/ai/index.js +2 -0
  60. package/build/_modules/ai/index.js.map +1 -1
  61. package/build/_modules/custom-data/custom-data.controller.d.ts.map +1 -1
  62. package/build/_modules/custom-data/custom-data.controller.js +1 -2
  63. package/build/_modules/custom-data/custom-data.controller.js.map +1 -1
  64. package/build/_modules/socket/app-extended.server.js +1 -1
  65. package/build/_modules/socket/app-extended.server.js.map +1 -1
  66. package/build/_services/base/data.service.d.ts +1 -1
  67. package/build/_services/base/data.service.js +1 -1
  68. package/build/_services/base/db.service.d.ts +1 -1
  69. package/build/_services/base/db.service.js +1 -1
  70. package/build/_services/core/api.service.d.ts.map +1 -1
  71. package/build/_services/core/api.service.js +1 -0
  72. package/build/_services/core/api.service.js.map +1 -1
  73. package/build/_services/core/auth.service.d.ts +2 -2
  74. package/build/_services/core/auth.service.js +1 -1
  75. package/build/_services/core/email.service.js +1 -1
  76. package/build/_services/core/email.service.js.map +1 -1
  77. package/build/_services/core/global.service.d.ts +1 -1
  78. package/build/_services/core/global.service.js +2 -2
  79. package/build/_services/core/global.service.js.map +1 -1
  80. package/build/_services/server/app.server.d.ts.map +1 -1
  81. package/build/_services/server/app.server.js +11 -1
  82. package/build/_services/server/app.server.js.map +1 -1
  83. package/package.json +18 -4
  84. package/scripts/run-coverage-tests.js +5 -1
  85. package/spec/support/helpers/spec-reporter-loader.js +359 -0
  86. package/spec/support/helpers/ts-node-helper.js +84 -0
  87. package/spec/support/jasmine.coverage.json +2 -1
  88. package/spec/support/jasmine.json +3 -3
  89. package/src/_collections/archive.util.spec.ts +36 -0
  90. package/src/_collections/get-environment-settings.util.spec.ts +210 -0
  91. package/src/_collections/star.controller.spec.ts +224 -0
  92. package/src/_models/control-models/api-call-params.control-model.spec.ts +62 -3
  93. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -0
  94. package/src/_models/control-models/app-params.control-model.spec.ts +158 -2
  95. package/src/_models/control-models/endpoint-params.control-model.spec.ts +578 -0
  96. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -0
  97. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -0
  98. package/src/_modules/ai/_modules/anthropic/index.ts +5 -0
  99. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -0
  100. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -0
  101. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -0
  102. package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -0
  103. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -0
  104. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -0
  105. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +240 -0
  106. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -0
  107. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +437 -0
  108. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -0
  109. package/src/_modules/ai/_modules/open-ai/index.ts +1 -0
  110. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -0
  111. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -0
  112. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -0
  113. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +79 -0
  114. package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -0
  115. package/src/_modules/ai/index.ts +2 -0
  116. package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -0
  117. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -0
  118. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -0
  119. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -0
  120. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -0
  121. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -0
  122. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -0
  123. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -0
  124. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -0
  125. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -0
  126. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -0
  127. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -0
  128. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -0
  129. package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -0
  130. package/src/_modules/custom-data/custom-data.controller.ts +1 -3
  131. package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -0
  132. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -0
  133. package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -0
  134. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -0
  135. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -0
  136. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -0
  137. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -0
  138. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -0
  139. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -0
  140. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -0
  141. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -0
  142. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -0
  143. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -0
  144. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -0
  145. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -0
  146. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -0
  147. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +345 -0
  148. package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -0
  149. package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -0
  150. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -0
  151. package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -0
  152. package/src/_modules/mock/data-model.mock.spec.ts +27 -24
  153. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -0
  154. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -0
  155. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -0
  156. package/src/_modules/server/errors/errors.control-service.spec.ts +230 -0
  157. package/src/_modules/server/errors/errors.controller.spec.ts +165 -0
  158. package/src/_modules/server/errors/errors.data-service.spec.ts +355 -0
  159. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -0
  160. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -0
  161. package/src/_modules/server/server-status/server-status.control-service.spec.ts +516 -0
  162. package/src/_modules/server/server-status/server-status.controller.spec.ts +156 -0
  163. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +6 -3
  164. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -0
  165. package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -0
  166. package/src/_modules/socket/app-extended.server.ts +1 -1
  167. package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -0
  168. package/src/_modules/test/test.controller.spec.ts +72 -0
  169. package/src/_modules/usage/usage.controller.spec.ts +81 -0
  170. package/src/_modules/usage/usage.data-service.spec.ts +332 -0
  171. package/src/_services/base/api.service-base.spec.ts +125 -0
  172. package/src/_services/base/archive-data.service.spec.ts +196 -0
  173. package/src/_services/base/data.service.spec.ts +493 -0
  174. package/src/_services/base/data.service.ts +1 -1
  175. package/src/_services/base/db.service.spec.ts +59 -18
  176. package/src/_services/base/db.service.ts +1 -1
  177. package/src/_services/base/singleton.service-base.spec.ts +28 -0
  178. package/src/_services/base/singleton.service.spec.ts +114 -0
  179. package/src/_services/core/api.service.ts +1 -0
  180. package/src/_services/core/auth.service.spec.ts +159 -0
  181. package/src/_services/core/auth.service.ts +2 -2
  182. package/src/_services/core/email.service.spec.ts +14 -22
  183. package/src/_services/core/email.service.ts +1 -1
  184. package/src/_services/core/global.service.spec.ts +275 -0
  185. package/src/_services/core/global.service.ts +2 -2
  186. package/src/_services/core/service-collection.service.spec.ts +46 -0
  187. package/src/_services/route/controller.service.ts +1 -1
  188. package/src/_services/route/routing-module.service.spec.ts +8 -6
  189. package/src/_services/server/app.server.ts +17 -1
  190. package/src/_services/shared.static-service.spec.ts +89 -0
  191. package/src/_modules/socket/app-extended.server.spec.ts +0 -227
  192. 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
  });