tabletcommand-backend-models 7.3.39 → 7.4.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 (315) hide show
  1. package/build/constants.js +6 -6
  2. package/build/constants.js.map +1 -1
  3. package/build/helpers.js.map +1 -1
  4. package/build/models/agency.js +1 -1
  5. package/build/models/agency.js.map +1 -1
  6. package/build/models/battalion.js.map +1 -1
  7. package/build/models/cad-incident.js +3 -3
  8. package/build/models/cad-incident.js.map +1 -1
  9. package/build/models/cad-vehicle-status.js.map +1 -1
  10. package/build/models/chart-device-stats.js +1 -1
  11. package/build/models/chart-device-stats.js.map +1 -1
  12. package/build/models/chart-incident.js.map +1 -1
  13. package/build/models/chart-managed-incident.js.map +1 -1
  14. package/build/models/checklist-item.js.map +1 -1
  15. package/build/models/department.js +210 -174
  16. package/build/models/department.js.map +1 -1
  17. package/build/models/device-mapping.js.map +1 -1
  18. package/build/models/gst-mapping.js.map +1 -1
  19. package/build/models/incident-event.js +1 -1
  20. package/build/models/incident-event.js.map +1 -1
  21. package/build/models/location.js +2 -2
  22. package/build/models/location.js.map +1 -1
  23. package/build/models/personnel-known.js +5 -1
  24. package/build/models/personnel-known.js.map +1 -1
  25. package/build/models/remote-log-stream.js +1 -1
  26. package/build/models/remote-log-stream.js.map +1 -1
  27. package/build/models/remote-log.js +1 -1
  28. package/build/models/remote-log.js.map +1 -1
  29. package/build/models/schema/cad-incident.js +0 -56
  30. package/build/models/schema/cad-incident.js.map +1 -1
  31. package/build/models/schema/common-incident.js +1 -1
  32. package/build/models/schema/common-incident.js.map +1 -1
  33. package/build/models/sms-log.js.map +1 -1
  34. package/build/models/user-device.js +1 -1
  35. package/build/models/user-device.js.map +1 -1
  36. package/build/models/user.js +3 -3
  37. package/build/models/user.js.map +1 -1
  38. package/build/test/cad-status.js.map +1 -1
  39. package/build/test/device-mapping.js.map +1 -1
  40. package/build/test/mock.js +207 -206
  41. package/build/test/mock.js.map +1 -1
  42. package/build/test/personnel-import.js.map +1 -1
  43. package/build/test/release-note.js.map +1 -1
  44. package/{.buildkite → buildkite}/pipeline.yml +1 -1
  45. package/{test.sh → buildkite/test.sh} +1 -1
  46. package/cspell.json +2 -1
  47. package/definitions/helpers.d.ts.map +1 -1
  48. package/definitions/index.d.ts +203 -97
  49. package/definitions/index.d.ts.map +1 -1
  50. package/definitions/models/action-log.d.ts +4 -2
  51. package/definitions/models/action-log.d.ts.map +1 -1
  52. package/definitions/models/agency.d.ts +11 -5
  53. package/definitions/models/agency.d.ts.map +1 -1
  54. package/definitions/models/arcgis-group.d.ts +3 -1
  55. package/definitions/models/arcgis-group.d.ts.map +1 -1
  56. package/definitions/models/assignment.d.ts +4 -2
  57. package/definitions/models/assignment.d.ts.map +1 -1
  58. package/definitions/models/battalion.d.ts +11 -5
  59. package/definitions/models/battalion.d.ts.map +1 -1
  60. package/definitions/models/beacon-log.d.ts +4 -2
  61. package/definitions/models/beacon-log.d.ts.map +1 -1
  62. package/definitions/models/cad-incident-block.d.ts +4 -2
  63. package/definitions/models/cad-incident-block.d.ts.map +1 -1
  64. package/definitions/models/cad-incident-stream.d.ts +4 -2
  65. package/definitions/models/cad-incident-stream.d.ts.map +1 -1
  66. package/definitions/models/cad-incident.d.ts +4 -2
  67. package/definitions/models/cad-incident.d.ts.map +1 -1
  68. package/definitions/models/cad-simulation.d.ts +3 -1
  69. package/definitions/models/cad-simulation.d.ts.map +1 -1
  70. package/definitions/models/cad-status-map.d.ts +3 -1
  71. package/definitions/models/cad-status-map.d.ts.map +1 -1
  72. package/definitions/models/cad-status.d.ts +3 -1
  73. package/definitions/models/cad-status.d.ts.map +1 -1
  74. package/definitions/models/cad-vehicle-status-history.d.ts +3 -1
  75. package/definitions/models/cad-vehicle-status-history.d.ts.map +1 -1
  76. package/definitions/models/cad-vehicle-status.d.ts +3 -1
  77. package/definitions/models/cad-vehicle-status.d.ts.map +1 -1
  78. package/definitions/models/cad-vehicle.d.ts +3 -1
  79. package/definitions/models/cad-vehicle.d.ts.map +1 -1
  80. package/definitions/models/chart-device-stats.d.ts +4 -2
  81. package/definitions/models/chart-device-stats.d.ts.map +1 -1
  82. package/definitions/models/chart-incident.d.ts +4 -2
  83. package/definitions/models/chart-incident.d.ts.map +1 -1
  84. package/definitions/models/chart-managed-incident.d.ts +4 -2
  85. package/definitions/models/chart-managed-incident.d.ts.map +1 -1
  86. package/definitions/models/chart-user.d.ts +4 -2
  87. package/definitions/models/chart-user.d.ts.map +1 -1
  88. package/definitions/models/checklist-item.d.ts +11 -5
  89. package/definitions/models/checklist-item.d.ts.map +1 -1
  90. package/definitions/models/checklist.d.ts +11 -5
  91. package/definitions/models/checklist.d.ts.map +1 -1
  92. package/definitions/models/csv-import.d.ts +4 -2
  93. package/definitions/models/csv-import.d.ts.map +1 -1
  94. package/definitions/models/department.d.ts +11 -2
  95. package/definitions/models/department.d.ts.map +1 -1
  96. package/definitions/models/device-mapping.d.ts +4 -2
  97. package/definitions/models/device-mapping.d.ts.map +1 -1
  98. package/definitions/models/esri.d.ts +11 -5
  99. package/definitions/models/esri.d.ts.map +1 -1
  100. package/definitions/models/gst-mapping.d.ts +4 -2
  101. package/definitions/models/gst-mapping.d.ts.map +1 -1
  102. package/definitions/models/incident-event.d.ts +11 -5
  103. package/definitions/models/incident-event.d.ts.map +1 -1
  104. package/definitions/models/incident-filter.d.ts +4 -2
  105. package/definitions/models/incident-filter.d.ts.map +1 -1
  106. package/definitions/models/incident-notified.d.ts +4 -2
  107. package/definitions/models/incident-notified.d.ts.map +1 -1
  108. package/definitions/models/incident-share-code.d.ts +4 -2
  109. package/definitions/models/incident-share-code.d.ts.map +1 -1
  110. package/definitions/models/incident-takeover.d.ts +4 -2
  111. package/definitions/models/incident-takeover.d.ts.map +1 -1
  112. package/definitions/models/job-log.d.ts +4 -2
  113. package/definitions/models/job-log.d.ts.map +1 -1
  114. package/definitions/models/location.d.ts +4 -2
  115. package/definitions/models/location.d.ts.map +1 -1
  116. package/definitions/models/mail-log.d.ts +4 -2
  117. package/definitions/models/mail-log.d.ts.map +1 -1
  118. package/definitions/models/managed-incident.d.ts +4 -2
  119. package/definitions/models/managed-incident.d.ts.map +1 -1
  120. package/definitions/models/mark43-incident-retry.d.ts +3 -1
  121. package/definitions/models/mark43-incident-retry.d.ts.map +1 -1
  122. package/definitions/models/message.d.ts +4 -2
  123. package/definitions/models/message.d.ts.map +1 -1
  124. package/definitions/models/monitor.d.ts +4 -2
  125. package/definitions/models/monitor.d.ts.map +1 -1
  126. package/definitions/models/personnel-import.d.ts +11 -5
  127. package/definitions/models/personnel-import.d.ts.map +1 -1
  128. package/definitions/models/personnel-known.d.ts +11 -5
  129. package/definitions/models/personnel-known.d.ts.map +1 -1
  130. package/definitions/models/personnel-roster.d.ts +11 -5
  131. package/definitions/models/personnel-roster.d.ts.map +1 -1
  132. package/definitions/models/rate-limit.d.ts +4 -2
  133. package/definitions/models/rate-limit.d.ts.map +1 -1
  134. package/definitions/models/release-note.d.ts +4 -2
  135. package/definitions/models/release-note.d.ts.map +1 -1
  136. package/definitions/models/remote-log-stream.d.ts +4 -2
  137. package/definitions/models/remote-log-stream.d.ts.map +1 -1
  138. package/definitions/models/remote-log.d.ts +4 -2
  139. package/definitions/models/remote-log.d.ts.map +1 -1
  140. package/definitions/models/schema/agency-cron-config.d.ts +6 -2
  141. package/definitions/models/schema/agency-cron-config.d.ts.map +1 -1
  142. package/definitions/models/schema/agency-saml.d.ts +6 -2
  143. package/definitions/models/schema/agency-saml.d.ts.map +1 -1
  144. package/definitions/models/schema/cad-incident.d.ts +7 -3
  145. package/definitions/models/schema/cad-incident.d.ts.map +1 -1
  146. package/definitions/models/schema/cad-status-option-selected.d.ts +6 -2
  147. package/definitions/models/schema/cad-status-option-selected.d.ts.map +1 -1
  148. package/definitions/models/schema/color.d.ts +6 -2
  149. package/definitions/models/schema/color.d.ts.map +1 -1
  150. package/definitions/models/schema/common-incident.d.ts +54 -18
  151. package/definitions/models/schema/common-incident.d.ts.map +1 -1
  152. package/definitions/models/schema/esri-auth.d.ts +6 -2
  153. package/definitions/models/schema/esri-auth.d.ts.map +1 -1
  154. package/definitions/models/schema/esri-error.d.ts +6 -2
  155. package/definitions/models/schema/esri-error.d.ts.map +1 -1
  156. package/definitions/models/schema/esri-map.d.ts +6 -2
  157. package/definitions/models/schema/esri-map.d.ts.map +1 -1
  158. package/definitions/models/schema/firemapper-auth.d.ts +6 -2
  159. package/definitions/models/schema/firemapper-auth.d.ts.map +1 -1
  160. package/definitions/models/schema/geojson.d.ts +12 -4
  161. package/definitions/models/schema/geojson.d.ts.map +1 -1
  162. package/definitions/models/schema/oauth.d.ts +6 -2
  163. package/definitions/models/schema/oauth.d.ts.map +1 -1
  164. package/definitions/models/schema/pubnub-token.d.ts +6 -2
  165. package/definitions/models/schema/pubnub-token.d.ts.map +1 -1
  166. package/definitions/models/schema/remote-file.d.ts +6 -2
  167. package/definitions/models/schema/remote-file.d.ts.map +1 -1
  168. package/definitions/models/schema/validation-error-item.d.ts +6 -2
  169. package/definitions/models/schema/validation-error-item.d.ts.map +1 -1
  170. package/definitions/models/schema/webhook.d.ts +18 -6
  171. package/definitions/models/schema/webhook.d.ts.map +1 -1
  172. package/definitions/models/session.d.ts +4 -2
  173. package/definitions/models/session.d.ts.map +1 -1
  174. package/definitions/models/sms-log.d.ts +4 -2
  175. package/definitions/models/sms-log.d.ts.map +1 -1
  176. package/definitions/models/smtp-unhandled.d.ts +4 -2
  177. package/definitions/models/smtp-unhandled.d.ts.map +1 -1
  178. package/definitions/models/template.d.ts +11 -5
  179. package/definitions/models/template.d.ts.map +1 -1
  180. package/definitions/models/user-device.d.ts +4 -2
  181. package/definitions/models/user-device.d.ts.map +1 -1
  182. package/definitions/models/user-registration.d.ts +3 -1
  183. package/definitions/models/user-registration.d.ts.map +1 -1
  184. package/definitions/models/user.d.ts +11 -5
  185. package/definitions/models/user.d.ts.map +1 -1
  186. package/definitions/models/validation-report.d.ts +11 -5
  187. package/definitions/models/validation-report.d.ts.map +1 -1
  188. package/definitions/test/mock.d.ts +70 -69
  189. package/definitions/test/mock.d.ts.map +1 -1
  190. package/definitions/types/chart.d.ts +5 -9
  191. package/definitions/types/chart.d.ts.map +1 -1
  192. package/definitions/types/department.d.ts +8 -0
  193. package/definitions/types/department.d.ts.map +1 -1
  194. package/definitions/types/esri.d.ts.map +1 -1
  195. package/definitions/types/geojson.d.ts.map +1 -1
  196. package/definitions/types/personnel.d.ts +0 -4
  197. package/definitions/types/personnel.d.ts.map +1 -1
  198. package/definitions/types/sms-log.d.ts.map +1 -1
  199. package/definitions/types/validation.d.ts.map +1 -1
  200. package/eslint.config.mjs +51 -31
  201. package/package.json +14 -13
  202. package/src/constants.ts +6 -6
  203. package/src/helpers.ts +16 -17
  204. package/src/models/action-log.ts +1 -1
  205. package/src/models/agency.ts +2 -2
  206. package/src/models/arcgis-group.ts +1 -1
  207. package/src/models/assignment.ts +1 -1
  208. package/src/models/battalion.ts +4 -4
  209. package/src/models/beacon-log.ts +1 -1
  210. package/src/models/cad-incident-block.ts +1 -1
  211. package/src/models/cad-incident-stream.ts +1 -1
  212. package/src/models/cad-incident.ts +3 -3
  213. package/src/models/cad-simulation.ts +1 -1
  214. package/src/models/cad-status-map.ts +1 -1
  215. package/src/models/cad-status.ts +1 -1
  216. package/src/models/cad-vehicle-status-history.ts +1 -1
  217. package/src/models/cad-vehicle-status.ts +2 -2
  218. package/src/models/cad-vehicle.ts +1 -1
  219. package/src/models/chart-device-stats.ts +4 -4
  220. package/src/models/chart-incident.ts +3 -3
  221. package/src/models/chart-managed-incident.ts +3 -3
  222. package/src/models/chart-user.ts +1 -1
  223. package/src/models/checklist-item.ts +1 -2
  224. package/src/models/checklist.ts +1 -1
  225. package/src/models/csv-import.ts +1 -1
  226. package/src/models/department.ts +212 -173
  227. package/src/models/device-mapping.ts +2 -2
  228. package/src/models/esri.ts +1 -1
  229. package/src/models/gst-mapping.ts +2 -2
  230. package/src/models/incident-event.ts +2 -2
  231. package/src/models/incident-notified.ts +1 -1
  232. package/src/models/incident-takeover.ts +1 -1
  233. package/src/models/location.ts +2 -2
  234. package/src/models/mail-log.ts +1 -1
  235. package/src/models/mark43-incident-retry.ts +1 -1
  236. package/src/models/message.ts +1 -1
  237. package/src/models/monitor.ts +1 -1
  238. package/src/models/personnel-import.ts +1 -1
  239. package/src/models/personnel-known.ts +6 -2
  240. package/src/models/personnel-roster.ts +1 -1
  241. package/src/models/rate-limit.ts +1 -1
  242. package/src/models/remote-log-stream.ts +1 -1
  243. package/src/models/remote-log.ts +2 -2
  244. package/src/models/schema/agency-saml.ts +1 -1
  245. package/src/models/schema/cad-incident.ts +0 -60
  246. package/src/models/schema/common-incident.ts +1 -1
  247. package/src/models/schema/webhook.ts +3 -3
  248. package/src/models/session.ts +1 -1
  249. package/src/models/sms-log.ts +51 -51
  250. package/src/models/smtp-unhandled.ts +1 -1
  251. package/src/models/template.ts +1 -1
  252. package/src/models/user-device.ts +2 -2
  253. package/src/models/user-registration.ts +1 -1
  254. package/src/models/user.ts +3 -3
  255. package/src/models/validation-report.ts +1 -1
  256. package/src/test/cad-status.ts +0 -1
  257. package/src/test/csv-import.ts +0 -1
  258. package/src/test/device-mapping.ts +0 -1
  259. package/src/test/mock.ts +207 -208
  260. package/src/test/personnel-import.ts +0 -2
  261. package/src/test/release-note.ts +1 -2
  262. package/src/types/action-log.ts +1 -1
  263. package/src/types/chart.ts +6 -10
  264. package/src/types/checklist.ts +1 -1
  265. package/src/types/color.ts +1 -1
  266. package/src/types/department.ts +13 -4
  267. package/src/types/esri.ts +0 -1
  268. package/src/types/geojson.ts +0 -1
  269. package/src/types/incident-events.ts +1 -1
  270. package/src/types/personnel.ts +1 -6
  271. package/src/types/sms-log.ts +10 -10
  272. package/src/types/validation.ts +0 -1
  273. package/test-legacy/0index.js +0 -72
  274. package/test-legacy/action-log.js +0 -42
  275. package/test-legacy/agency.js +0 -42
  276. package/test-legacy/arcgis-group.js +0 -69
  277. package/test-legacy/assignment.js +0 -42
  278. package/test-legacy/battalion.js +0 -43
  279. package/test-legacy/cad-incident-block.js +0 -44
  280. package/test-legacy/cad-incident.js +0 -161
  281. package/test-legacy/cad-simulation.js +0 -34
  282. package/test-legacy/cad-status-map.js +0 -38
  283. package/test-legacy/cad-status.js +0 -53
  284. package/test-legacy/cad-vehicle-status-history.js +0 -36
  285. package/test-legacy/cad-vehicle-status.js +0 -44
  286. package/test-legacy/cad-vehicle.js +0 -39
  287. package/test-legacy/checklist-item.js +0 -44
  288. package/test-legacy/checklist.js +0 -45
  289. package/test-legacy/config.js +0 -15
  290. package/test-legacy/csv-import.js +0 -45
  291. package/test-legacy/department.js +0 -81
  292. package/test-legacy/device-mapping.js +0 -40
  293. package/test-legacy/esri.js +0 -69
  294. package/test-legacy/gst-mapping.js +0 -39
  295. package/test-legacy/helpers.js +0 -15
  296. package/test-legacy/incident-event.js +0 -54
  297. package/test-legacy/incident-notified.js +0 -38
  298. package/test-legacy/incident-takeover.js +0 -40
  299. package/test-legacy/job-log.js +0 -38
  300. package/test-legacy/location.js +0 -80
  301. package/test-legacy/mail-log.js +0 -48
  302. package/test-legacy/managed-incident.js +0 -117
  303. package/test-legacy/mark43-incident-retry.js +0 -35
  304. package/test-legacy/message.js +0 -40
  305. package/test-legacy/mock.js +0 -1285
  306. package/test-legacy/monitor.js +0 -36
  307. package/test-legacy/personnel-import.js +0 -51
  308. package/test-legacy/rate-limit.js +0 -34
  309. package/test-legacy/release-note.js +0 -36
  310. package/test-legacy/session.js +0 -44
  311. package/test-legacy/template.js +0 -45
  312. package/test-legacy/user-device.js +0 -56
  313. package/test-legacy/user-registration.js +0 -46
  314. package/test-legacy/user.js +0 -54
  315. package/test-legacy/validation-report.js +0 -34
@@ -1,161 +0,0 @@
1
- "use strict";
2
-
3
- const _ = require("lodash");
4
- const assert = require("chai").assert;
5
-
6
- const m = require("..");
7
- const config = require("./config");
8
-
9
- describe("CADIncident", function() {
10
- let models, mongoose;
11
- let testItem;
12
- beforeEach(async function() {
13
- const c = await m.connect(config.url);
14
- models = c.models;
15
- mongoose = c.mongoose;
16
-
17
- const mock = require("./mock")({
18
- mongoose
19
- });
20
- testItem = mock.cadIncident;
21
- await mock.beforeEach();
22
- });
23
- afterEach(function() {
24
- mongoose.disconnect();
25
- });
26
-
27
- it("is saved", async function() {
28
- const item = new models.CADIncident(testItem);
29
- const sut = await item.save();
30
-
31
- assert.isNotNull(testItem._id);
32
- assert.equal(sut.uuid, testItem.uuid);
33
- assert.equal(sut.departmentId, testItem.departmentId);
34
- assert.equal(sut.AgencyID, testItem.AgencyID);
35
- assert.equal(sut.IncidentNumber, testItem.IncidentNumber);
36
- assert.equal(sut.TransactionID, testItem.TransactionID);
37
- assert.equal(sut.AgencyIncidentCallTypeDescription, testItem.AgencyIncidentCallTypeDescription);
38
- assert.equal(sut.StreetName, testItem.StreetName);
39
- assert.equal(sut.StreetSuffix, testItem.StreetSuffix);
40
- assert.equal(sut.Predirectional, testItem.Predirectional);
41
- assert.equal(sut.Postdirectional, testItem.Postdirectional);
42
- assert.equal(sut.CityOrLocality, testItem.CityOrLocality);
43
- assert.equal(sut.Floor, testItem.Floor);
44
- assert.equal(sut.Suite, testItem.Suite);
45
- assert.equal(sut.City, testItem.City);
46
- assert.equal(sut.Building, testItem.Building);
47
- assert.equal(sut.StateOrProvince, testItem.StateOrProvince);
48
- assert.equal(sut.CommonPlaceName, testItem.CommonPlaceName);
49
- assert.equal(sut.LocationComment, testItem.LocationComment);
50
- assert.equal(sut.CrossStreet1, testItem.CrossStreet1);
51
- assert.equal(sut.CrossStreet2, testItem.CrossStreet2);
52
- assert.equal(sut.cross_streets, testItem.cross_streets);
53
- assert.equal(sut.PostalCode, testItem.PostalCode);
54
- assert.equal(sut.CallerNumber, testItem.CallerNumber);
55
- assert.equal(sut.Latitude, testItem.Latitude);
56
- assert.equal(sut.Longitude, testItem.Longitude);
57
- assert.equal(sut.preference_location, testItem.preference_location);
58
- assert.equal(sut.EntryDateTime, testItem.EntryDateTime);
59
- assert.equal(sut.ClosedDateTime, testItem.ClosedDateTime);
60
- assert.equal(sut.closed_unix_date, testItem.closed_unix_date);
61
- assert.equal(sut.start_unix_date, testItem.start_unix_date);
62
- assert.equal(sut.modified_unix_date, testItem.modified_unix_date);
63
-
64
- assert.isTrue(sut.PriorIncidentChanged);
65
- assert.equal(sut.PriorIncidentChanged, testItem.PriorIncidentChanged);
66
- assert.equal(sut.PriorIncident.length, 1);
67
- if (sut.PriorIncident.length === 1) {
68
- var pi = sut.PriorIncident[0];
69
- var pid = testItem.PriorIncident[0];
70
- assert.equal(pi.IncidentNumber, pid.IncidentNumber);
71
- assert.equal(pi.IncidentDateTime, pid.IncidentDateTime);
72
- assert.equal(pi.Problem, pid.Problem);
73
- assert.equal(pi.Address, pid.Address);
74
- assert.equal(pi.Suite, pid.Suite);
75
- assert.equal(pi.Jurisdiction, pid.Jurisdiction);
76
- assert.equal(pi.Comment[0].Comment, pid.Comment[0].Comment);
77
- assert.equal(pi.Comment[0].CommentSource, pid.Comment[0].CommentSource);
78
- assert.equal(pi.Comment[0].CommentDateTime, pid.Comment[0].CommentDateTime);
79
- }
80
-
81
- assert.equal(sut.units.length, 1);
82
- assert.equal(sut.units[0].UnitDispatchNumber, testItem.units[0].UnitDispatchNumber);
83
- assert.equal(sut.units[0].UnitID, testItem.units[0].UnitID);
84
- assert.equal(sut.units[0].TimeDispatched, testItem.units[0].TimeDispatched);
85
-
86
- const unit = _.first(sut.units.filter((x) => x.UnitID === "MA31"));
87
- assert.equal(unit.Personnel.length, 2);
88
- const p1 = _.first(unit.Personnel.filter((x) => x.PersonnelID === "X14"));
89
- assert.equal(p1.PersonnelName, "Mary Smith");
90
- assert.equal(p1.PersonnelNote, "X");
91
- assert.equal(p1.PersonnelRank, "Captain");
92
- assert.equal(p1.PersonnelWorkCode, "TRD");
93
-
94
- assert.equal(sut.Comment.length, 1);
95
- assert.equal(sut.Comment[0].Comment, testItem.Comment[0].Comment);
96
- assert.equal(sut.Comment[0].CommentSource, testItem.Comment[0].CommentSource);
97
- assert.equal(sut.Comment[0].CommentDateTime, testItem.Comment[0].CommentDateTime);
98
-
99
- // Share incident properties
100
- assert.isArray(sut.ReportNumber);
101
- assert.equal(sut.ReportNumber.length, 2);
102
- const rna = _.first(sut.ReportNumber.filter((x) => x.name === "A"));
103
- assert.isObject(rna);
104
- assert.equal(rna.number, "07-0351");
105
- const rnb = _.first(sut.ReportNumber.filter((x) => x.name === "B"));
106
- assert.isObject(rnb);
107
- assert.equal(rnb.number, "UM-02210");
108
-
109
- assert.isArray(sut.radioChannels);
110
- assert.equal(sut.radioChannels.length, 2);
111
- const rca = _.first(sut.radioChannels.filter((x) => x.name === "CMD"));
112
- assert.isObject(rca);
113
- assert.equal(rca.channel, "LOCAL Tone: 3");
114
- assert.equal(rca.url, "http://example.com/stream1");
115
- const rcb = _.first(sut.radioChannels.filter((x) => x.name === "TAC"));
116
- assert.isObject(rcb);
117
- assert.equal(rcb.channel, "CDF TAC 10");
118
- assert.equal(rcb.url, "http://example.com/stream2");
119
-
120
- assert.isObject(sut.record);
121
- assert.equal(sut.record.name, "John");
122
- assert.equal(sut.record.value, "Smith");
123
-
124
- assert.isObject(sut.sharedSource);
125
- assert.equal(sut.sharedSource.isExternal, true);
126
- assert.equal(sut.sharedSource.name, "Demo RTS Fire Department");
127
- assert.isArray(sut.sharedSource.reasons);
128
- assert.equal(sut.sharedSource.reasons.length, 1);
129
- const ssr1 = _.first(sut.sharedSource.reasons);
130
- assert.isObject(ssr1);
131
- assert.equal(ssr1.name, "Unit B10 assigned");
132
- assert.equal(ssr1.date.toISOString(), "2024-05-03T00:00:00.000Z");
133
-
134
- assert.isArray(sut.sharedTo);
135
- assert.equal(sut.sharedTo.length, 1);
136
- const st1 = _.first(sut.sharedTo);
137
- assert.equal(st1.active, true);
138
- assert.equal(st1.departmentId, "5195426cc4e016a988000965");
139
- assert.equal(st1.expireAt.toISOString(), "2024-08-01T10:20:30.400Z");
140
- assert.equal(st1.name, "Test Fire Department");
141
- assert.equal(st1.startAt.toISOString(), "2024-05-01T01:02:03.040Z");
142
- assert.equal(st1.reasons.length, 1);
143
- const str1 = _.first(st1.reasons);
144
- assert.equal(str1.name, "Unit M10 assigned");
145
- assert.equal(str1.date.toISOString(), "2024-05-03T01:01:01.010Z");
146
- });
147
-
148
- it("no virtuals id if _id not present", async function() {
149
- const item = new models.CADIncident(testItem);
150
- await item.save();
151
-
152
- const sut = await models.CADIncident.findOne({ _id: item._id }).lean({
153
- virtuals: true
154
- });
155
- assert.equal(sut.units.length, 1);
156
- assert.isUndefined(sut.units[0].id);
157
-
158
- assert.equal(sut.Comment.length, 1);
159
- assert.isUndefined(sut.Comment[0].id);
160
- });
161
- });
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("CadSimulation", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.cadSimulation;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.CADSimulation(testItem);
27
- const sut = await item.save();
28
-
29
- assert.isNotNull(testItem._id);
30
- assert.equal(testItem.departmentId, sut.departmentId);
31
- assert.equal(testItem.title, sut.title);
32
- assert.equal(testItem.friendlyId, sut.friendlyId);
33
- });
34
- });
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("CADStatusMap", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.cadStatusMap;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.CADStatusMap(testItem);
27
- const sut = await item.save();
28
-
29
- assert.equal(testItem.departmentId, sut.departmentId);
30
- assert.equal(testItem.modifiedDate, sut.modifiedDate);
31
-
32
- assert.equal(testItem.fromStatusId, sut.fromStatusId);
33
- assert.equal(sut.toStatusIds.length, 1);
34
- assert.equal(testItem.toStatusIds[0].statusId, sut.toStatusIds[0].statusId);
35
- assert.isTrue(sut.toStatusIds[0].userEnabled);
36
- assert.equal(sut.toStatusIds[0].position, 0);
37
- });
38
- });
@@ -1,53 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("CADStatus", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.cadStatus;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.CADStatus(testItem);
27
- const sut = await item.save();
28
-
29
- assert.equal(testItem.uuid, sut.uuid);
30
- assert.equal(testItem.departmentId, sut.departmentId);
31
- assert.equal(testItem.modifiedDate, sut.modifiedDate);
32
- assert.equal(testItem.code, sut.code);
33
- assert.equal(testItem.codeDisplay, sut.codeDisplay);
34
- assert.equal(testItem.color.background, sut.color.background);
35
- assert.equal(testItem.color.text, sut.color.text);
36
- assert.equal(testItem.name, sut.name);
37
- assert.equal(testItem.normalized, sut.normalized);
38
- assert.isFalse(sut.roaming);
39
- assert.isTrue(sut.selfAssignable);
40
- assert.equal(testItem.status, sut.status);
41
- assert.equal(testItem.statusId, sut.statusId);
42
-
43
- assert.equal(testItem.options[0].cadKey, sut.options[0].cadKey);
44
- assert.equal(testItem.options[0].name, sut.options[0].name);
45
- assert.equal(testItem.options[0].position, sut.options[0].position);
46
- assert.isTrue(sut.options[0].visible);
47
- assert.equal(testItem.options[0].cadValues[0].name, sut.options[0].cadValues[0].name);
48
- assert.equal(testItem.options[0].cadValues[0].type, sut.options[0].cadValues[0].type);
49
- assert.equal(testItem.options[0].cadValues[0].value, sut.options[0].cadValues[0].value);
50
- assert.isTrue(sut.options[0].cadValues[0].visible);
51
- assert.isFalse(sut.options[0].cadValues[0].favorite);
52
- });
53
- });
@@ -1,36 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- const m = require("..");
4
- const config = require("./config");
5
-
6
- describe("CADVehicleStatusHistory", function() {
7
- let models, mongoose;
8
- let testItem;
9
- beforeEach(async function() {
10
- const c = await m.connect(config.url);
11
- models = c.models;
12
- mongoose = c.mongoose;
13
-
14
- const mock = require("./mock")({
15
- mongoose
16
- });
17
- testItem = mock.cadVehicleStatusHistory;
18
- });
19
- afterEach(function() {
20
- mongoose.disconnect();
21
- });
22
-
23
- it("is saved", async function() {
24
- const item = new models.CADVehicleStatusHistory(testItem);
25
- const sut = await item.save();
26
-
27
- assert.equal(testItem.departmentId, sut.departmentId);
28
- assert.equal(testItem.vehicleId, sut.vehicleId);
29
- assert.equal(testItem.radioName, sut.radioName);
30
- assert.equal(testItem.status, sut.status);
31
- assert.equal(testItem.statusCode, sut.statusCode);
32
- assert.equal(testItem.requestedAt, sut.requestedAt);
33
- assert.equal(testItem.requestedBy, sut.requestedBy);
34
- assert.equal(testItem.incidentNumber, sut.incidentNumber);
35
- });
36
- });
@@ -1,44 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("CADVehicleStatus", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.cadVehicleStatus;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.CADVehicleStatus(testItem);
27
- const sut = await item.save();
28
-
29
- assert.equal(testItem.uuid, sut.uuid);
30
- assert.equal(testItem.departmentId, sut.departmentId);
31
- assert.equal(testItem.vehicleId, sut.vehicleId);
32
- assert.equal(testItem.radioName, sut.radioName);
33
- assert.equal(testItem.requestTime, sut.requestTime);
34
- assert.equal(testItem.responseTime, sut.responseTime);
35
- assert.equal(testItem.status, sut.status);
36
- assert.equal(testItem.statusCode, sut.statusCode);
37
- assert.equal(testItem.modifiedDate, sut.modifiedDate);
38
- assert.equal(testItem.requestStatus, sut.requestStatus);
39
- assert.equal(testItem.incidentNumber, sut.incidentNumber);
40
- assert.equal(testItem.capability, sut.capability)
41
- assert.equal(testItem.owner, sut.owner)
42
- assert.equal(testItem.ownerId, sut.ownerId)
43
- });
44
- });
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("CADVehicle", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.cadVehicle;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.CADVehicle(testItem);
27
- const sut = await item.save()
28
-
29
- assert.equal(testItem.uuid, sut.uuid);
30
- assert.equal(testItem.departmentId, sut.departmentId);
31
- assert.equal(testItem.modifiedDate, sut.modifiedDate);
32
- assert.equal(testItem.vehicleId, sut.vehicleId);
33
- assert.equal(testItem.radioName, sut.radioName);
34
- assert.equal(testItem.station.code, sut.station.code);
35
- assert.equal(testItem.station.name, sut.station.name);
36
- assert.equal(testItem.station.capability, sut.station.capability);
37
- assert.isFalse(sut.locationToCAD);
38
- });
39
- });
@@ -1,44 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("ChecklistItem", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.checklistItem;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.ChecklistItem(testItem);
27
- const sut = await item.save();
28
-
29
- assert.isNotNull(item._id);
30
- assert.equal(item._id, sut.id);
31
- assert.equal(testItem.position, sut.position);
32
- assert.equal(testItem.active, sut.active);
33
- assert.equal(testItem.name, sut.name);
34
- assert.equal(testItem.userId, sut.userId);
35
- assert.equal(testItem.departmentId, sut.departmentId);
36
- assert.equal(testItem.isMandatory, sut.isMandatory);
37
- assert.equal(testItem.api_checklist_id, sut.api_checklist_id);
38
- assert.equal(testItem.checklist_uuid, sut.checklist_uuid);
39
- assert.equal(testItem.description, sut.description);
40
- const expectedDate = new Date().valueOf() / 1000.0;
41
- const timeDelta = expectedDate - sut.modified_unix_date;
42
- assert.isTrue(timeDelta < 1);
43
- });
44
- });
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("Checklist", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.checklist;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.Checklist(testItem);
27
- const sut = await item.save();
28
- assert.isNotNull(item._id);
29
- assert.equal(item._id, sut.id);
30
- assert.equal(testItem.position, sut.position);
31
- assert.equal(testItem.active, sut.active);
32
- assert.equal(testItem.name, sut.name);
33
- assert.equal(testItem.userId, sut.userId);
34
- assert.equal(testItem.departmentId, sut.departmentId);
35
- assert.equal(testItem.isMandatory, sut.isMandatory);
36
- assert.equal(testItem.agencyId, sut.agencyId);
37
- const expectedDate = new Date().valueOf() / 1000.0;
38
- const timeDelta = expectedDate - sut.modified_unix_date;
39
- assert.isTrue(timeDelta < 1);
40
-
41
- const items = sut.items;
42
- assert.isArray(items);
43
- assert.equal(items.length, 1);
44
- });
45
- });
@@ -1,15 +0,0 @@
1
- "use strict";
2
-
3
- const mongoUrl = process.env.NODE_MONGO_URL || "mongodb://127.0.0.1/incident-test";
4
-
5
- function checkIfTestDatabase() {
6
- if (!/massive-test/i.exec(mongoUrl)) {
7
- console.log(`Not a test database: ${mongoUrl}? Expecting database: massive-test.`);
8
- process.exit(1);
9
- }
10
- }
11
-
12
- module.exports = {
13
- url: mongoUrl,
14
- checkIfTestDatabase,
15
- };
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("CSVImport", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.csvImport;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.CSVImport(testItem);
27
- const sut = await item.save();
28
- assert.equal(testItem._id, sut._id);
29
- assert.equal(testItem.batchId, sut.batchId);
30
- // assert.equal(testItem.importCreated, sut.importCreated);
31
- assert.equal(testItem.departmentId, sut.departmentId);
32
- assert.equal(testItem.agencyId, sut.agencyId);
33
- assert.equal(testItem.importType, sut.importType);
34
- assert.equal(testItem.fileType, sut.fileType);
35
- assert.equal(testItem.fileName, sut.fileName);
36
- assert.equal(testItem.fileSize, sut.fileSize);
37
- assert.equal(testItem.status, sut.status);
38
- // assert.equal(testItem.modifiedDate, sut.modifiedDate);
39
- // assert.equal(testItem.fileLastModified, sut.fileLastModified);
40
- assert.equal(testItem.records.length, 0);
41
- assert.equal(testItem.userId, sut.userId);
42
- assert.equal(testItem.sendNotification, sut.sendNotification);
43
- });
44
- });
45
-
@@ -1,81 +0,0 @@
1
- const assert = require("chai").assert;
2
-
3
- const m = require("..");
4
- const config = require("./config");
5
-
6
- describe("Department", function() {
7
- let models, mongoose, mock;
8
-
9
- beforeEach(async function() {
10
- const c = await m.connect(config.url);
11
- models = c.models;
12
- mongoose = c.mongoose;
13
- mock = require("./mock")({
14
- mongoose
15
- });
16
- });
17
-
18
- afterEach(function() {
19
- mongoose.disconnect();
20
- });
21
-
22
- it("is saved", async function() {
23
- const testItem = mock.department;
24
- assert.isObject(testItem);
25
- const item = new models.Department(testItem);
26
- const sut = await item.save();
27
- const result = await models.Department.findOne({ _id: testItem._id }).lean();
28
- assert.isNotNull(sut._id);
29
- assert.isNotNull(sut.id);
30
- assert.equal(sut.department, testItem.department);
31
- assert.equal(sut.addressDetails.city, testItem.addressDetails.city);
32
- assert.isTrue(sut.active);
33
- assert.equal(sut.apikey, testItem.apikey);
34
- assert.equal(sut.partialApiKey, testItem.partialApiKey);
35
- assert.isTrue(sut.personnelStaffingEnabled);
36
- assert.isTrue(sut.rtsEnabled);
37
- assert.equal(sut.rtsChannelPrefix, testItem.rtsChannelPrefix);
38
- assert.equal(sut.pubNubV3.token, testItem.pubNubV3.token);
39
- assert.equal(sut.pubNubV3.expireAt.toISOString(), testItem.pubNubV3.expireAt);
40
- assert.equal(sut.pubNubV3.runAt.toISOString(), testItem.pubNubV3.runAt);
41
- assert.equal(sut.signupKey, testItem.signupKey);
42
- assert.equal(sut.incidentTypes.length, 1);
43
- assert.equal(sut.agencyIds.length, 1);
44
- assert.equal(sut.agencyIds[0], testItem.agencyIds[0]);
45
- assert.equal(sut.safetyPriorityKeywords.length, 3);
46
- assert.equal(sut.incidentTypes[0].name, testItem.incidentTypes[0].name);
47
- assert.isFalse(sut.shareLocationPhones);
48
- assert.isTrue(sut.shareLocationTablets);
49
- assert.isFalse(sut.cadOneWayVehiclesEnabled);
50
- assert.isFalse(sut.cadGetLocationEnabled);
51
- assert.isTrue(sut.mowsEnabled);
52
- assert.isTrue(sut.shareAVL.enabled);
53
- assert.equal(sut.shareAVL.opAreaCode, testItem.shareAVL.opAreaCode);
54
- assert.equal(sut.shareAVL.opAreaName, testItem.shareAVL.opAreaName);
55
- assert.equal(sut.accountType, testItem.accountType);
56
- assert.equal(sut.timeZone, testItem.timeZone);
57
- assert.equal(sut.firstArrivingEnabled, testItem.firstArrivingEnabled);
58
- assert.equal(sut.simpleSense.token, testItem.simpleSense.token);
59
- assert.equal(sut.firstArriving.token, testItem.firstArriving.token);
60
- assert.equal(sut.simpleSenseEnabled, testItem.simpleSenseEnabled);
61
- assert.equal(sut.webDisclaimer.message, testItem.webDisclaimer.message);
62
- assert.equal(sut.webDisclaimer.enabled, testItem.webDisclaimer.enabled);
63
- assert.equal(JSON.stringify(sut.licensing), JSON.stringify(testItem.licensing));
64
- assert.equal(sut.externalNotificationsEnabled, testItem.externalNotificationsEnabled);
65
- assert.equal(sut.notificationEmails.length, testItem.notificationEmails.length);
66
- assert.equal(sut.restrictedComments.callTypesAllowed.length, testItem.restrictedComments.callTypesAllowed.length);
67
- assert.equal(sut.restrictedComments.statusesAllowed.length, testItem.restrictedComments.statusesAllowed.length);
68
- assert.equal(sut.restrictedComments.restrictedFields.length, testItem.restrictedComments.restrictedFields.length);
69
- assert.equal(sut.restrictedComments.restrictedMessage, testItem.restrictedComments.restrictedMessage);
70
- assert.equal(sut.restrictedComments.enabled, testItem.restrictedComments.enabled);
71
- assert.equal(sut.customButtons[0].name, testItem.customButtons[0].name);
72
- assert.equal(sut.customButtons[0].url, testItem.customButtons[0].url);
73
- assert.equal(sut.customButtons[0].order, testItem.customButtons[0].order);
74
- assert.equal(sut.customButtons[0].allow_external, testItem.customButtons[0].allow_external);
75
- assert.equal(sut.customButtons[0].default_to_external, testItem.customButtons[0].default_to_external);
76
- assert.equal(sut.customButtons[0].allow_floating, testItem.customButtons[0].allow_floating);
77
- assert.equal(JSON.stringify(sut.customButtons[0].color), JSON.stringify(testItem.customButtons[0].color));
78
- assert.equal(sut.reportNumberEnabled, testItem.reportNumberEnabled);
79
- assert.equal(JSON.stringify(sut.samsara), JSON.stringify(testItem.samsara));
80
- });
81
- });
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- const assert = require("chai").assert;
4
-
5
- const m = require("..");
6
- const config = require("./config");
7
-
8
- describe("DeviceMapping", function() {
9
- let models, mongoose;
10
- let testItem;
11
- beforeEach(async function() {
12
- const c = await m.connect(config.url);
13
- models = c.models;
14
- mongoose = c.mongoose;
15
-
16
- const mock = require("./mock")({
17
- mongoose
18
- });
19
- testItem = mock.deviceMapping;
20
- });
21
- afterEach(function() {
22
- mongoose.disconnect();
23
- });
24
-
25
- it("is saved", async function() {
26
- const item = new models.DeviceMapping(testItem);
27
- const sut = await item.save();
28
-
29
- assert.isNotNull(testItem._id);
30
- assert.equal(testItem.departmentId, sut.departmentId);
31
- assert.equal(testItem.deviceType, sut.deviceType);
32
- assert.equal(testItem.mapId, sut.mapId);
33
- assert.equal(testItem.deviceId, sut.deviceId);
34
- assert.equal(testItem.modified_unix_date, sut.modified_unix_date);
35
- assert.equal(testItem.remoteAddress, sut.remoteAddress);
36
- assert.equal(testItem.note, sut.note);
37
- assert.isFalse(sut.active);
38
- assert.isFalse(sut.mapHidden);
39
- });
40
- });