mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
docs: update progress - 266+ icons, 8+ packages with tests
MUI_ELIMINATION_PLAN.md: - Session 5 progress: 12 new icons + 4 packages with tests - Updated icon count: 266+ (far exceeds 100+ target) - Test coverage: forum_forge, irc_webchat, arcade_lobby, notification_center FAKEMUI_STRATEGY.md: - Updated icon count: 266+ icons (from 70+) - Marked Phase 3 target as ACHIEVED
This commit is contained in:
@@ -65,8 +65,8 @@ Total: ~150 components, ~80 SCSS files
|
||||
- Zero runtime dependencies
|
||||
- Full TypeScript support
|
||||
|
||||
**Current Icons:** 70+ ✅ Major expansion complete!
|
||||
**Target Phase 3:** 100+ (add as needed)
|
||||
**Current Icons:** 266+ ✅✅ Far exceeds target!
|
||||
**Target Phase 3:** 100+ ✅ ACHIEVED
|
||||
|
||||
**See:** [fakemui/icons/README.md](fakemui/icons/README.md)
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
-- Matchmaking tests for arcade_lobby package
|
||||
-- Tests assign_bucket function with various party sizes
|
||||
|
||||
local matchmaking = require("matchmaking")
|
||||
|
||||
describe("Matchmaking", function()
|
||||
describe("assign_bucket", function()
|
||||
it.each({
|
||||
{ party = { size = 1 }, expected = "solo", desc = "solo player" },
|
||||
{ party = { size = 2 }, expected = "duo", desc = "duo party" },
|
||||
{ party = { size = 3 }, expected = "solo", desc = "trio falls to solo" },
|
||||
{ party = { size = 4 }, expected = "squad", desc = "full squad" },
|
||||
{ party = { size = 5 }, expected = "squad", desc = "oversized party" },
|
||||
{ party = {}, expected = "solo", desc = "missing size defaults to solo" },
|
||||
})("should return $expected for $desc", function(testCase)
|
||||
local result = matchmaking.assign_bucket(testCase.party)
|
||||
expect(result).toBe(testCase.expected)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,19 @@
|
||||
-- Permissions tests for arcade_lobby package
|
||||
-- Tests can_create_tournament function with various roles
|
||||
|
||||
local permissions = require("permissions")
|
||||
|
||||
describe("Permissions", function()
|
||||
describe("can_create_tournament", function()
|
||||
it.each({
|
||||
{ user = { role = "public" }, expected = false, desc = "public user" },
|
||||
{ user = { role = "admin" }, expected = true, desc = "admin" },
|
||||
{ user = { role = "god" }, expected = true, desc = "god" },
|
||||
{ user = { role = "supergod" }, expected = true, desc = "supergod" },
|
||||
{ user = {}, expected = false, desc = "no role defaults to public" },
|
||||
})("should return $expected for $desc", function(testCase)
|
||||
local result = permissions.can_create_tournament(testCase.user)
|
||||
expect(result).toBe(testCase.expected)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,39 @@
|
||||
-- Queue metrics tests for arcade_lobby package
|
||||
-- Tests summarize function with various queue states
|
||||
|
||||
local queue_metrics = require("queue_metrics")
|
||||
|
||||
describe("Queue Metrics", function()
|
||||
describe("summarize", function()
|
||||
it.each({
|
||||
{
|
||||
queues = {},
|
||||
expected = { totalPlayers = 0, longestWaitSeconds = 0 },
|
||||
desc = "empty queues"
|
||||
},
|
||||
{
|
||||
queues = { { players = 10, waitSeconds = 30 } },
|
||||
expected = { totalPlayers = 10, longestWaitSeconds = 30 },
|
||||
desc = "single queue"
|
||||
},
|
||||
{
|
||||
queues = {
|
||||
{ players = 5, waitSeconds = 20 },
|
||||
{ players = 15, waitSeconds = 60 },
|
||||
{ players = 8, waitSeconds = 45 }
|
||||
},
|
||||
expected = { totalPlayers = 28, longestWaitSeconds = 60 },
|
||||
desc = "multiple queues"
|
||||
},
|
||||
{
|
||||
queues = { {}, { players = 10 }, { waitSeconds = 100 } },
|
||||
expected = { totalPlayers = 10, longestWaitSeconds = 100 },
|
||||
desc = "queues with missing fields"
|
||||
},
|
||||
})("should calculate $desc correctly", function(testCase)
|
||||
local result = queue_metrics.summarize(testCase.queues)
|
||||
expect(result.totalPlayers).toBe(testCase.expected.totalPlayers)
|
||||
expect(result.longestWaitSeconds).toBe(testCase.expected.longestWaitSeconds)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
Reference in New Issue
Block a user