Files
metabuilder/packages/package_validator/seed/scripts/tests/parameterized.test.lua

58 lines
1.8 KiB
Lua

-- Parameterized tests using cases.json
local metadata_schema = require("metadata_schema")
local component_schema = require("component_schema")
describe("Parameterized Metadata Validation", function()
local cases = load_cases("cases.json")
-- Test valid metadata cases
describe("Valid Metadata Cases", function()
for _, case in ipairs(cases.valid_metadata_cases) do
it("should pass: " .. case.name, function()
local valid, errors = metadata_schema.validate_metadata(case.data)
expect(valid).toBe(case.expected)
if case.expected then
expect(#errors).toBe(0)
end
end)
end
end)
-- Test invalid metadata cases
describe("Invalid Metadata Cases", function()
for _, case in ipairs(cases.invalid_metadata_cases) do
it("should fail: " .. case.name, function()
local valid, errors = metadata_schema.validate_metadata(case.data)
expect(valid).toBe(case.expected)
if not case.expected then
expect(#errors).toBeGreaterThan(0)
end
end)
end
end)
end)
describe("Parameterized Component Validation", function()
local cases = load_cases("cases.json")
-- Test valid component cases
describe("Valid Component Cases", function()
for _, case in ipairs(cases.valid_component_cases) do
it("should pass: " .. case.name, function()
local errors = component_schema.validate_component(case.data)
expect(#errors).toBe(0)
end)
end
end)
-- Test invalid component cases
describe("Invalid Component Cases", function()
for _, case in ipairs(cases.invalid_component_cases) do
it("should fail: " .. case.name, function()
local errors = component_schema.validate_component(case.data)
expect(#errors).toBeGreaterThan(0)
end)
end
end)
end)