test: add tests for error propagation in jobs

It seems some testing was missing.
This commit is contained in:
Hans Larsen 2019-03-12 14:02:23 -07:00 committed by vikerman
parent 346040f3e6
commit ffee8938bb

View File

@ -11,11 +11,7 @@ import { map, take, toArray } from 'rxjs/operators';
import { JobHandlerContext, JobOutboundMessage, JobOutboundMessageKind, JobState } from './api';
import { createJobHandler } from './create-job-handler';
import { SimpleJobRegistry } from './simple-registry';
import {
JobInboundMessageSchemaValidationError,
JobOutputSchemaValidationError,
SimpleScheduler,
} from './simple-scheduler';
import { SimpleScheduler } from './simple-scheduler';
describe('SimpleScheduler', () => {
let registry: SimpleJobRegistry;
@ -622,4 +618,16 @@ describe('SimpleScheduler', () => {
expect(outputs).toEqual(jasmine.arrayWithExactContents([101, 102, 103]));
});
});
it('propagates errors', async () => {
registry.register('job', createJobHandler(() => { throw 1; }));
const job = scheduler.schedule('job', 0);
try {
await job.output.toPromise();
expect('THE ABOVE LINE SHOULD NOT ERROR').toBe('false');
} catch (error) {
expect(error).toBe(1);
}
});
});