From 508499398bff20c402d80d00ff4c3e18397eee5c Mon Sep 17 00:00:00 2001 From: Nacho Cordon Date: Sun, 26 Jan 2025 17:56:05 +0000 Subject: [PATCH] Fixes feature flag --- .../autocompletion/functionsCompletion.test.ts | 9 +++++++++ .../autocompletion/procedureCompletion.test.ts | 9 +++++++++ .../src/tests/signatureHelp.test.ts | 17 +++++++++++++++++ .../functionsValidation.test.ts | 9 +++++++++ .../proceduresValidation.test.ts | 9 +++++++++ .../syntaxValidation/semanticValidation.test.ts | 8 ++++++++ 6 files changed, 61 insertions(+) diff --git a/packages/language-support/src/tests/autocompletion/functionsCompletion.test.ts b/packages/language-support/src/tests/autocompletion/functionsCompletion.test.ts index ede1d7c51..c447a6690 100644 --- a/packages/language-support/src/tests/autocompletion/functionsCompletion.test.ts +++ b/packages/language-support/src/tests/autocompletion/functionsCompletion.test.ts @@ -3,10 +3,19 @@ import { CompletionItemTag, } from 'vscode-languageserver-types'; import { DbSchema } from '../../dbSchema'; +import { _internalFeatureFlags } from '../../featureFlags'; import { testData } from '../testData'; import { testCompletions } from './completionAssertionHelpers'; describe('function invocations', () => { + beforeAll(() => { + _internalFeatureFlags.cypher25 = true; + }); + + afterAll(() => { + _internalFeatureFlags.cypher25 = false; + }); + const dbSchema: DbSchema = testData.mockSchema; const functions = dbSchema.functions; diff --git a/packages/language-support/src/tests/autocompletion/procedureCompletion.test.ts b/packages/language-support/src/tests/autocompletion/procedureCompletion.test.ts index 22890aeaf..60e238e3c 100644 --- a/packages/language-support/src/tests/autocompletion/procedureCompletion.test.ts +++ b/packages/language-support/src/tests/autocompletion/procedureCompletion.test.ts @@ -3,10 +3,19 @@ import { CompletionItemTag, } from 'vscode-languageserver-types'; import { DbSchema } from '../../dbSchema'; +import { _internalFeatureFlags } from '../../featureFlags'; import { testData } from '../testData'; import { testCompletions } from './completionAssertionHelpers'; describe('Procedures auto-completion', () => { + beforeAll(() => { + _internalFeatureFlags.cypher25 = true; + }); + + afterAll(() => { + _internalFeatureFlags.cypher25 = false; + }); + const procedures = testData.mockSchema.procedures; const dbSchema: DbSchema = { diff --git a/packages/language-support/src/tests/signatureHelp.test.ts b/packages/language-support/src/tests/signatureHelp.test.ts index 3abdaeed6..b02c29c41 100644 --- a/packages/language-support/src/tests/signatureHelp.test.ts +++ b/packages/language-support/src/tests/signatureHelp.test.ts @@ -1,5 +1,6 @@ import { SignatureHelp } from 'vscode-languageserver-types'; import { DbSchema } from '../dbSchema'; +import { _internalFeatureFlags } from '../featureFlags'; import { emptyResult, signatureHelp, @@ -21,6 +22,14 @@ export function testSignatureHelp( } describe('Procedures signature help', () => { + beforeAll(() => { + _internalFeatureFlags.cypher25 = true; + }); + + afterAll(() => { + _internalFeatureFlags.cypher25 = false; + }); + const dbSchema = testData.mockSchema; const procedureName = 'apoc.do.when'; const procedure = dbSchema.procedures['cypher 5'][procedureName]; @@ -254,6 +263,14 @@ describe('Procedures signature help', () => { }); describe('Functions signature help', () => { + beforeAll(() => { + _internalFeatureFlags.cypher25 = true; + }); + + afterAll(() => { + _internalFeatureFlags.cypher25 = false; + }); + const dbSchema = testData.mockSchema; const functionName = 'apoc.coll.combinations'; const fn = dbSchema.functions['cypher 5'][functionName]; diff --git a/packages/language-support/src/tests/syntaxValidation/functionsValidation.test.ts b/packages/language-support/src/tests/syntaxValidation/functionsValidation.test.ts index 9c475b1eb..88446fa78 100644 --- a/packages/language-support/src/tests/syntaxValidation/functionsValidation.test.ts +++ b/packages/language-support/src/tests/syntaxValidation/functionsValidation.test.ts @@ -1,8 +1,17 @@ import { DiagnosticTag } from 'vscode-languageserver-types'; +import { _internalFeatureFlags } from '../../featureFlags'; import { testData } from '../testData'; import { getDiagnosticsForQuery } from './helpers'; describe('Functions semantic validation spec', () => { + beforeAll(() => { + _internalFeatureFlags.cypher25 = true; + }); + + afterAll(() => { + _internalFeatureFlags.cypher25 = false; + }); + test('Syntax validation warns on deprecated function when database can be contacted and deprecated by is not present', () => { const query = `RETURN id()`; expect( diff --git a/packages/language-support/src/tests/syntaxValidation/proceduresValidation.test.ts b/packages/language-support/src/tests/syntaxValidation/proceduresValidation.test.ts index 1b11315d8..cb332fecd 100644 --- a/packages/language-support/src/tests/syntaxValidation/proceduresValidation.test.ts +++ b/packages/language-support/src/tests/syntaxValidation/proceduresValidation.test.ts @@ -1,7 +1,16 @@ +import { _internalFeatureFlags } from '../../featureFlags'; import { testData } from '../testData'; import { getDiagnosticsForQuery } from './helpers'; describe('Procedures semantic validation spec', () => { + beforeAll(() => { + _internalFeatureFlags.cypher25 = true; + }); + + afterAll(() => { + _internalFeatureFlags.cypher25 = false; + }); + test('Syntax validation warns on deprecated procedure when database can be contacted', () => { const query = `CALL db.create.setVectorProperty()`; expect( diff --git a/packages/language-support/src/tests/syntaxValidation/semanticValidation.test.ts b/packages/language-support/src/tests/syntaxValidation/semanticValidation.test.ts index 1a60b5848..209ed8451 100644 --- a/packages/language-support/src/tests/syntaxValidation/semanticValidation.test.ts +++ b/packages/language-support/src/tests/syntaxValidation/semanticValidation.test.ts @@ -3,6 +3,14 @@ import { testData } from '../testData'; import { getDiagnosticsForQuery } from './helpers'; describe('Semantic validation spec', () => { + beforeAll(() => { + _internalFeatureFlags.cypher25 = true; + }); + + afterAll(() => { + _internalFeatureFlags.cypher25 = false; + }); + test('Semantic analysis is dependant on cypher version', () => { const query1 = 'CYPHER 5 MATCH (n)-[r]->(m) SET r += m'; const diagnostics1 = getDiagnosticsForQuery({ query: query1 });