From ffee8938bb3987a1a7d3c04e0f75c82cffd0e18f Mon Sep 17 00:00:00 2001 From: Hans Larsen Date: Tue, 12 Mar 2019 14:02:23 -0700 Subject: [PATCH] test: add tests for error propagation in jobs It seems some testing was missing. --- .../experimental/jobs/simple-scheduler_spec.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts b/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts index e5e3c98553..48d7443dfc 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts @@ -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); + } + }); });