AbdulElahGwaith's picture
Upload folder using huggingface_hub
88df9e4 verified
import { afterAll, beforeAll, describe, expect, test } from 'vitest'
import Page from '@/frame/lib/page'
import languages from '@/languages/lib/languages-server'
import nonEnterpriseDefaultVersion from '@/versions/lib/non-enterprise-default-version'
import { DataDirectory } from '@/tests/helpers/data-directory'
describe('data tag', () => {
// Using 'any' type as DataDirectory is from data-directory.ts which lacks type definitions
let dd: any
const enDirBefore = languages.en.dir
beforeAll(() => {
dd = new DataDirectory({
data: {
variables: {
stuff: {
foo: 'Foo',
},
},
ui: {
alerts: {},
},
},
})
languages.en.dir = dd.root
})
afterAll(() => {
if (dd) dd.destroy()
languages.en.dir = enDirBefore
})
test('should render fine if data is found', async () => {
const page = await Page.init({
relativePath: 'liquid-tags/good-data-variable.md',
basePath: './src/fixtures/fixtures',
languageCode: 'en',
})
const context = {
currentVersion: nonEnterpriseDefaultVersion,
currentLanguage: 'en',
currentPath: '/en/liquid-tags/good-data-variable',
}
const rendered = await page!.render(context)
// The test fixture contains:
// {% data variables.stuff.foo %}
// which we control the value of here in the test.
expect(rendered.includes('Foo')).toBeTruthy()
})
test('should throw if the data tag is used with something unrecognized', async () => {
const page = await Page.init({
relativePath: 'liquid-tags/bad-data-variable.md',
basePath: './src/fixtures/fixtures',
languageCode: 'en',
})
const context = {
currentPath: '/en/liquid-tags/bad-data-variable',
currentLanguage: 'en',
}
await expect(page!.render(context)).rejects.toThrow(
"Can't find the key 'foo.bar.tipu' in the scope., line:2, col:1",
)
})
})