AbdulElahGwaith's picture
Upload folder using huggingface_hub
88df9e4 verified
import { afterAll, beforeAll, describe, expect, test } from 'vitest'
import { runRule } from '../../lib/init-test'
import { raiReusableUsage } from '../../lib/linting-rules/rai-reusable-usage'
describe(raiReusableUsage.names.join(' - '), () => {
const envVarValueBefore = process.env.ROOT
beforeAll(() => {
process.env.ROOT = 'src/fixtures/fixtures'
})
afterAll(() => {
process.env.ROOT = envVarValueBefore
})
test('a non-RAI content article referencing non-RAI data succeeds', async () => {
const markdown = [
'---',
'title: article',
'---',
'',
'{% data reusables.injectables.multiple_numbers %}',
].join('\n')
const result = await runRule(raiReusableUsage, {
strings: { markdown },
})
const errors = result.markdown
expect(errors.length).toBe(0)
})
test('an RAI content article referencing non-RAI data fails', async () => {
const markdown = [
'---',
'title: article',
'type: rai',
'---',
'',
'{% data reusables.injectables.multiple_numbers %}',
].join('\n')
const result = await runRule(raiReusableUsage, {
strings: { markdown },
})
const errors = result.markdown
expect(errors.length).toBe(1)
expect(errors[0].lineNumber).toBe(6)
expect(errors[0].errorRange).toEqual([1, 49])
})
test('an RAI content article referencing RAI data succeeds', async () => {
const markdown = [
'---',
'title: article',
'type: rai',
'---',
'',
'{% data reusables.rai.note %}',
].join('\n')
const result = await runRule(raiReusableUsage, {
strings: { markdown },
})
const errors = result.markdown
expect(errors.length).toBe(0)
})
test('a non-RAI data file referencing non-RAI data succeeds', async () => {
const TEST_FILE = 'src/fixtures/fixtures/data/reusables/nested_reusables/nested.md'
const result = await runRule(raiReusableUsage, {
files: [TEST_FILE],
})
const errors = result[TEST_FILE]
expect(errors.length).toBe(0)
})
test('an RAI data file referencing RAI data succeeds', async () => {
const TEST_FILE = 'src/fixtures/fixtures/data/reusables/rai/referencing_rai_data.md'
const result = await runRule(raiReusableUsage, {
files: [TEST_FILE],
})
const errors = result[TEST_FILE]
expect(errors.length).toBe(0)
})
test('an RAI data file referencing non-RAI data fails', async () => {
const TEST_FILE = 'src/fixtures/fixtures/data/reusables/rai/not_referencing_this_directory.md'
const result = await runRule(raiReusableUsage, {
files: [TEST_FILE],
})
const errors = result[TEST_FILE]
expect(errors.length).toBe(1)
expect(errors[0].lineNumber).toBe(3)
expect(errors[0].errorRange).toEqual([1, 41])
})
test('an RAI data file referencing data variables succeeds', async () => {
const TEST_FILE = 'src/fixtures/fixtures/data/reusables/rai/referencing_variable.md'
const result = await runRule(raiReusableUsage, {
files: [TEST_FILE],
})
const errors = result[TEST_FILE]
expect(errors.length).toBe(0)
})
})