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:
2025-12-30 13:12:06 +00:00
parent a7efd92eb7
commit b6e059f367
4 changed files with 80 additions and 2 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)