lml-main
Version:
This is now a mono repository published into many standalone packages.
71 lines • 3.34 kB
JavaScript
;
var _this = this;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
require("rxjs");
var redux_rx_http_1 = require("redux-rx-http");
var ts_utils_1 = require("@lml/ts-utils");
var actions_1 = require("../actions");
var actions_2 = require("../../jobs/actions");
var fetch_courier_jobs_1 = require("../epics/fetch-courier-jobs");
var mocks_1 = require("../mocks");
var cosmoui_1 = require("cosmoui");
var utils_1 = require("../../utils");
describe('fetchCourierJobsEpic', function () {
it('on success SET_COURIER_JOBS & SET_JOBS_BY_ID_BATCH', function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
var result, response, action, actions;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
result = {
jobs: {
123: tslib_1.__assign({}, mocks_1.mockCourierJob('123')),
},
jobStatuses: {
123: tslib_1.__assign({}, mocks_1.mockCourierJobStatus('123')),
},
};
response = ts_utils_1.mockResponse(result);
action = redux_rx_http_1.rxHttpSuccess(response, undefined, { refId: '123' }, actions_1.FETCH_COURIER_JOBS);
return [4 /*yield*/, ts_utils_1.getEpicActions(fetch_courier_jobs_1.fetchCourierJobsSuccess, action)];
case 1:
actions = _a.sent();
expect(actions).toMatchObject([
expect.objectContaining({
type: actions_1.SET_COURIER_JOBS,
refId: '123',
jobs: expect.objectContaining(result.jobStatuses),
}),
expect.objectContaining({
type: actions_2.SET_JOBS_BY_ID_BATCH,
jobs: expect.objectContaining(result.jobs),
}),
]);
return [2 /*return*/];
}
});
}); });
it('on error FETCH, FETCH_COURIER_JOBS', function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
var action, actions;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
action = utils_1.mockErr(actions_1.FETCH_COURIER_JOBS);
return [4 /*yield*/, ts_utils_1.getEpicActions(fetch_courier_jobs_1.fetchCourierJobsError, action)];
case 1:
actions = _a.sent();
expect(actions).toMatchObject([
expect.objectContaining({
type: cosmoui_1.SHOW_NOTIFICATION,
level: expect.objectContaining({
key: 'error',
}),
message: 'There was a problem fetching the courier jobs. Please try again',
}),
]);
return [2 /*return*/];
}
});
}); });
});
//# sourceMappingURL=fetch-courier-jobs.epic.spec.js.map