mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 14:25:02 +00:00
58 lines
1.8 KiB
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)
|