@prisma/language-server
Version:
Prisma Language Server
121 lines • 3.97 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const vitest_1 = require("vitest");
const MessageHandler_1 = require("../../lib/MessageHandler");
const MultifileHelper_1 = require("../MultifileHelper");
(0, vitest_1.test)('invalid doc', async () => {
const helper = await (0, MultifileHelper_1.getMultifileHelper)('linting');
const response = (0, MessageHandler_1.handleDiagnosticsRequest)(helper.schema);
(0, vitest_1.expect)(response).toMatchInlineSnapshot(`
DiagnosticMap {
"_map": Map {
"file:///linting/Post.prisma" => [
{
"message": "Type "Like" is neither a built-in type, nor refers to another model, composite type, or enum.",
"range": {
"end": {
"character": 17,
"line": 7,
},
"start": {
"character": 13,
"line": 7,
},
},
"severity": 1,
"source": "Prisma",
},
],
"file:///linting/User.prisma" => [],
"file:///linting/config.prisma" => [],
},
}
`);
});
(0, vitest_1.test)('external tables and enums', async () => {
const helper = await (0, MultifileHelper_1.getMultifileHelper)('external-config');
const response = (0, MessageHandler_1.handleDiagnosticsRequest)(helper.schema);
(0, vitest_1.expect)(response).toMatchInlineSnapshot(`
DiagnosticMap {
"_map": Map {
"file:///external-config/config.prisma" => [],
"file:///external-config/schema.prisma" => [
{
"message": "The model "Post" is marked as external in the Prisma config file.",
"range": {
"end": {
"character": 1,
"line": 18,
},
"start": {
"character": 0,
"line": 9,
},
},
"severity": 4,
"tags": [
1,
],
},
{
"message": "The model "Like" is marked as external in the Prisma config file.",
"range": {
"end": {
"character": 1,
"line": 28,
},
"start": {
"character": 0,
"line": 20,
},
},
"severity": 4,
"tags": [
1,
],
},
{
"message": "The enum "Role" is marked as external in the Prisma config file.",
"range": {
"end": {
"character": 1,
"line": 35,
},
"start": {
"character": 0,
"line": 30,
},
},
"severity": 4,
"tags": [
1,
],
},
],
},
}
`);
});
(0, vitest_1.test)('config with an unresolved import doesn not crash the language server', async () => {
const helper = await (0, MultifileHelper_1.getMultifileHelper)('config-with-broken-import');
const response = (0, MessageHandler_1.handleDiagnosticsRequest)(helper.schema);
(0, vitest_1.expect)(response).toMatchInlineSnapshot(`
DiagnosticMap {
"_map": Map {
"file:///config-with-broken-import/schema.prisma" => [],
},
}
`);
});
(0, vitest_1.test)('config with an unresolved env var doesn not crash the language server', async () => {
const helper = await (0, MultifileHelper_1.getMultifileHelper)('config-with-unresolved-env-var');
const response = (0, MessageHandler_1.handleDiagnosticsRequest)(helper.schema);
(0, vitest_1.expect)(response).toMatchInlineSnapshot(`
DiagnosticMap {
"_map": Map {
"file:///config-with-unresolved-env-var/schema.prisma" => [],
},
}
`);
});
//# sourceMappingURL=multi-file.test.js.map