From 5694f0a79754823ba76b5c064b4ded0f7d093293 Mon Sep 17 00:00:00 2001 From: Don Jayamanne Date: Mon, 18 Jun 2018 17:07:57 -0700 Subject: [PATCH] Bug fix, check if code has been ignored --- .../diagnostics/checks/envPathVariable.ts | 3 +++ .../checks/envPathVariable.unit.test.ts | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/client/application/diagnostics/checks/envPathVariable.ts b/src/client/application/diagnostics/checks/envPathVariable.ts index f8387e73d429..ee8712cfa4f4 100644 --- a/src/client/application/diagnostics/checks/envPathVariable.ts +++ b/src/client/application/diagnostics/checks/envPathVariable.ts @@ -54,6 +54,9 @@ export class EnvironmentPathVariableDiagnosticsService extends BaseDiagnosticsSe return; } const diagnostic = diagnostics[0]; + if (this.filterService.shouldIgnoreDiagnostic(diagnostic.code)) { + return; + } const commandFactory = this.serviceContainer.get(IDiagnosticsCommandFactory); const options = [ { diff --git a/src/test/application/diagnostics/checks/envPathVariable.unit.test.ts b/src/test/application/diagnostics/checks/envPathVariable.unit.test.ts index 44ce2a0749fb..c82802791b0b 100644 --- a/src/test/application/diagnostics/checks/envPathVariable.unit.test.ts +++ b/src/test/application/diagnostics/checks/envPathVariable.unit.test.ts @@ -158,4 +158,26 @@ suite('Application Diagnostics - Checks Env Path Variable', () => { commandFactory.verifyAll(); messageHandler.verifyAll(); }); + test('Should not display a message if the diagnostic code has been ignored', async () => { + platformService.setup(p => p.isWindows).returns(() => true); + const diagnostic = typemoq.Mock.ofType(); + + filterService.setup(f => f.shouldIgnoreDiagnostic(typemoq.It.isValue(DiagnosticCodes.InvalidEnvironmentPathVariableDiagnostic))) + .returns(() => Promise.resolve(true)) + .verifiable(typemoq.Times.once()); + diagnostic.setup(d => d.code) + .returns(() => DiagnosticCodes.InvalidEnvironmentPathVariableDiagnostic) + .verifiable(typemoq.Times.atLeastOnce()); + commandFactory.setup(f => f.createCommand(typemoq.It.isAny(), typemoq.It.isAny())) + .verifiable(typemoq.Times.never()); + messageHandler.setup(m => m.handle(typemoq.It.isAny(), typemoq.It.isAny())) + .verifiable(typemoq.Times.never()); + + await diagnosticService.handle([diagnostic.object]); + + filterService.verifyAll(); + diagnostic.verifyAll(); + commandFactory.verifyAll(); + messageHandler.verifyAll(); + }); });