UNPKG

@shopify/theme-language-server-common

Version:

<h1 align="center" style="position: relative;" > <br> <img src="https://github.com/Shopify/theme-check-vscode/blob/main/images/shopify_glyph.png?raw=true" alt="logo" width="141" height="160"> <br> Theme Language Server </h1>

48 lines (42 loc) 1.44 kB
import { expect, describe, it, beforeEach } from 'vitest'; import { CompletionsProvider } from '../completions'; import { DocumentManager } from '../documents'; import { MetafieldDefinitionMap } from '@shopify/theme-check-common'; describe('Module: CompletionItemsAssertion', () => { let provider: CompletionsProvider; let documentManager: DocumentManager; beforeEach(async () => { documentManager = new DocumentManager(); provider = new CompletionsProvider({ documentManager, themeDocset: { filters: async () => [], objects: async () => [], liquidDrops: async () => [], tags: async () => [{ name: 'render' }], systemTranslations: async () => ({}), }, getMetafieldDefinitions: async (_rootUri: string) => ({} as MetafieldDefinitionMap), }); }); it('should assert a list of labels', async () => { await expect(provider).to.complete('{% rend', ['render']); }); it('should assert a list of completion items', async () => { await expect(provider).to.complete('{% rend', [ expect.objectContaining({ label: 'render', sortText: 'render', documentation: { kind: 'markdown', value: '### render', }, insertTextFormat: 2, kind: 14, }), ]); }); it('should assert an empty list', async () => { await expect(provider).to.complete('{% something', []); }); });