Add reserve drill assignment API
This commit is contained in:
@@ -36,6 +36,7 @@ try {
|
||||
normalizeCampaignSortieItemAssignments,
|
||||
resetCampaignState,
|
||||
setCampaignState,
|
||||
setCampaignReserveTrainingAssignment,
|
||||
setFirstBattleReport
|
||||
} = await server.ssrLoadModule('/src/game/state/campaignState.ts');
|
||||
const { battleScenarios } = await server.ssrLoadModule('/src/game/data/battles.ts');
|
||||
@@ -134,6 +135,26 @@ try {
|
||||
cappedReserveDrills['unit-96'] === undefined,
|
||||
`Expected reserve drill assignments without a roster filter to stay capped: ${JSON.stringify(cappedReserveDrills)}`
|
||||
);
|
||||
storage.clear();
|
||||
storage.set(
|
||||
campaignStorageKey,
|
||||
JSON.stringify({
|
||||
version: 1,
|
||||
updatedAt: '2026-07-03T11:30:00.000Z',
|
||||
step: 'third-camp',
|
||||
roster: [{ id: 'liu-bei', name: 'Liu Bei', faction: 'ally' }]
|
||||
})
|
||||
);
|
||||
loadCampaignState();
|
||||
const assignedReserveDrill = setCampaignReserveTrainingAssignment(' liu-bei ', 'class-practice');
|
||||
const ignoredReserveDrill = setCampaignReserveTrainingAssignment('ghost-unit', 'bond-practice');
|
||||
const clearedReserveDrill = setCampaignReserveTrainingAssignment('liu-bei');
|
||||
assert(
|
||||
assignedReserveDrill.reserveTrainingAssignments['liu-bei'] === 'class-practice' &&
|
||||
ignoredReserveDrill.reserveTrainingAssignments['ghost-unit'] === undefined &&
|
||||
clearedReserveDrill.reserveTrainingAssignments['liu-bei'] === undefined,
|
||||
`Expected reserve drill assignment API to trim, filter, and clear per-officer focus ids: ${JSON.stringify({ assignedReserveDrill, ignoredReserveDrill, clearedReserveDrill })}`
|
||||
);
|
||||
|
||||
resetCampaignState();
|
||||
const firstScenario = battleScenarios['first-battle-zhuo-commandery'];
|
||||
|
||||
Reference in New Issue
Block a user