@prisma/language-server
Version:
Prisma Language Server
75 lines • 2.39 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const vitest_1 = require("vitest");
const MessageHandler_1 = require("../../lib/MessageHandler");
const Schema_1 = require("../../lib/Schema");
const helper_1 = require("../helper");
function assertJumpToDefinition(position, expectedRange, fixturePath) {
const textDocument = (0, helper_1.getTextDocument)(fixturePath);
const params = { textDocument, position };
const defResult = (0, MessageHandler_1.handleDefinitionRequest)(Schema_1.PrismaSchema.singleFile(textDocument), textDocument, params);
(0, vitest_1.expect)(defResult).not.toBeUndefined();
(0, vitest_1.expect)(defResult?.[0]?.targetRange).toStrictEqual(expectedRange);
}
(0, vitest_1.describe)('Jump-to-Definition', () => {
const getFixturePath = (testName) => `./jump-to-definition/${testName}.prisma`;
(0, vitest_1.test)('SQLite: from attribute to model', () => {
const fixturePath = getFixturePath('correct_sqlite');
assertJumpToDefinition({
line: 11,
character: 16,
}, {
start: {
line: 26,
character: 0,
},
end: {
line: 31,
character: 1,
},
}, fixturePath);
assertJumpToDefinition({
line: 14,
character: 14,
}, {
start: {
line: 18,
character: 0,
},
end: {
line: 24,
character: 1,
},
}, fixturePath);
assertJumpToDefinition({
line: 22,
character: 9,
}, {
start: {
line: 9,
character: 0,
},
end: {
line: 16,
character: 1,
},
}, fixturePath);
});
(0, vitest_1.test)('MongoDB: from attribute to type', () => {
const fixturePath = getFixturePath('correct_mongodb');
assertJumpToDefinition({
line: 12,
character: 11,
}, {
start: {
line: 15,
character: 0,
},
end: {
line: 19,
character: 1,
},
}, fixturePath);
});
});
//# sourceMappingURL=single-file.test.js.map