mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 14:25:02 +00:00
61 lines
1.9 KiB
Lua
61 lines
1.9 KiB
Lua
-- Stats module tests
|
|
-- Uses lua_test framework with parameterized test cases
|
|
|
|
describe("Stats Module", function()
|
|
local cases = load_cases("stats.cases.json")
|
|
local stats = require("stats")
|
|
|
|
describe("formatLabel", function()
|
|
it_each(cases.formatLabel, "$desc", function(tc)
|
|
local result = stats.formatLabel(tc.input)
|
|
expect(result).toBe(tc.expected)
|
|
end)
|
|
end)
|
|
|
|
describe("formatValue", function()
|
|
it_each(cases.formatValue, "$desc", function(tc)
|
|
local result = stats.formatValue(tc.input)
|
|
expect(result).toBe(tc.expected)
|
|
end)
|
|
end)
|
|
|
|
describe("createStatItems", function()
|
|
it("creates items from stats data without config", function()
|
|
local result = stats.createStatItems({ total = 100, errors = 5 }, nil)
|
|
expect(#result).toBeGreaterThan(0)
|
|
end)
|
|
|
|
it("creates items from stats data with config", function()
|
|
local config = {
|
|
{ key = "total", label = "Total", color = "white" },
|
|
{ key = "errors", label = "Errors", color = "red" }
|
|
}
|
|
local result = stats.createStatItems({ total = 100, errors = 5 }, config)
|
|
expect(#result).toBe(2)
|
|
expect(result[1].key).toBe("total")
|
|
expect(result[1].label).toBe("Total")
|
|
expect(result[1].value).toBe(100)
|
|
end)
|
|
end)
|
|
|
|
describe("getColorClass", function()
|
|
it("returns correct color class for valid colors", function()
|
|
local redClass = stats.getColorClass("red")
|
|
expect(redClass).toBe("text-red-400")
|
|
end)
|
|
|
|
it("returns default for invalid colors", function()
|
|
local defaultClass = stats.getColorClass("invalid")
|
|
expect(defaultClass).toBeDefined()
|
|
end)
|
|
end)
|
|
|
|
describe("getDefaultGridClass", function()
|
|
it("returns default grid class", function()
|
|
local gridClass = stats.getDefaultGridClass()
|
|
expect(gridClass).toBeDefined()
|
|
expect(type(gridClass)).toBe("string")
|
|
end)
|
|
end)
|
|
end)
|