Skip to content

Commit 1a3fecd

Browse files
committed
Add test for removeVariantAnalysis
1 parent 1348de5 commit 1a3fecd

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

extensions/ql-vscode/src/remote-queries/variant-analysis-manager.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,10 @@ export class VariantAnalysisManager extends DisposableObject implements VariantA
113113
return this.variantAnalyses.get(variantAnalysisId);
114114
}
115115

116+
public getVariantAnalysesSize(): number {
117+
return this.variantAnalyses.size;
118+
}
119+
116120
public async loadResults(variantAnalysisId: number, repositoryFullName: string): Promise<void> {
117121
const variantAnalysis = this.variantAnalyses.get(variantAnalysisId);
118122
if (!variantAnalysis) {
@@ -127,7 +131,7 @@ export class VariantAnalysisManager extends DisposableObject implements VariantA
127131
return await fs.pathExists(filePath);
128132
}
129133

130-
private async onVariantAnalysisUpdated(variantAnalysis: VariantAnalysis | undefined): Promise<void> {
134+
public async onVariantAnalysisUpdated(variantAnalysis: VariantAnalysis | undefined): Promise<void> {
131135
if (!variantAnalysis) {
132136
return;
133137
}

extensions/ql-vscode/src/vscode-tests/cli-integration/remote-queries/variant-analysis-manager.test.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ import { createMockVariantAnalysisRepoTask } from '../../factories/remote-querie
2121
import { CodeQLCliServer } from '../../../cli';
2222
import { storagePath } from '../global.helper';
2323
import { VariantAnalysisResultsManager } from '../../../remote-queries/variant-analysis-results-manager';
24+
import { VariantAnalysis } from '../../../remote-queries/shared/variant-analysis';
25+
import { createMockVariantAnalysis } from '../../factories/remote-queries/shared/variant-analysis';
2426

2527
describe('Variant Analysis Manager', async function() {
2628
let sandbox: sinon.SinonSandbox;
@@ -167,6 +169,29 @@ describe('Variant Analysis Manager', async function() {
167169
expect(getResultsSpy).to.have.been.calledThrice;
168170
});
169171
});
172+
173+
describe('removeVariantAnalysis', async () => {
174+
let removeAnalysisResultsStub: sinon.SinonStub;
175+
let removeStorageStub: sinon.SinonStub;
176+
let dummyVariantAnalysis: VariantAnalysis;
177+
178+
beforeEach(async () => {
179+
dummyVariantAnalysis = createMockVariantAnalysis();
180+
removeAnalysisResultsStub = sandbox.stub(variantAnalysisResultsManager, 'removeAnalysisResults');
181+
removeStorageStub = sandbox.stub(fs, 'remove');
182+
});
183+
184+
it('should remove variant analysis', async () => {
185+
await variantAnalysisManager.onVariantAnalysisUpdated(dummyVariantAnalysis);
186+
expect(variantAnalysisManager.getVariantAnalysesSize()).to.eq(1);
187+
188+
await variantAnalysisManager.removeVariantAnalysis(dummyVariantAnalysis);
189+
190+
expect(removeAnalysisResultsStub).to.have.been.calledOnce;
191+
expect(removeStorageStub).to.have.been.calledOnce;
192+
expect(variantAnalysisManager.getVariantAnalysesSize()).to.equal(0);
193+
});
194+
});
170195
});
171196
});
172197
});

0 commit comments

Comments
 (0)