UNPKG

@prisma/language-server

Version:
112 lines 5.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument"); const MessageHandler_1 = require("../lib/MessageHandler"); const helper_1 = require("./helper"); const vitest_1 = require("vitest"); require("../lib/prisma-schema-wasm/error/wasm"); const Schema_1 = require("../lib/Schema"); (0, vitest_1.describe)('Artificial Panics', () => { (0, vitest_1.afterEach)(() => { vitest_1.vi.unstubAllEnvs(); }); const getFixturePath = (testName) => `./artificial-panic/${testName}.prisma`; (0, vitest_1.test)('code actions', () => { const fixturePath = getFixturePath('schema'); const document = (0, helper_1.getTextDocument)(fixturePath); const params = { textDocument: document, range: { start: { line: 0, character: 0 }, end: { line: 0, character: 0 }, }, context: { diagnostics: [ { range: { start: { line: 0, character: 0 }, end: { line: 0, character: 0 }, }, message: 'dx msg', }, ], }, }; vitest_1.vi.stubEnv('FORCE_PANIC_PRISMA_SCHEMA', '1'); const onError = vitest_1.vi.fn(); (0, MessageHandler_1.handleCodeActions)(Schema_1.PrismaSchema.singleFile(document), document, params, onError); (0, vitest_1.expect)(onError).toBeCalledTimes(1); (0, vitest_1.expect)(onError).toBeCalledWith(vitest_1.expect.any(String)); }); (0, vitest_1.test)('formatter', () => { const fixturePath = getFixturePath('schema'); const document = (0, helper_1.getTextDocument)(fixturePath); const params = { textDocument: document, options: { tabSize: 2, insertSpaces: true, }, }; vitest_1.vi.stubEnv('FORCE_PANIC_PRISMA_SCHEMA', '1'); const onError = vitest_1.vi.fn(); (0, MessageHandler_1.handleDocumentFormatting)(Schema_1.PrismaSchema.singleFile(document), document, params, onError); (0, vitest_1.expect)(onError).toBeCalledTimes(1); (0, vitest_1.expect)(onError).toBeCalledWith(vitest_1.expect.any(String)); }); (0, vitest_1.test)('linting', () => { const fixturePath = getFixturePath('schema'); const document = (0, helper_1.getTextDocument)(fixturePath); vitest_1.vi.stubEnv('FORCE_PANIC_PRISMA_SCHEMA', '1'); const onError = vitest_1.vi.fn(); (0, MessageHandler_1.handleDiagnosticsRequest)(Schema_1.PrismaSchema.singleFile(document), onError); (0, vitest_1.expect)(onError).toBeCalledTimes(1); (0, vitest_1.expect)(onError).toBeCalledWith(vitest_1.expect.any(String)); }); (0, vitest_1.test)('preview features', () => { const fixturePath = getFixturePath('schema'); let document = (0, helper_1.getTextDocument)(fixturePath); const schema = document.getText(); const position = (0, helper_1.findCursorPosition)(schema); document = vscode_languageserver_textdocument_1.TextDocument.create('./artificial-panic/schema.prisma', 'prisma', 1, schema.replace(helper_1.CURSOR_CHARACTER, '')); const params = { textDocument: document, position, }; vitest_1.vi.stubEnv('FORCE_PANIC_PRISMA_SCHEMA_LOCAL', '1'); const onError = vitest_1.vi.fn(); (0, MessageHandler_1.handleCompletionRequest)(Schema_1.PrismaSchema.singleFile(document), document, params, onError); (0, vitest_1.expect)(onError).toBeCalledTimes(1); (0, vitest_1.expect)(onError).toBeCalledWith(vitest_1.expect.any(String)); }); (0, vitest_1.test)('native types', () => { const fixturePath = getFixturePath('native-types'); let document = (0, helper_1.getTextDocument)(fixturePath); const schema = document.getText(); const position = (0, helper_1.findCursorPosition)(schema); document = vscode_languageserver_textdocument_1.TextDocument.create('./artificial-panic/native-types.prisma', 'prisma', 1, schema.replace(helper_1.CURSOR_CHARACTER, '')); const params = { textDocument: document, position, }; vitest_1.vi.stubEnv('FORCE_PANIC_PRISMA_SCHEMA_LOCAL', '1'); const onError = vitest_1.vi.fn(); (0, MessageHandler_1.handleCompletionRequest)(Schema_1.PrismaSchema.singleFile(document), document, params, onError); (0, vitest_1.expect)(onError).toBeCalledTimes(1); (0, vitest_1.expect)(onError).toBeCalledWith(vitest_1.expect.any(String)); }); (0, vitest_1.test)('completions', () => { const fixturePath = getFixturePath('schema'); const document = (0, helper_1.getTextDocument)(fixturePath); const params = { textDocument: document, position: { character: 0, line: 0 }, }; vitest_1.vi.stubEnv('FORCE_PANIC_PRISMA_SCHEMA', '1'); const onError = vitest_1.vi.fn(); (0, MessageHandler_1.handleCompletionRequest)(Schema_1.PrismaSchema.singleFile(document), document, params, onError); (0, vitest_1.expect)(onError).toBeCalledTimes(1); (0, vitest_1.expect)(onError).toBeCalledWith(vitest_1.expect.any(String)); }); }); //# sourceMappingURL=artificial-panic.test.js.map