Rework story engine flow and reorganize project docs
Some checks failed
CI / verify (push) Has been cancelled
Some checks failed
CI / verify (push) Has been cancelled
This commit is contained in:
29
src/services/storyEngine/campaignDirector.test.ts
Normal file
29
src/services/storyEngine/campaignDirector.test.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
import { advanceCampaignState, resolveCampaignState } from './campaignDirector';
|
||||
|
||||
describe('campaignDirector', () => {
|
||||
it('resolves and advances campaign state', () => {
|
||||
const campaign = resolveCampaignState({
|
||||
state: {
|
||||
customWorldProfile: { name: '裂潮边城' },
|
||||
} as never,
|
||||
actState: {
|
||||
id: 'act-2',
|
||||
title: '第二幕·扩张',
|
||||
actIndex: 1,
|
||||
theme: '冲突升级',
|
||||
primaryThreadIds: ['thread-1'],
|
||||
status: 'midgame',
|
||||
},
|
||||
});
|
||||
|
||||
expect(campaign.currentActIndex).toBe(1);
|
||||
expect(
|
||||
advanceCampaignState({
|
||||
previous: campaign,
|
||||
next: campaign,
|
||||
}).id,
|
||||
).toBe(campaign.id);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user