@prisma/language-server
Version:
Prisma Language Server
46 lines • 2.02 kB
JavaScript
;
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)('type name completion', async () => {
const helper = await (0, MultifileHelper_1.getMultifileHelper)('complete-field');
const post = helper.file('Post.prisma');
const response = (0, MessageHandler_1.handleCompletionRequest)(helper.schema, post.textDocument, {
textDocument: {
uri: post.uri,
},
position: post.lineContaining('author Us').characterAfter('U'),
});
const userItem = response?.items.find((item) => item.label === 'User');
(0, vitest_1.expect)(userItem).not.toBeUndefined();
});
(0, vitest_1.test)('type name completion with no name typed', async () => {
const helper = await (0, MultifileHelper_1.getMultifileHelper)('complete-field');
const post = helper.file('Post.prisma');
const response = (0, MessageHandler_1.handleCompletionRequest)(helper.schema, post.textDocument, {
textDocument: {
uri: post.uri,
},
position: post.lineContaining('author ').characterAfter('r '),
});
const userItem = response?.items.find((item) => item.label === 'User');
(0, vitest_1.expect)(userItem).not.toBeUndefined();
});
(0, vitest_1.test)('native type complete', async () => {
const helper = await (0, MultifileHelper_1.getMultifileHelper)('complete-native-type');
const post = helper.file('Post.prisma');
const response = (0, MessageHandler_1.handleCompletionRequest)(helper.schema, post.textDocument, {
textDocument: {
uri: post.uri,
},
position: post.lineContaining('Decimal').characterAfter('@db'),
});
(0, vitest_1.expect)(response?.items?.map((item) => item.label)).toMatchInlineSnapshot(`
[
"Decimal()",
"Money",
]
`);
});
//# sourceMappingURL=multi-file.test.js.map