Files
metabuilder/dbal/ts/tests/core/validation/validate-lua-script-update.test.ts

20 lines
907 B
TypeScript

import { describe, expect, it } from 'vitest'
import { validateLuaScriptUpdate } from '../../../src/core/validation/validate-lua-script-update'
describe('validateLuaScriptUpdate', () => {
it.each([
{ data: { timeoutMs: 100 }, expected: [] },
{ data: { allowedGlobals: ['math', 'string'] }, expected: [] },
])('returns $expected for valid case', ({ data, expected }) => {
expect(validateLuaScriptUpdate(data)).toEqual(expected)
})
it.each([
{ data: { timeoutMs: 10 }, message: 'timeoutMs must be an integer between 100 and 30000' },
{ data: { allowedGlobals: ['ok', 1 as unknown as string] }, message: 'allowedGlobals must contain non-empty strings' },
{ data: { isSandboxed: 'yes' as unknown as boolean }, message: 'isSandboxed must be a boolean' },
])('rejects invalid case', ({ data, message }) => {
expect(validateLuaScriptUpdate(data)).toContain(message)
})
})