tabletcommand-incident 0.4.11 → 0.4.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cspell/project-words.txt +5 -0
- package/build/incidentProcessor.js +5 -1
- package/build/incidentProcessor.js.map +1 -1
- package/build/ruleLegacy/cleanupCommentsFilters.js +0 -21
- package/build/ruleLegacy/cleanupCommentsFilters.js.map +1 -1
- package/build/ruleProcessorLegacy.js +0 -73
- package/build/ruleProcessorLegacy.js.map +1 -1
- package/build/rules/index.js +81 -57
- package/build/rules/index.js.map +1 -1
- package/build/rules/join-call-type-priority.js +23 -3
- package/build/rules/join-call-type-priority.js.map +1 -1
- package/build/rules/set-fire-alarm-at-dispatch-from-alarm-level.js +65 -0
- package/build/rules/set-fire-alarm-at-dispatch-from-alarm-level.js.map +1 -0
- package/build/rules/set-fire-map-santa-clara-city copy.js +51 -0
- package/build/rules/set-fire-map-santa-clara-city copy.js.map +1 -0
- package/build/test/domain.js +61 -55
- package/build/test/domain.js.map +1 -1
- package/build/test/index.js +279 -98
- package/build/test/index.js.map +1 -1
- package/build/test/mock.js +288 -3
- package/build/test/mock.js.map +1 -1
- package/build/test/rules/clean-up-comments.js +4 -8
- package/build/test/rules/clean-up-comments.js.map +1 -1
- package/build/test/rules/clean-up-lat-long.js +5 -9
- package/build/test/rules/clean-up-lat-long.js.map +1 -1
- package/build/test/rules/clear-field.js +4 -8
- package/build/test/rules/clear-field.js.map +1 -1
- package/build/test/rules/close-incident-after-hours.js +8 -12
- package/build/test/rules/close-incident-after-hours.js.map +1 -1
- package/build/test/rules/close-incident-matching-incident-number.js +28 -29
- package/build/test/rules/close-incident-matching-incident-number.js.map +1 -1
- package/build/test/rules/close-incident-of-certain-type.js +8 -12
- package/build/test/rules/close-incident-of-certain-type.js.map +1 -1
- package/build/test/rules/join-call-type-priority.js +20 -11
- package/build/test/rules/join-call-type-priority.js.map +1 -1
- package/build/test/rules/map-unit-dates-verdugo.js +8 -9
- package/build/test/rules/map-unit-dates-verdugo.js.map +1 -1
- package/build/test/rules/remove-person-from-unit.js +6 -7
- package/build/test/rules/remove-person-from-unit.js.map +1 -1
- package/build/test/rules/set-address.js +5 -9
- package/build/test/rules/set-address.js.map +1 -1
- package/build/test/rules/set-channels-from-radio-channels.js +19 -13
- package/build/test/rules/set-channels-from-radio-channels.js.map +1 -1
- package/build/test/rules/set-city-alameda.js +5 -9
- package/build/test/rules/set-city-alameda.js.map +1 -1
- package/build/test/rules/set-city-calfire-lnu.js +5 -9
- package/build/test/rules/set-city-calfire-lnu.js.map +1 -1
- package/build/test/rules/set-city-cleanup.js +7 -11
- package/build/test/rules/set-city-cleanup.js.map +1 -1
- package/build/test/rules/set-city-southern-marin.js +5 -9
- package/build/test/rules/set-city-southern-marin.js.map +1 -1
- package/build/test/rules/set-city-verdugo.js +4 -8
- package/build/test/rules/set-city-verdugo.js.map +1 -1
- package/build/test/rules/set-comment-opts-ack-type.js +7 -8
- package/build/test/rules/set-comment-opts-ack-type.js.map +1 -1
- package/build/test/rules/set-common-place-name.js +4 -8
- package/build/test/rules/set-common-place-name.js.map +1 -1
- package/build/test/rules/set-communication-channels-from-radio-names.js +6 -10
- package/build/test/rules/set-communication-channels-from-radio-names.js.map +1 -1
- package/build/test/rules/set-cross-streets.js +16 -20
- package/build/test/rules/set-cross-streets.js.map +1 -1
- package/build/test/rules/set-fire-map-from-map-pages-southern-marin.js +4 -8
- package/build/test/rules/set-fire-map-from-map-pages-southern-marin.js.map +1 -1
- package/build/test/rules/set-fire-map-pages-ontario.js +5 -9
- package/build/test/rules/set-fire-map-pages-ontario.js.map +1 -1
- package/build/test/rules/set-fire-map-santa-clara-city.js +4 -8
- package/build/test/rules/set-fire-map-santa-clara-city.js.map +1 -1
- package/build/test/rules/set-format-units-pulsepoint.js +6 -7
- package/build/test/rules/set-format-units-pulsepoint.js.map +1 -1
- package/build/test/rules/set-incident-type-ontario.js +4 -8
- package/build/test/rules/set-incident-type-ontario.js.map +1 -1
- package/build/test/rules/set-location-preference-derry.js +10 -14
- package/build/test/rules/set-location-preference-derry.js.map +1 -1
- package/build/test/rules/set-location-preference.js +10 -14
- package/build/test/rules/set-location-preference.js.map +1 -1
- package/build/test/rules/set-map-incident-type-pulsepoint.js +4 -8
- package/build/test/rules/set-map-incident-type-pulsepoint.js.map +1 -1
- package/build/test/rules/set-prior-incident-comment-field.js +5 -6
- package/build/test/rules/set-prior-incident-comment-field.js.map +1 -1
- package/build/test/rules/set-street-number.js +5 -9
- package/build/test/rules/set-street-number.js.map +1 -1
- package/build/test/rulesLegacy.js +0 -245
- package/build/test/rulesLegacy.js.map +1 -1
- package/build/test/rulesLegacyCleanupCommentsFilters.js +0 -19
- package/build/test/rulesLegacyCleanupCommentsFilters.js.map +1 -1
- package/build/test/setIncidentType.js +5 -6
- package/build/test/setIncidentType.js.map +1 -1
- package/build/verify/correction.js +62 -0
- package/build/verify/correction.js.map +1 -0
- package/definitions/incidentProcessor.d.ts.map +1 -1
- package/definitions/ruleLegacy/cleanupCommentsFilters.d.ts +0 -1
- package/definitions/ruleLegacy/cleanupCommentsFilters.d.ts.map +1 -1
- package/definitions/ruleProcessorLegacy.d.ts.map +1 -1
- package/definitions/rules/index.d.ts.map +1 -1
- package/definitions/rules/join-call-type-priority.d.ts +4 -1
- package/definitions/rules/join-call-type-priority.d.ts.map +1 -1
- package/definitions/rules/set-fire-alarm-at-dispatch-from-alarm-level.d.ts +11 -0
- package/definitions/rules/set-fire-alarm-at-dispatch-from-alarm-level.d.ts.map +1 -0
- package/definitions/rules/set-fire-map-santa-clara-city copy.d.ts +11 -0
- package/definitions/rules/set-fire-map-santa-clara-city copy.d.ts.map +1 -0
- package/definitions/test/mock.d.ts +6 -1
- package/definitions/test/mock.d.ts.map +1 -1
- package/definitions/types.d.ts +1 -0
- package/definitions/types.d.ts.map +1 -1
- package/definitions/verify/correction.d.ts +2 -0
- package/definitions/verify/correction.d.ts.map +1 -0
- package/package.json +8 -8
- package/src/incidentProcessor.ts +5 -1
- package/src/ruleLegacy/cleanupCommentsFilters.js +0 -26
- package/src/ruleProcessorLegacy.js +0 -88
- package/src/rules/index.ts +92 -65
- package/src/rules/join-call-type-priority.ts +28 -3
- package/src/rules/set-fire-alarm-at-dispatch-from-alarm-level.ts +67 -0
- package/src/test/domain.ts +9 -4
- package/src/test/index.ts +295 -62
- package/src/test/mock.ts +293 -3
- package/src/test/rules/clean-up-comments.ts +1 -2
- package/src/test/rules/clean-up-lat-long.ts +1 -2
- package/src/test/rules/clear-field.ts +1 -2
- package/src/test/rules/close-incident-after-hours.ts +1 -2
- package/src/test/rules/close-incident-matching-incident-number.ts +2 -2
- package/src/test/rules/close-incident-of-certain-type.ts +1 -2
- package/src/test/rules/join-call-type-priority.ts +19 -5
- package/src/test/rules/map-unit-dates-verdugo.ts +1 -3
- package/src/test/rules/remove-person-from-unit.ts +1 -2
- package/src/test/rules/set-address.ts +1 -2
- package/src/test/rules/set-channels-from-radio-channels.ts +11 -2
- package/src/test/rules/set-city-alameda.ts +1 -2
- package/src/test/rules/set-city-calfire-lnu.ts +1 -2
- package/src/test/rules/set-city-cleanup.ts +1 -2
- package/src/test/rules/set-city-southern-marin.ts +1 -2
- package/src/test/rules/set-city-verdugo.ts +1 -2
- package/src/test/rules/set-comment-opts-ack-type.ts +1 -2
- package/src/test/rules/set-common-place-name.ts +1 -2
- package/src/test/rules/set-communication-channels-from-radio-names.ts +1 -2
- package/src/test/rules/set-cross-streets.ts +1 -2
- package/src/test/rules/set-fire-map-from-map-pages-southern-marin.ts +1 -2
- package/src/test/rules/set-fire-map-pages-ontario.ts +1 -2
- package/src/test/rules/set-fire-map-santa-clara-city.ts +1 -2
- package/src/test/rules/set-format-units-pulsepoint.ts +1 -2
- package/src/test/rules/set-incident-type-ontario.ts +1 -2
- package/src/test/rules/set-location-preference-derry.ts +1 -2
- package/src/test/rules/set-location-preference.ts +1 -2
- package/src/test/rules/set-map-incident-type-pulsepoint.ts +1 -2
- package/src/test/rules/set-prior-incident-comment-field.ts +2 -3
- package/src/test/rules/set-street-number.ts +1 -2
- package/src/test/rulesLegacy.js +1 -272
- package/src/test/rulesLegacyCleanupCommentsFilters.js +0 -22
- package/src/test/setIncidentType.ts +1 -3
- package/src/types.ts +1 -0
- package/src/verify/correction.ts +55 -0
- package/build/ruleLegacy/removePersonFromUnit.js +0 -35
- package/build/ruleLegacy/removePersonFromUnit.js.map +0 -1
- package/build/ruleLegacy/setAgencyCallTypeClarkCounty.js +0 -18
- package/build/ruleLegacy/setAgencyCallTypeClarkCounty.js.map +0 -1
- package/build/ruleLegacy/setCommunicationChannelsFromRadioNames.js +0 -50
- package/build/ruleLegacy/setCommunicationChannelsFromRadioNames.js.map +0 -1
- package/build/ruleLegacy/setFireMapEmptyString.js +0 -15
- package/build/ruleLegacy/setFireMapEmptyString.js.map +0 -1
- package/definitions/location.d.ts +0 -10
- package/definitions/location.d.ts.map +0 -1
- package/definitions/rule/cleanupComments.d.ts +0 -3
- package/definitions/rule/cleanupComments.d.ts.map +0 -1
- package/definitions/rule/cleanupCommentsFilters.d.ts +0 -8
- package/definitions/rule/cleanupCommentsFilters.d.ts.map +0 -1
- package/definitions/rule/cleanupLatLongSantaClaraCity.d.ts +0 -3
- package/definitions/rule/cleanupLatLongSantaClaraCity.d.ts.map +0 -1
- package/definitions/rule/cleanupNull.d.ts +0 -3
- package/definitions/rule/cleanupNull.d.ts.map +0 -1
- package/definitions/rule/cleanupReportNumber.d.ts +0 -3
- package/definitions/rule/cleanupReportNumber.d.ts.map +0 -1
- package/definitions/rule/closeIncidentAfterHours.d.ts +0 -3
- package/definitions/rule/closeIncidentAfterHours.d.ts.map +0 -1
- package/definitions/rule/closeIncidentMatchingIncidentNumber.d.ts +0 -3
- package/definitions/rule/closeIncidentMatchingIncidentNumber.d.ts.map +0 -1
- package/definitions/rule/closeIncidentOfCertainType.d.ts +0 -3
- package/definitions/rule/closeIncidentOfCertainType.d.ts.map +0 -1
- package/definitions/rule/copyCommandName.d.ts +0 -3
- package/definitions/rule/copyCommandName.d.ts.map +0 -1
- package/definitions/rule/copyIncidentNumber.d.ts +0 -3
- package/definitions/rule/copyIncidentNumber.d.ts.map +0 -1
- package/definitions/rule/copyLocationComment.d.ts +0 -3
- package/definitions/rule/copyLocationComment.d.ts.map +0 -1
- package/definitions/rule/mapUnitDatesVerdugo.d.ts +0 -3
- package/definitions/rule/mapUnitDatesVerdugo.d.ts.map +0 -1
- package/definitions/rule/rebuildUnitDispatchNumber.d.ts +0 -3
- package/definitions/rule/rebuildUnitDispatchNumber.d.ts.map +0 -1
- package/definitions/rule/removeEmptyPersonFromUnit.d.ts +0 -3
- package/definitions/rule/removeEmptyPersonFromUnit.d.ts.map +0 -1
- package/definitions/rule/removeField.d.ts +0 -3
- package/definitions/rule/removeField.d.ts.map +0 -1
- package/definitions/rule/removePersonFromUnit.d.ts +0 -3
- package/definitions/rule/removePersonFromUnit.d.ts.map +0 -1
- package/definitions/rule/setAgencyCallTypeClarkCounty.d.ts +0 -3
- package/definitions/rule/setAgencyCallTypeClarkCounty.d.ts.map +0 -1
- package/definitions/rule/setChannelUrlForDepartment.d.ts +0 -3
- package/definitions/rule/setChannelUrlForDepartment.d.ts.map +0 -1
- package/definitions/rule/setChannelsFromRadioChannels.d.ts +0 -3
- package/definitions/rule/setChannelsFromRadioChannels.d.ts.map +0 -1
- package/definitions/rule/setCityAlameda.d.ts +0 -3
- package/definitions/rule/setCityAlameda.d.ts.map +0 -1
- package/definitions/rule/setCityCalfireLNU.d.ts +0 -3
- package/definitions/rule/setCityCalfireLNU.d.ts.map +0 -1
- package/definitions/rule/setCitySouthernMarin.d.ts +0 -3
- package/definitions/rule/setCitySouthernMarin.d.ts.map +0 -1
- package/definitions/rule/setCommonPlaceName.d.ts +0 -3
- package/definitions/rule/setCommonPlaceName.d.ts.map +0 -1
- package/definitions/rule/setCommunicationChannelsFromRadioNames.d.ts +0 -3
- package/definitions/rule/setCommunicationChannelsFromRadioNames.d.ts.map +0 -1
- package/definitions/rule/setCrossStreets.d.ts +0 -3
- package/definitions/rule/setCrossStreets.d.ts.map +0 -1
- package/definitions/rule/setFireMapEmptyString.d.ts +0 -3
- package/definitions/rule/setFireMapEmptyString.d.ts.map +0 -1
- package/definitions/rule/setFireMapFromMapPagesSouthernMarin.d.ts +0 -3
- package/definitions/rule/setFireMapFromMapPagesSouthernMarin.d.ts.map +0 -1
- package/definitions/rule/setFireMapSantaClaraCity.d.ts +0 -3
- package/definitions/rule/setFireMapSantaClaraCity.d.ts.map +0 -1
- package/definitions/rule/setFormatUnitsPulsepoint.d.ts +0 -3
- package/definitions/rule/setFormatUnitsPulsepoint.d.ts.map +0 -1
- package/definitions/rule/setFullAddress.d.ts +0 -3
- package/definitions/rule/setFullAddress.d.ts.map +0 -1
- package/definitions/rule/setLatitudeLongitude.d.ts +0 -3
- package/definitions/rule/setLatitudeLongitude.d.ts.map +0 -1
- package/definitions/rule/setLegacyPriorIncidentChanged.d.ts +0 -3
- package/definitions/rule/setLegacyPriorIncidentChanged.d.ts.map +0 -1
- package/definitions/rule/setLegacyRenameUnit.d.ts +0 -3
- package/definitions/rule/setLegacyRenameUnit.d.ts.map +0 -1
- package/definitions/rule/setLocationPreferenceDerry.d.ts +0 -3
- package/definitions/rule/setLocationPreferenceDerry.d.ts.map +0 -1
- package/definitions/rule/setLocationPreferenceTorrance.d.ts +0 -3
- package/definitions/rule/setLocationPreferenceTorrance.d.ts.map +0 -1
- package/definitions/rule/setMapIncidentTypePulsepoint.d.ts +0 -3
- package/definitions/rule/setMapIncidentTypePulsepoint.d.ts.map +0 -1
- package/definitions/rule/setPriorIncidentCommentField.d.ts +0 -3
- package/definitions/rule/setPriorIncidentCommentField.d.ts.map +0 -1
- package/definitions/rule/setRadioChannelsFromLegacyChannels.d.ts +0 -3
- package/definitions/rule/setRadioChannelsFromLegacyChannels.d.ts.map +0 -1
- package/definitions/rule/setRadioChannelsFromRadioNames.d.ts +0 -3
- package/definitions/rule/setRadioChannelsFromRadioNames.d.ts.map +0 -1
- package/definitions/rule/setStreetNumber.d.ts +0 -3
- package/definitions/rule/setStreetNumber.d.ts.map +0 -1
- package/definitions/rule/setUnitDispatchNumberAsString.d.ts +0 -3
- package/definitions/rule/setUnitDispatchNumberAsString.d.ts.map +0 -1
- package/definitions/rule/setUnitUUID.d.ts +0 -3
- package/definitions/rule/setUnitUUID.d.ts.map +0 -1
- package/definitions/rule/translateCityVerdugo.d.ts +0 -3
- package/definitions/rule/translateCityVerdugo.d.ts.map +0 -1
- package/definitions/rule-processor.d.ts +0 -2
- package/definitions/rule-processor.d.ts.map +0 -1
- package/definitions/ruleLegacy/copyIncidentNumber.d.ts +0 -3
- package/definitions/ruleLegacy/copyIncidentNumber.d.ts.map +0 -1
- package/definitions/ruleLegacy/copyLocationComment.d.ts +0 -3
- package/definitions/ruleLegacy/copyLocationComment.d.ts.map +0 -1
- package/definitions/ruleLegacy/removePersonFromUnit.d.ts +0 -3
- package/definitions/ruleLegacy/removePersonFromUnit.d.ts.map +0 -1
- package/definitions/ruleLegacy/setAgencyCallTypeClarkCounty.d.ts +0 -3
- package/definitions/ruleLegacy/setAgencyCallTypeClarkCounty.d.ts.map +0 -1
- package/definitions/ruleLegacy/setCityAlameda.d.ts +0 -3
- package/definitions/ruleLegacy/setCityAlameda.d.ts.map +0 -1
- package/definitions/ruleLegacy/setCityCalfireLNU.d.ts +0 -3
- package/definitions/ruleLegacy/setCityCalfireLNU.d.ts.map +0 -1
- package/definitions/ruleLegacy/setCitySouthernMarin.d.ts +0 -3
- package/definitions/ruleLegacy/setCitySouthernMarin.d.ts.map +0 -1
- package/definitions/ruleLegacy/setCommonPlaceName.d.ts +0 -3
- package/definitions/ruleLegacy/setCommonPlaceName.d.ts.map +0 -1
- package/definitions/ruleLegacy/setCommunicationChannelsFromRadioNames.d.ts +0 -3
- package/definitions/ruleLegacy/setCommunicationChannelsFromRadioNames.d.ts.map +0 -1
- package/definitions/ruleLegacy/setCrossStreets.d.ts +0 -3
- package/definitions/ruleLegacy/setCrossStreets.d.ts.map +0 -1
- package/definitions/ruleLegacy/setFireMapEmptyString.d.ts +0 -3
- package/definitions/ruleLegacy/setFireMapEmptyString.d.ts.map +0 -1
- package/definitions/ruleLegacy/setFireMapFromMapPagesSouthernMarin.d.ts +0 -3
- package/definitions/ruleLegacy/setFireMapFromMapPagesSouthernMarin.d.ts.map +0 -1
- package/definitions/ruleLegacy/setFullAddress.d.ts +0 -3
- package/definitions/ruleLegacy/setFullAddress.d.ts.map +0 -1
- package/definitions/ruleLegacy/setPriorIncidentCommentField.d.ts +0 -3
- package/definitions/ruleLegacy/setPriorIncidentCommentField.d.ts.map +0 -1
- package/definitions/ruleLegacy/translateCityVerdugo.d.ts +0 -3
- package/definitions/ruleLegacy/translateCityVerdugo.d.ts.map +0 -1
- package/definitions/set-incident-type.d.ts +0 -20
- package/definitions/set-incident-type.d.ts.map +0 -1
- package/definitions/test/rules.d.ts +0 -2
- package/definitions/test/rules.d.ts.map +0 -1
- package/definitions/test/rulesCleanupCommentsFilters.d.ts +0 -2
- package/definitions/test/rulesCleanupCommentsFilters.d.ts.map +0 -1
- package/definitions/test/set-incident-type.d.ts +0 -2
- package/definitions/test/set-incident-type.d.ts.map +0 -1
- package/src/ruleLegacy/removePersonFromUnit.js +0 -37
- package/src/ruleLegacy/setAgencyCallTypeClarkCounty.js +0 -20
- package/src/ruleLegacy/setCommunicationChannelsFromRadioNames.js +0 -58
- package/src/ruleLegacy/setFireMapEmptyString.js +0 -15
package/src/test/index.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { assert } from "chai";
|
|
2
2
|
import "mocha";
|
|
3
3
|
import _ from "lodash";
|
|
4
4
|
import * as modelsModule from "tabletcommand-backend-models";
|
|
5
5
|
|
|
6
|
-
const assert = chai.assert;
|
|
7
|
-
|
|
8
6
|
import {
|
|
7
|
+
CADUnit,
|
|
9
8
|
HandleProcessIncidentRequestResult,
|
|
10
9
|
} from "../types";
|
|
11
10
|
|
|
@@ -110,8 +109,6 @@ describe("index", function() {
|
|
|
110
109
|
|
|
111
110
|
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, mock.departmentDemoRTS, atDate);
|
|
112
111
|
validateRulesResult(sut);
|
|
113
|
-
// console.log(typeof incidentProcessor);
|
|
114
|
-
// assert.isTrue(true);
|
|
115
112
|
});
|
|
116
113
|
|
|
117
114
|
it("process stream through correction", async function() {
|
|
@@ -125,13 +122,12 @@ describe("index", function() {
|
|
|
125
122
|
|
|
126
123
|
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, mock.departmentDemoRTS, atDate);
|
|
127
124
|
validateRulesResult(sut);
|
|
128
|
-
// assert.isTrue(true);
|
|
129
125
|
});
|
|
130
126
|
});
|
|
131
127
|
|
|
132
|
-
context("
|
|
128
|
+
context("Alameda", function() {
|
|
133
129
|
const atDate = new Date();
|
|
134
|
-
const sampleIncidentNumber = "
|
|
130
|
+
const sampleIncidentNumber = "Alameda-0001";
|
|
135
131
|
|
|
136
132
|
function validateRulesResult(sut: HandleProcessIncidentRequestResult) {
|
|
137
133
|
if ("error" in sut) {
|
|
@@ -141,21 +137,14 @@ describe("index", function() {
|
|
|
141
137
|
incident
|
|
142
138
|
} = sut;
|
|
143
139
|
|
|
144
|
-
|
|
145
|
-
assert.equal(incident?.
|
|
146
|
-
assert.equal(incident?.
|
|
147
|
-
assert.equal(incident?.ClosedDateTime, "");
|
|
148
|
-
assert.isNotNull(incident?.expiration_date, "Should have expiration date");
|
|
149
|
-
|
|
150
|
-
const u10 = _.first((incident?.units ?? []).filter((u) => u.UnitID === "M10"));
|
|
151
|
-
assert.isObject(u10);
|
|
152
|
-
assert.isArray(u10?.Personnel);
|
|
153
|
-
assert.equal(u10?.Personnel?.length, 0);
|
|
140
|
+
// console.log(incident?.full_address);
|
|
141
|
+
assert.equal(incident?.full_address, "22593 SIERRA AV, Hayward", "Should match full_address");
|
|
142
|
+
assert.equal(incident?.CityOrLocality, "Hayward");
|
|
154
143
|
}
|
|
155
144
|
}
|
|
156
145
|
|
|
157
146
|
it("process stream through legacy", async function() {
|
|
158
|
-
const departmentId = mock.
|
|
147
|
+
const departmentId = mock.departmentAlameda._id as string;
|
|
159
148
|
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
160
149
|
const streamItem = _.first(existingStreamItems);
|
|
161
150
|
|
|
@@ -164,14 +153,12 @@ describe("index", function() {
|
|
|
164
153
|
return;
|
|
165
154
|
}
|
|
166
155
|
|
|
167
|
-
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, mock.
|
|
156
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, mock.departmentAlameda, atDate);
|
|
168
157
|
validateRulesResult(sut);
|
|
169
|
-
// console.log(typeof incidentProcessor);
|
|
170
|
-
// assert.isTrue(true);
|
|
171
158
|
});
|
|
172
159
|
|
|
173
160
|
it("process stream through correction", async function() {
|
|
174
|
-
const departmentId = mock.
|
|
161
|
+
const departmentId = mock.departmentAlameda._id as string;
|
|
175
162
|
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
176
163
|
const streamItem = _.first(existingStreamItems);
|
|
177
164
|
|
|
@@ -180,15 +167,14 @@ describe("index", function() {
|
|
|
180
167
|
return;
|
|
181
168
|
}
|
|
182
169
|
|
|
183
|
-
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, mock.
|
|
170
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, mock.departmentAlameda, atDate);
|
|
184
171
|
validateRulesResult(sut);
|
|
185
|
-
// assert.isTrue(true);
|
|
186
172
|
});
|
|
187
173
|
});
|
|
188
174
|
|
|
189
|
-
context("
|
|
175
|
+
context("Calfire CZU", function() {
|
|
190
176
|
const atDate = new Date();
|
|
191
|
-
const sampleIncidentNumber = "
|
|
177
|
+
const sampleIncidentNumber = "Calfire-CZU-0001";
|
|
192
178
|
|
|
193
179
|
function validateRulesResult(sut: HandleProcessIncidentRequestResult) {
|
|
194
180
|
if ("error" in sut) {
|
|
@@ -199,13 +185,13 @@ describe("index", function() {
|
|
|
199
185
|
} = sut;
|
|
200
186
|
|
|
201
187
|
// console.log(incident?.full_address);
|
|
202
|
-
assert.equal(incident?.full_address, "
|
|
203
|
-
assert.equal(incident?.CityOrLocality, "
|
|
188
|
+
assert.equal(incident?.full_address, "801 ARNOLD WY, # 306, HALF MOON BAY CA", "Should match full_address");
|
|
189
|
+
assert.equal(incident?.CityOrLocality, "HALF MOON BAY");
|
|
204
190
|
}
|
|
205
191
|
}
|
|
206
192
|
|
|
207
193
|
it("process stream through legacy", async function() {
|
|
208
|
-
const departmentId = mock.
|
|
194
|
+
const departmentId = mock.departmentCalfireCZU._id as string;
|
|
209
195
|
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
210
196
|
const streamItem = _.first(existingStreamItems);
|
|
211
197
|
|
|
@@ -214,14 +200,12 @@ describe("index", function() {
|
|
|
214
200
|
return;
|
|
215
201
|
}
|
|
216
202
|
|
|
217
|
-
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, mock.
|
|
203
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, mock.departmentCalfireCZU, atDate);
|
|
218
204
|
validateRulesResult(sut);
|
|
219
|
-
// console.log(typeof incidentProcessor);
|
|
220
|
-
// assert.isTrue(true);
|
|
221
205
|
});
|
|
222
206
|
|
|
223
207
|
it("process stream through correction", async function() {
|
|
224
|
-
const departmentId = mock.
|
|
208
|
+
const departmentId = mock.departmentCalfireCZU._id as string;
|
|
225
209
|
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
226
210
|
const streamItem = _.first(existingStreamItems);
|
|
227
211
|
|
|
@@ -230,15 +214,14 @@ describe("index", function() {
|
|
|
230
214
|
return;
|
|
231
215
|
}
|
|
232
216
|
|
|
233
|
-
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, mock.
|
|
217
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, mock.departmentCalfireCZU, atDate);
|
|
234
218
|
validateRulesResult(sut);
|
|
235
|
-
// assert.isTrue(true);
|
|
236
219
|
});
|
|
237
220
|
});
|
|
238
221
|
|
|
239
|
-
context("Calfire
|
|
222
|
+
context("Calfire LNU", function() {
|
|
240
223
|
const atDate = new Date();
|
|
241
|
-
const sampleIncidentNumber = "Calfire-
|
|
224
|
+
const sampleIncidentNumber = "Calfire-LNU-0001";
|
|
242
225
|
|
|
243
226
|
function validateRulesResult(sut: HandleProcessIncidentRequestResult) {
|
|
244
227
|
if ("error" in sut) {
|
|
@@ -249,13 +232,13 @@ describe("index", function() {
|
|
|
249
232
|
} = sut;
|
|
250
233
|
|
|
251
234
|
// console.log(incident?.full_address);
|
|
252
|
-
assert.equal(incident?.full_address, "
|
|
253
|
-
assert.equal(incident?.CityOrLocality, "
|
|
235
|
+
assert.equal(incident?.full_address, "1659 ATLAS PEAK RD, NAPA CA", "Should match full_address");
|
|
236
|
+
assert.equal(incident?.CityOrLocality, "NAPA");
|
|
254
237
|
}
|
|
255
238
|
}
|
|
256
239
|
|
|
257
240
|
it("process stream through legacy", async function() {
|
|
258
|
-
const departmentId = mock.
|
|
241
|
+
const departmentId = mock.departmentCalfireLNU._id as string;
|
|
259
242
|
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
260
243
|
const streamItem = _.first(existingStreamItems);
|
|
261
244
|
|
|
@@ -264,14 +247,12 @@ describe("index", function() {
|
|
|
264
247
|
return;
|
|
265
248
|
}
|
|
266
249
|
|
|
267
|
-
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, mock.
|
|
250
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, mock.departmentCalfireLNU, atDate);
|
|
268
251
|
validateRulesResult(sut);
|
|
269
|
-
// console.log(typeof incidentProcessor);
|
|
270
|
-
// assert.isTrue(true);
|
|
271
252
|
});
|
|
272
253
|
|
|
273
254
|
it("process stream through correction", async function() {
|
|
274
|
-
const departmentId = mock.
|
|
255
|
+
const departmentId = mock.departmentCalfireLNU._id as string;
|
|
275
256
|
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
276
257
|
const streamItem = _.first(existingStreamItems);
|
|
277
258
|
|
|
@@ -280,15 +261,14 @@ describe("index", function() {
|
|
|
280
261
|
return;
|
|
281
262
|
}
|
|
282
263
|
|
|
283
|
-
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, mock.
|
|
264
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, mock.departmentCalfireLNU, atDate);
|
|
284
265
|
validateRulesResult(sut);
|
|
285
|
-
// assert.isTrue(true);
|
|
286
266
|
});
|
|
287
267
|
});
|
|
288
268
|
|
|
289
|
-
context("
|
|
269
|
+
context("Clark County", function() {
|
|
290
270
|
const atDate = new Date();
|
|
291
|
-
const sampleIncidentNumber = "
|
|
271
|
+
const sampleIncidentNumber = "Clark-County-0001";
|
|
292
272
|
|
|
293
273
|
function validateRulesResult(sut: HandleProcessIncidentRequestResult) {
|
|
294
274
|
if ("error" in sut) {
|
|
@@ -298,14 +278,13 @@ describe("index", function() {
|
|
|
298
278
|
incident
|
|
299
279
|
} = sut;
|
|
300
280
|
|
|
301
|
-
|
|
302
|
-
assert.equal(incident?.full_address, "1659 ATLAS PEAK RD, NAPA CA", "Should match full_address");
|
|
303
|
-
assert.equal(incident?.CityOrLocality, "NAPA");
|
|
281
|
+
assert.equal(incident?.AgencyIncidentCallTypeDescription, "P2 High F3H-Building Fire", "Should match call type description");
|
|
304
282
|
}
|
|
305
283
|
}
|
|
306
284
|
|
|
307
285
|
it("process stream through legacy", async function() {
|
|
308
|
-
const
|
|
286
|
+
const department = mock.departmentClarkCounty;
|
|
287
|
+
const departmentId = department._id as string;
|
|
309
288
|
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
310
289
|
const streamItem = _.first(existingStreamItems);
|
|
311
290
|
|
|
@@ -314,14 +293,13 @@ describe("index", function() {
|
|
|
314
293
|
return;
|
|
315
294
|
}
|
|
316
295
|
|
|
317
|
-
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem,
|
|
296
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, department, atDate);
|
|
318
297
|
validateRulesResult(sut);
|
|
319
|
-
// console.log(typeof incidentProcessor);
|
|
320
|
-
// assert.isTrue(true);
|
|
321
298
|
});
|
|
322
299
|
|
|
323
300
|
it("process stream through correction", async function() {
|
|
324
|
-
const
|
|
301
|
+
const department = mock.departmentClarkCounty;
|
|
302
|
+
const departmentId = department._id as string;
|
|
325
303
|
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
326
304
|
const streamItem = _.first(existingStreamItems);
|
|
327
305
|
|
|
@@ -330,9 +308,220 @@ describe("index", function() {
|
|
|
330
308
|
return;
|
|
331
309
|
}
|
|
332
310
|
|
|
333
|
-
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber,
|
|
311
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, department, atDate);
|
|
312
|
+
validateRulesResult(sut);
|
|
313
|
+
});
|
|
314
|
+
});
|
|
315
|
+
|
|
316
|
+
context("Jackson County - Testing", function() {
|
|
317
|
+
const atDate = new Date();
|
|
318
|
+
const sampleIncidentNumber = "Jackson-County-Test-0001";
|
|
319
|
+
|
|
320
|
+
function validateRulesResult(sut: HandleProcessIncidentRequestResult) {
|
|
321
|
+
if ("error" in sut) {
|
|
322
|
+
assert.fail(sut.error.toString());
|
|
323
|
+
} else {
|
|
324
|
+
const {
|
|
325
|
+
incident
|
|
326
|
+
} = sut;
|
|
327
|
+
|
|
328
|
+
assert.equal(incident?.AgencyIncidentCallTypeDescription, "Structure Fire - 2A", "Should match call type description");
|
|
329
|
+
const unitT13 = _.first((incident?.units ?? []).filter((u: CADUnit) => u.UnitID === "T13"));
|
|
330
|
+
assert.isObject(unitT13);
|
|
331
|
+
assert.equal(unitT13?.AlarmAtDispatch, incident?.AlarmLevel);
|
|
332
|
+
|
|
333
|
+
const unitBC2 = _.first((incident?.units ?? []).filter((u: CADUnit) => u.UnitID === "BC2"));
|
|
334
|
+
assert.isObject(unitBC2);
|
|
335
|
+
assert.equal(unitBC2?.AlarmAtDispatch, "1");
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
it("process stream through legacy", async function() {
|
|
340
|
+
const department = mock.departmentJacksonCountyTest;
|
|
341
|
+
const departmentId = department._id as string;
|
|
342
|
+
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
343
|
+
const streamItem = _.first(existingStreamItems);
|
|
344
|
+
|
|
345
|
+
if (!streamItem) {
|
|
346
|
+
assert.fail("Expecting a stream item");
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, department, atDate);
|
|
351
|
+
validateRulesResult(sut);
|
|
352
|
+
});
|
|
353
|
+
|
|
354
|
+
it("process stream through correction", async function() {
|
|
355
|
+
const department = mock.departmentJacksonCountyTest;
|
|
356
|
+
const departmentId = department._id as string;
|
|
357
|
+
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
358
|
+
const streamItem = _.first(existingStreamItems);
|
|
359
|
+
|
|
360
|
+
if (!streamItem) {
|
|
361
|
+
assert.fail("Expecting a stream item");
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, department, atDate);
|
|
366
|
+
validateRulesResult(sut);
|
|
367
|
+
});
|
|
368
|
+
});
|
|
369
|
+
|
|
370
|
+
context("San Mateo County", function() {
|
|
371
|
+
const atDate = new Date();
|
|
372
|
+
const sampleIncidentNumber = "San-Mateo-0001";
|
|
373
|
+
|
|
374
|
+
function validateRulesResult(sut: HandleProcessIncidentRequestResult) {
|
|
375
|
+
if ("error" in sut) {
|
|
376
|
+
assert.fail(sut.error.toString());
|
|
377
|
+
} else {
|
|
378
|
+
const {
|
|
379
|
+
incident
|
|
380
|
+
} = sut;
|
|
381
|
+
|
|
382
|
+
// console.log(incident);
|
|
383
|
+
assert.equal(incident?.FireMap, "");
|
|
384
|
+
|
|
385
|
+
const unitT9 = _.first((incident?.units ?? []).filter((u) => u.UnitID === "T9"));
|
|
386
|
+
assert.isObject(unitT9, "Expecting unit T9");
|
|
387
|
+
assert.strictEqual(unitT9?.Personnel.length, 6);
|
|
388
|
+
assert.strictEqual(unitT9?.PersonnelCount, 6);
|
|
389
|
+
|
|
390
|
+
assert.strictEqual(incident?.TacticalChannel, "TAC15");
|
|
391
|
+
assert.strictEqual(incident?.CommandChannel, "CM41X3");
|
|
392
|
+
|
|
393
|
+
const noDateComment = _.first((incident?.Comment ?? []).filter((c) => c.CommentSource === "no-date-source"));
|
|
394
|
+
assert.isObject(noDateComment);
|
|
395
|
+
assert.equal(noDateComment?.CommentDateTime, "2000-01-01T19:04:05-0800");
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
it("process stream through legacy", async function() {
|
|
400
|
+
const departmentId = mock.departmentSanMateoCounty._id as string;
|
|
401
|
+
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
402
|
+
const streamItem = _.first(existingStreamItems);
|
|
403
|
+
|
|
404
|
+
if (!streamItem) {
|
|
405
|
+
assert.fail("Expecting a stream item");
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, mock.departmentSanMateoCounty, atDate);
|
|
410
|
+
validateRulesResult(sut);
|
|
411
|
+
});
|
|
412
|
+
|
|
413
|
+
it("process stream through correction", async function() {
|
|
414
|
+
const departmentId = mock.departmentSanMateoCounty._id as string;
|
|
415
|
+
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
416
|
+
const streamItem = _.first(existingStreamItems);
|
|
417
|
+
|
|
418
|
+
if (!streamItem) {
|
|
419
|
+
assert.fail("Expecting a stream item");
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, mock.departmentSanMateoCounty, atDate);
|
|
424
|
+
validateRulesResult(sut);
|
|
425
|
+
});
|
|
426
|
+
});
|
|
427
|
+
|
|
428
|
+
context("Santa Cruz Regional Communications", function() {
|
|
429
|
+
const atDate = new Date();
|
|
430
|
+
const sampleIncidentNumber = "Santa-Cruz-Regional-0001";
|
|
431
|
+
|
|
432
|
+
function validateRulesResult(sut: HandleProcessIncidentRequestResult) {
|
|
433
|
+
if ("error" in sut) {
|
|
434
|
+
assert.fail(sut.error.toString());
|
|
435
|
+
} else {
|
|
436
|
+
const {
|
|
437
|
+
incident
|
|
438
|
+
} = sut;
|
|
439
|
+
|
|
440
|
+
assert.strictEqual(incident?.TacticalChannel, "FBLK/FBLK2/FORNG");
|
|
441
|
+
assert.strictEqual(incident?.CommandChannel, "FRED1/FCZU");
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
it("process stream through legacy", async function() {
|
|
446
|
+
const departmentId = mock.departmentSantaCruzRegional._id as string;
|
|
447
|
+
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
448
|
+
const streamItem = _.first(existingStreamItems);
|
|
449
|
+
|
|
450
|
+
if (!streamItem) {
|
|
451
|
+
assert.fail("Expecting a stream item");
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, mock.departmentSantaCruzRegional, atDate);
|
|
456
|
+
validateRulesResult(sut);
|
|
457
|
+
});
|
|
458
|
+
|
|
459
|
+
it("process stream through correction", async function() {
|
|
460
|
+
const departmentId = mock.departmentSantaCruzRegional._id as string;
|
|
461
|
+
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
462
|
+
const streamItem = _.first(existingStreamItems);
|
|
463
|
+
|
|
464
|
+
if (!streamItem) {
|
|
465
|
+
assert.fail("Expecting a stream item");
|
|
466
|
+
return;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, mock.departmentSantaCruzRegional, atDate);
|
|
470
|
+
validateRulesResult(sut);
|
|
471
|
+
});
|
|
472
|
+
});
|
|
473
|
+
|
|
474
|
+
context("Southern Marin", function() {
|
|
475
|
+
const atDate = new Date();
|
|
476
|
+
const sampleIncidentNumber = "Southern-Marin-0001";
|
|
477
|
+
|
|
478
|
+
function validateRulesResult(sut: HandleProcessIncidentRequestResult) {
|
|
479
|
+
if ("error" in sut) {
|
|
480
|
+
assert.fail(sut.error.toString());
|
|
481
|
+
} else {
|
|
482
|
+
const {
|
|
483
|
+
incident
|
|
484
|
+
} = sut;
|
|
485
|
+
|
|
486
|
+
assert.equal(incident?.full_address, "190 BARN AVE, BLDG: B22 # S1, Fairfax", "Should match full_address");
|
|
487
|
+
assert.equal(incident?.CityOrLocality, "Fairfax");
|
|
488
|
+
assert.equal(incident?.FireMap, "ROT_31");
|
|
489
|
+
assert.equal(incident?.ClosedDateTime, "");
|
|
490
|
+
assert.isNotNull(incident?.expiration_date, "Should have expiration date");
|
|
491
|
+
|
|
492
|
+
const u10 = _.first((incident?.units ?? []).filter((u) => u.UnitID === "M10"));
|
|
493
|
+
assert.isObject(u10);
|
|
494
|
+
assert.isArray(u10?.Personnel);
|
|
495
|
+
assert.equal(u10?.Personnel?.length, 0);
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
it("process stream through legacy", async function() {
|
|
500
|
+
const departmentId = mock.departmentSouthernMarin._id as string;
|
|
501
|
+
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
502
|
+
const streamItem = _.first(existingStreamItems);
|
|
503
|
+
|
|
504
|
+
if (!streamItem) {
|
|
505
|
+
assert.fail("Expecting a stream item");
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, mock.departmentSouthernMarin, atDate);
|
|
510
|
+
validateRulesResult(sut);
|
|
511
|
+
});
|
|
512
|
+
|
|
513
|
+
it("process stream through correction", async function() {
|
|
514
|
+
const departmentId = mock.departmentSouthernMarin._id as string;
|
|
515
|
+
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
516
|
+
const streamItem = _.first(existingStreamItems);
|
|
517
|
+
|
|
518
|
+
if (!streamItem) {
|
|
519
|
+
assert.fail("Expecting a stream item");
|
|
520
|
+
return;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, mock.departmentSouthernMarin, atDate);
|
|
334
524
|
validateRulesResult(sut);
|
|
335
|
-
// assert.isTrue(true);
|
|
336
525
|
});
|
|
337
526
|
});
|
|
338
527
|
|
|
@@ -366,8 +555,6 @@ describe("index", function() {
|
|
|
366
555
|
|
|
367
556
|
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, mock.departmentVerdugo, atDate);
|
|
368
557
|
validateRulesResult(sut);
|
|
369
|
-
// console.log(typeof incidentProcessor);
|
|
370
|
-
// assert.isTrue(true);
|
|
371
558
|
});
|
|
372
559
|
|
|
373
560
|
it("process stream through correction", async function() {
|
|
@@ -382,7 +569,53 @@ describe("index", function() {
|
|
|
382
569
|
|
|
383
570
|
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, mock.departmentVerdugo, atDate);
|
|
384
571
|
validateRulesResult(sut);
|
|
385
|
-
|
|
572
|
+
});
|
|
573
|
+
});
|
|
574
|
+
|
|
575
|
+
context("Yolo Emergency Communications Agency", function() {
|
|
576
|
+
const atDate = new Date();
|
|
577
|
+
const sampleIncidentNumber = "Yolo-Communications-0001";
|
|
578
|
+
|
|
579
|
+
function validateRulesResult(sut: HandleProcessIncidentRequestResult) {
|
|
580
|
+
if ("error" in sut) {
|
|
581
|
+
assert.fail(sut.error.toString());
|
|
582
|
+
} else {
|
|
583
|
+
const {
|
|
584
|
+
incident
|
|
585
|
+
} = sut;
|
|
586
|
+
|
|
587
|
+
assert.strictEqual(incident?.TacticalChannel, "BROWN/ECHO6/VFIRE25");
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
it("process stream through legacy", async function() {
|
|
592
|
+
const department = mock.departmentYolo;
|
|
593
|
+
const departmentId = department._id as string;
|
|
594
|
+
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
595
|
+
const streamItem = _.first(existingStreamItems);
|
|
596
|
+
|
|
597
|
+
if (!streamItem) {
|
|
598
|
+
assert.fail("Expecting a stream item");
|
|
599
|
+
return;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestLegacy(streamItem, department, atDate);
|
|
603
|
+
validateRulesResult(sut);
|
|
604
|
+
});
|
|
605
|
+
|
|
606
|
+
it("process stream through correction", async function() {
|
|
607
|
+
const department = mock.departmentYolo;
|
|
608
|
+
const departmentId = department._id as string;
|
|
609
|
+
const existingStreamItems = await mock.getIncidentStreamItems(departmentId, sampleIncidentNumber);
|
|
610
|
+
const streamItem = _.first(existingStreamItems);
|
|
611
|
+
|
|
612
|
+
if (!streamItem) {
|
|
613
|
+
assert.fail("Expecting a stream item");
|
|
614
|
+
return;
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
const sut = await incidentProcessor.handleProcessIncidentRequestCorrection(streamItem.incidentNumber, department, atDate);
|
|
618
|
+
validateRulesResult(sut);
|
|
386
619
|
});
|
|
387
620
|
});
|
|
388
621
|
});
|