Emit "update" events while variant analysis is being monitored (#1579)

This commit is contained in:
Shati Patel
2022-10-12 15:00:18 +01:00
committed by GitHub
parent 4c527a3573
commit 119649144e
2 changed files with 15 additions and 1 deletions

View File

@@ -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}`,

View File

@@ -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[];