feat(api): include skill gaps in dashboard detail

This commit is contained in:
2026-03-31 23:46:07 +02:00
parent 2de5a0eede
commit f2d511ebc8
5 changed files with 115 additions and 2 deletions
@@ -9,6 +9,7 @@ import {
getDashboardOverview,
getDashboardPeakTimes,
getDashboardProjectHealth,
getDashboardSkillGapSummary,
getDashboardTopValueResources,
} from "./assistant-tools-dashboard-test-helpers.js";
@@ -209,6 +210,21 @@ describe("assistant dashboard tools detail aggregation", () => {
},
},
]);
vi.mocked(getDashboardSkillGapSummary).mockResolvedValue({
roleGaps: [
{ role: "Pipeline TD", needed: 4, filled: 1, gap: 3, fillRate: 25 },
{ role: "Lighting TD", needed: 2, filled: 1, gap: 1, fillRate: 50 },
],
totalOpenPositions: 4,
skillSupplyTop10: [
{ skill: "houdini", resourceCount: 5 },
{ skill: "nuke", resourceCount: 4 },
],
resourcesByRole: [
{ role: "Compositor", count: 6 },
{ role: "Pipeline TD", count: 2 },
],
});
const ctx = createToolContext(
{
@@ -384,6 +400,21 @@ describe("assistant dashboard tools detail aggregation", () => {
},
},
],
skillGaps: {
totalOpenPositions: 4,
roleGaps: [
{ role: "Pipeline TD", gap: 3, needed: 4, filled: 1, fillRate: 25 },
{ role: "Lighting TD", gap: 1, needed: 2, filled: 1, fillRate: 50 },
],
topSkillsInSupply: [
{ skill: "houdini", resourceCount: 5 },
{ skill: "nuke", resourceCount: 4 },
],
resourcesByRole: [
{ role: "Compositor", count: 6 },
{ role: "Pipeline TD", count: 2 },
],
},
});
});
});