config: packages,metadata,json (4 files)

This commit is contained in:
Richard Ward
2025-12-30 13:10:27 +00:00
parent 53224a8294
commit 83691f4bbf
4 changed files with 89 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
-- Arcade Lobby functionality tests
-- Uses lua_test framework with parameterized test cases
describe("Matchmaking", function()
local cases = load_cases("arcade.cases.json")
local matchmaking = require("matchmaking")
describe("assign_bucket", function()
it_each(cases.matchmaking.assign_bucket, "$desc", function(tc)
local party = { size = tc.party_size }
local bucket = matchmaking.assign_bucket(party)
expect(bucket).toBe(tc.expected)
end)
it("returns solo for empty party table", function()
local bucket = matchmaking.assign_bucket({})
expect(bucket).toBe("solo")
end)
end)
end)
describe("Permissions", function()
local cases = load_cases("arcade.cases.json")
local permissions = require("permissions")
describe("can_create_tournament", function()
it_each(cases.permissions.can_create_tournament, "$desc", function(tc)
local user = { role = tc.role }
local result = permissions.can_create_tournament(user)
expect(result).toBe(tc.expected)
end)
it("returns false for unknown role", function()
local user = { role = "moderator" }
local result = permissions.can_create_tournament(user)
expect(result).toBe(false)
end)
end)
end)
describe("Queue Metrics", function()
local cases = load_cases("arcade.cases.json")
local queue_metrics = require("queue_metrics")
describe("summarize", function()
it_each(cases.queue_metrics.summarize, "$desc", function(tc)
local result = queue_metrics.summarize(tc.queues)
expect(result.totalPlayers).toBe(tc.expected_players)
expect(result.longestWaitSeconds).toBe(tc.expected_wait)
end)
it("returns correct structure", function()
local result = queue_metrics.summarize({
{ players = 5, waitSeconds = 10 }
})
expect(result.totalPlayers).toBeTruthy()
expect(result.longestWaitSeconds).toBeTruthy()
end)
end)
end)

View File

@@ -25,6 +25,14 @@
"formatting"
]
},
"tests": {
"scripts": [
"tests/metadata.test.lua",
"tests/components.test.lua",
"tests/stats.test.lua"
],
"cases": []
},
"minLevel": 3,
"bindings": {
"dbal": true,

View File

@@ -23,5 +23,12 @@
"ThemeEditor"
]
},
"tests": {
"scripts": [
"tests/metadata.test.lua",
"tests/components.test.lua"
],
"cases": []
},
"minLevel": 5
}

View File

@@ -21,5 +21,19 @@
"cli"
]
},
"tests": {
"scripts": [
"tests/metadata.test.lua",
"tests/component.test.lua",
"tests/validate.test.lua",
"tests/lua_validator.test.lua",
"tests/structure_validator.test.lua",
"tests/devdependencies.test.lua",
"tests/parameterized.test.lua"
],
"cases": [
"tests/cases.json"
]
},
"minLevel": 5
}