a4ee6ff698
按生成状态判定小游戏生成页是否仍在生成中 补充敲木鱼生成中草稿恢复回归测试 记录小游戏生成页恢复 busy 判定踩坑
60 lines
2.0 KiB
TypeScript
60 lines
2.0 KiB
TypeScript
import { describe, expect, test } from 'vitest';
|
|
|
|
import {
|
|
resolveMiniGameGenerationViewBusy,
|
|
resolveMiniGameGenerationProgressTickState,
|
|
} from './PlatformEntryFlowShellImpl';
|
|
import { createMiniGameDraftGenerationState } from '../../services/miniGameDraftGenerationProgress';
|
|
import { resolveFinishedMiniGameDraftGenerationState } from './platformMiniGameDraftGenerationStateModel';
|
|
|
|
describe('resolveMiniGameGenerationProgressTickState', () => {
|
|
test('returns jump hop and wooden fish generation states for progress ticking', () => {
|
|
const jumpHopState = createMiniGameDraftGenerationState('jump-hop');
|
|
const woodenFishState = createMiniGameDraftGenerationState('wooden-fish');
|
|
|
|
expect(
|
|
resolveMiniGameGenerationProgressTickState('jump-hop-generating', {
|
|
'jump-hop': jumpHopState,
|
|
}),
|
|
).toBe(jumpHopState);
|
|
expect(
|
|
resolveMiniGameGenerationProgressTickState('wooden-fish-generating', {
|
|
'wooden-fish': woodenFishState,
|
|
}),
|
|
).toBe(woodenFishState);
|
|
});
|
|
|
|
test('returns null when the stage does not need generation ticking', () => {
|
|
expect(
|
|
resolveMiniGameGenerationProgressTickState('platform', {
|
|
'jump-hop': createMiniGameDraftGenerationState('jump-hop'),
|
|
}),
|
|
).toBeNull();
|
|
});
|
|
});
|
|
|
|
describe('resolveMiniGameGenerationViewBusy', () => {
|
|
test('敲木鱼恢复生成中草稿时继续隐藏重新生成按钮', () => {
|
|
const woodenFishGeneratingState =
|
|
createMiniGameDraftGenerationState('wooden-fish');
|
|
|
|
expect(
|
|
resolveMiniGameGenerationViewBusy(false, woodenFishGeneratingState),
|
|
).toBe(true);
|
|
});
|
|
|
|
test('生成态结束后只保留真实 busy', () => {
|
|
const woodenFishReadyState = resolveFinishedMiniGameDraftGenerationState(
|
|
createMiniGameDraftGenerationState('wooden-fish'),
|
|
'ready',
|
|
);
|
|
|
|
expect(resolveMiniGameGenerationViewBusy(false, woodenFishReadyState)).toBe(
|
|
false,
|
|
);
|
|
expect(resolveMiniGameGenerationViewBusy(true, woodenFishReadyState)).toBe(
|
|
true,
|
|
);
|
|
});
|
|
});
|