feat : update
This commit is contained in:
@@ -25,9 +25,9 @@ vi.mock("@/db", () => ({
|
||||
}));
|
||||
|
||||
import {
|
||||
artifactConditions, constellationConditions, extraSectionRows,
|
||||
artifactConditions, artifactProfiles, constellationConditions, extraSectionRows,
|
||||
guides, guideSections, teamConditions, weaponConditions,
|
||||
catalogMaterials, guidePosterBleeding,
|
||||
catalogMaterials, guidePosterBleeding, media,
|
||||
} from "@/db/schema";
|
||||
import { getAdminGuideContent } from "./queries";
|
||||
|
||||
@@ -78,4 +78,27 @@ describe("admin section reads", () => {
|
||||
}
|
||||
expect(result?.extras).toHaveLength(2);
|
||||
});
|
||||
|
||||
it("resolves condition icons from one batched media read", async () => {
|
||||
const iconMediaId = "550e8400-e29b-41d4-a716-446655440000";
|
||||
mocks.rows.set(weaponConditions, [{ id: "weapon-condition", iconMediaId }]);
|
||||
mocks.rows.set(artifactConditions, [{ id: "artifact-condition", iconMediaId }]);
|
||||
mocks.rows.set(constellationConditions, [{ id: "constellation-condition", iconMediaId }]);
|
||||
mocks.rows.set(teamConditions, [{ id: "team-condition", iconMediaId }]);
|
||||
mocks.rows.set(artifactProfiles, [{
|
||||
sands: [], goblet: [], circlet: [], substats: [], targets: [],
|
||||
recommendedConditions: [{ name: "Recommended", note: null, iconMediaId, sands: [], goblet: [], circlet: [], substats: [] }],
|
||||
targetConditions: [{ name: "Target", note: null, iconMediaId, rows: [] }],
|
||||
}]);
|
||||
mocks.rows.set(media, [{ id: iconMediaId, objectKey: "condition-icon.png" }]);
|
||||
|
||||
const result = await getAdminGuideContent("test");
|
||||
expect(result?.weaponGroups[0].iconUrl).toBe("/media/condition-icon.png");
|
||||
expect(result?.artifactGroups[0].iconUrl).toBe("/media/condition-icon.png");
|
||||
expect(result?.constellationGroups[0].iconUrl).toBe("/media/condition-icon.png");
|
||||
expect(result?.teamGroups[0].iconUrl).toBe("/media/condition-icon.png");
|
||||
expect(result?.artifactProfile?.recommendedConditions[0].iconUrl).toBe("/media/condition-icon.png");
|
||||
expect(result?.artifactProfile?.targetConditions[0].iconUrl).toBe("/media/condition-icon.png");
|
||||
expect(mocks.reads.filter((table) => table === media)).toHaveLength(1);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user