Emit "update" events while variant analysis is being monitored (#1579)
This commit is contained in:
@@ -59,6 +59,9 @@ export class VariantAnalysisMonitor extends DisposableObject {
|
||||
if (variantAnalysisSummary.failure_reason) {
|
||||
variantAnalysis.status = VariantAnalysisStatus.Failed;
|
||||
variantAnalysis.failureReason = processFailureReason(variantAnalysisSummary.failure_reason);
|
||||
|
||||
this._onVariantAnalysisChange.fire(variantAnalysis);
|
||||
|
||||
return {
|
||||
status: 'Failed',
|
||||
error: `Variant Analysis has failed: ${variantAnalysisSummary.failure_reason}`,
|
||||
|
||||
@@ -20,6 +20,8 @@ import { Credentials } from '../../../authentication';
|
||||
import { createMockVariantAnalysis } from '../../factories/remote-queries/shared/variant-analysis';
|
||||
|
||||
describe('Variant Analysis Monitor', async function() {
|
||||
this.timeout(60000);
|
||||
|
||||
let sandbox: sinon.SinonSandbox;
|
||||
let mockGetVariantAnalysis: sinon.SinonStub;
|
||||
let cancellationTokenSource: CancellationTokenSource;
|
||||
@@ -96,9 +98,18 @@ describe('Variant Analysis Monitor', async function() {
|
||||
expect(result.variantAnalysis?.status).to.equal(VariantAnalysisStatus.Failed);
|
||||
expect(result.variantAnalysis?.failureReason).to.equal(processFailureReason(mockFailedApiResponse.failure_reason as VariantAnalysisFailureReason));
|
||||
});
|
||||
|
||||
it('should emit `onVariantAnalysisChange`', async () => {
|
||||
const spy = sandbox.spy();
|
||||
variantAnalysisMonitor.onVariantAnalysisChange(spy);
|
||||
|
||||
const result = await variantAnalysisMonitor.monitorVariantAnalysis(variantAnalysis, cancellationTokenSource.token);
|
||||
|
||||
expect(spy).to.have.been.calledWith(result.variantAnalysis);
|
||||
});
|
||||
});
|
||||
|
||||
describe('when the variant analysis completes', async () => {
|
||||
describe('when the variant analysis is in progress', async () => {
|
||||
let mockApiResponse: VariantAnalysisApiResponse;
|
||||
let scannedRepos: ApiVariantAnalysisScannedRepository[];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user