refactor: remove legacy store.ts and crafting-slice.ts, complete modular store migration
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m18s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m18s
- Delete store.ts (355 LOC monolithic store, zero imports) - Delete crafting-slice.ts (379 LOC legacy crafting module) - Inline createStartingEquipment() into craftingStore.ts - Remove legacy equipment/inventory fields from GameState - Remove EquipmentDef from game.ts imports (unused) - Fix duplicate EquipmentSpellState export in types.ts - Fix bluePrintId typo in craftingStore.ts - Update stores/index.ts to import CraftingState/CraftingActions from craftingStore.types - Update EquipmentTab.test.ts to test store state instead of deleted module - Clean up stale comments referencing crafting-slice.ts - Reduce TS errors from 83 to 72 by removing conflicting legacy types
This commit is contained in:
@@ -83,25 +83,25 @@ describe('Equipment type definitions', () => {
|
||||
// ─── Test: Starting equipment ──────────────────────────────────────────────────
|
||||
|
||||
describe('Starting equipment', () => {
|
||||
it('createStartingEquipment returns valid equippedInstances', async () => {
|
||||
const { createStartingEquipment } = await import('@/lib/game/crafting-slice');
|
||||
const { equippedInstances, equipmentInstances } = createStartingEquipment();
|
||||
it('crafting store initial state has valid equippedInstances', async () => {
|
||||
const { useCraftingStore } = await import('@/lib/game/stores/craftingStore');
|
||||
const state = useCraftingStore.getState();
|
||||
|
||||
expect(equippedInstances.mainHand).toBeTruthy();
|
||||
expect(equippedInstances.body).toBeTruthy();
|
||||
expect(equippedInstances.feet).toBeTruthy();
|
||||
expect(equippedInstances.offHand).toBeNull();
|
||||
expect(equippedInstances.head).toBeNull();
|
||||
expect(equippedInstances.hands).toBeNull();
|
||||
expect(equippedInstances.accessory1).toBeNull();
|
||||
expect(equippedInstances.accessory2).toBeNull();
|
||||
expect(state.equippedInstances.mainHand).toBeTruthy();
|
||||
expect(state.equippedInstances.body).toBeTruthy();
|
||||
expect(state.equippedInstances.feet).toBeTruthy();
|
||||
expect(state.equippedInstances.offHand).toBeNull();
|
||||
expect(state.equippedInstances.head).toBeNull();
|
||||
expect(state.equippedInstances.hands).toBeNull();
|
||||
expect(state.equippedInstances.accessory1).toBeNull();
|
||||
expect(state.equippedInstances.accessory2).toBeNull();
|
||||
|
||||
expect(Object.keys(equipmentInstances).length).toBe(3);
|
||||
expect(Object.keys(state.equipmentInstances).length).toBe(3);
|
||||
});
|
||||
|
||||
it('starting equipment instances have valid fields', async () => {
|
||||
const { createStartingEquipment } = await import('@/lib/game/crafting-slice');
|
||||
const { equipmentInstances } = createStartingEquipment();
|
||||
const { useCraftingStore } = await import('@/lib/game/stores/craftingStore');
|
||||
const { equipmentInstances } = useCraftingStore.getState();
|
||||
|
||||
for (const instance of Object.values(equipmentInstances)) {
|
||||
expect(instance.instanceId).toBeTruthy();
|
||||
|
||||
Reference in New Issue
Block a user