UNPKG

lml-main

Version:

This is now a mono repository published into many standalone packages.

65 lines 3.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var ts_utils_1 = require("@lml/ts-utils"); var mocks_1 = require("../mocks"); var reducers_1 = require("../reducers"); var actions_1 = require("../actions"); describe('Courier reducer', function () { test('returns initial state if couriers are empty', function () { var initialState = undefined; var action = actions_1.setCourierCallsigns({}); var state = reducers_1.courierDataReducer(initialState, action); expect(state).toEqual(reducers_1.initialCouriersState); }); test('handles setCourierCallsigns action', function () { var initialState = undefined; var callsigns = { abc: 'BRUNO', def: 'SUKI' }; var action = actions_1.setCourierCallsigns(callsigns); var resultState = { byId: {}, callsigns: callsigns, lastStatusUpdate: null, }; var state = reducers_1.courierDataReducer(initialState, action); expect(state).toEqual(resultState); }); test('handles setCourierById action', function () { var initialState = undefined; var courier = tslib_1.__assign({}, mocks_1.mockCourier('foobar')); var action = actions_1.setCourierById(courier); var state = reducers_1.courierDataReducer(initialState, action); expect(state.byId.foobar).toEqual(courier); expect(state.lastStatusUpdate).toBeTruthy(); }); test('handles setCourierById action 2', function () { var courier = mocks_1.mockCourier(); var action = actions_1.setCourierById(courier); var state = reducers_1.courierDataReducer(reducers_1.initialCouriersState, action); expect(state.byId[courier.refId]).toEqual(courier); expect(state.lastStatusUpdate).toBeTruthy(); }); test('handles setCouriersByIdBatch', function () { var couriers = ts_utils_1.createArray(mocks_1.mockCourier); var action = actions_1.setCouriersByIdBatch(couriers); var state = reducers_1.courierDataReducer(reducers_1.initialCouriersState, action); couriers.forEach(function (courier) { expect(state.byId[courier.refId]).toEqual(courier); }); }); test('handles setCourierLabel', function () { var courier = mocks_1.mockCourier(); var resultState = { byId: (_a = {}, _a[courier.refId] = tslib_1.__assign({}, courier), _a), callsigns: {}, lastStatusUpdate: Date.now(), }; var action = actions_1.setCourierLabel(courier.refId, 'test_label'); var expectedCourier = tslib_1.__assign({}, courier, { label: { label: 'test_label' } }); var state = reducers_1.courierDataReducer(resultState, action); expect(state.byId[expectedCourier.refId]).toEqual(expectedCourier); expect(state.lastStatusUpdate).toBeTruthy(); var _a; }); }); //# sourceMappingURL=couriers-data.reducer.spec.js.map