fix: fix tests for PromptEvent refactor
This commit is contained in:
parent
c886e904a8
commit
5f812a3478
|
|
@ -498,8 +498,9 @@ describe('Boop - game flow', () => {
|
|||
const runPromise = ctx.commands.run<{winner: WinnerType}>('turn white');
|
||||
|
||||
const promptEvent1 = await promptPromise;
|
||||
// 没有验证器,tryCommit 返回 null,但游戏逻辑会 continue 并重新 prompt
|
||||
const error1 = promptEvent1.tryCommit({ name: 'play', params: ['black', 2, 2], options: {}, flags: {} });
|
||||
expect(error1).not.toBeNull();
|
||||
expect(error1).toBeNull();
|
||||
|
||||
const promptEvent2 = await waitForPrompt(ctx);
|
||||
expect(promptEvent2).not.toBeNull();
|
||||
|
|
@ -523,7 +524,7 @@ describe('Boop - game flow', () => {
|
|||
|
||||
const promptEvent1 = await promptPromise;
|
||||
const error1 = promptEvent1.tryCommit({ name: 'play', params: ['white', 2, 2], options: {}, flags: {} });
|
||||
expect(error1).not.toBeNull();
|
||||
expect(error1).toBeNull();
|
||||
|
||||
const promptEvent2 = await waitForPrompt(ctx);
|
||||
expect(promptEvent2).not.toBeNull();
|
||||
|
|
@ -549,7 +550,7 @@ describe('Boop - game flow', () => {
|
|||
|
||||
const promptEvent1 = await promptPromise;
|
||||
const error1 = promptEvent1.tryCommit({ name: 'play', params: ['white', 0, 0], options: {}, flags: {} });
|
||||
expect(error1).not.toBeNull();
|
||||
expect(error1).toBeNull();
|
||||
|
||||
const promptEvent2 = await waitForPrompt(ctx);
|
||||
expect(promptEvent2).not.toBeNull();
|
||||
|
|
@ -567,7 +568,8 @@ describe('Boop - game flow', () => {
|
|||
let promptPromise = waitForPrompt(ctx);
|
||||
let runPromise = ctx.commands.run<{winner: WinnerType}>('turn white');
|
||||
let prompt = await promptPromise;
|
||||
prompt.resolve({ name: 'play', params: ['white', 3, 3], options: {}, flags: {} });
|
||||
const error1 = prompt.tryCommit({ name: 'play', params: ['white', 3, 3], options: {}, flags: {} });
|
||||
expect(error1).toBeNull();
|
||||
let result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
expect(getParts(state).length).toBe(1);
|
||||
|
|
@ -575,7 +577,8 @@ describe('Boop - game flow', () => {
|
|||
promptPromise = waitForPrompt(ctx);
|
||||
runPromise = ctx.commands.run<{winner: WinnerType}>('turn black');
|
||||
prompt = await promptPromise;
|
||||
prompt.resolve({ name: 'play', params: ['black', 2, 2], options: {}, flags: {} });
|
||||
const error2 = prompt.tryCommit({ name: 'play', params: ['black', 2, 2], options: {}, flags: {} });
|
||||
expect(error2).toBeNull();
|
||||
result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
expect(getParts(state).length).toBe(2);
|
||||
|
|
@ -616,7 +619,8 @@ describe('Boop - game flow', () => {
|
|||
const runPromise = ctx.commands.run<{winner: WinnerType}>('turn white');
|
||||
|
||||
const promptEvent = await promptPromise;
|
||||
promptEvent.resolve({ name: 'play', params: ['white', 2, 2, 'cat'], options: {}, flags: {} });
|
||||
const error = promptEvent.tryCommit({ name: 'play', params: ['white', 2, 2, 'cat'], options: {}, flags: {} });
|
||||
expect(error).toBeNull();
|
||||
|
||||
const result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
|
|
@ -638,12 +642,13 @@ describe('Boop - game flow', () => {
|
|||
const runPromise = ctx.commands.run<{winner: WinnerType}>('turn white');
|
||||
|
||||
const promptEvent1 = await promptPromise;
|
||||
promptEvent1.resolve({ name: 'play', params: ['white', 0, 0, 'cat'], options: {}, flags: {} });
|
||||
const error1 = promptEvent1.tryCommit({ name: 'play', params: ['white', 0, 0, 'cat'], options: {}, flags: {} });
|
||||
expect(error1).toBeNull();
|
||||
|
||||
const promptEvent2 = await waitForPrompt(ctx);
|
||||
expect(promptEvent2).not.toBeNull();
|
||||
|
||||
promptEvent2.reject(new Error('test end'));
|
||||
promptEvent2.cancel('test end');
|
||||
|
||||
const result = await runPromise;
|
||||
expect(result.success).toBe(false);
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@ describe('TicTacToe - game flow', () => {
|
|||
expect(promptEvent).not.toBeNull();
|
||||
expect(promptEvent.schema.name).toBe('play');
|
||||
|
||||
promptEvent.reject(new Error('test end'));
|
||||
promptEvent.cancel('test end');
|
||||
|
||||
const result = await runPromise;
|
||||
expect(result.success).toBe(false);
|
||||
|
|
@ -223,7 +223,8 @@ describe('TicTacToe - game flow', () => {
|
|||
expect(promptEvent).not.toBeNull();
|
||||
expect(promptEvent.schema.name).toBe('play');
|
||||
|
||||
promptEvent.resolve({ name: 'play', params: ['X', 1, 1], options: {}, flags: {} });
|
||||
const error = promptEvent.tryCommit({ name: 'play', params: ['X', 1, 1], options: {}, flags: {} });
|
||||
expect(error).toBeNull();
|
||||
|
||||
const result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
|
|
@ -239,12 +240,15 @@ describe('TicTacToe - game flow', () => {
|
|||
const runPromise = ctx.commands.run<{winner: WinnerType}>('turn X 1');
|
||||
|
||||
const promptEvent1 = await promptPromise;
|
||||
promptEvent1.resolve({ name: 'play', params: ['O', 1, 1], options: {}, flags: {} });
|
||||
// 没有验证器,tryCommit 返回 null,但游戏逻辑会 continue 并重新 prompt
|
||||
const error1 = promptEvent1.tryCommit({ name: 'play', params: ['O', 1, 1], options: {}, flags: {} });
|
||||
expect(error1).toBeNull();
|
||||
|
||||
const promptEvent2 = await waitForPrompt(ctx);
|
||||
expect(promptEvent2).not.toBeNull();
|
||||
|
||||
promptEvent2.resolve({ name: 'play', params: ['X', 1, 1], options: {}, flags: {} });
|
||||
const error2 = promptEvent2.tryCommit({ name: 'play', params: ['X', 1, 1], options: {}, flags: {} });
|
||||
expect(error2).toBeNull();
|
||||
|
||||
const result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
|
|
@ -261,12 +265,14 @@ describe('TicTacToe - game flow', () => {
|
|||
const runPromise = ctx.commands.run<{winner: WinnerType}>('turn X 1');
|
||||
|
||||
const promptEvent1 = await promptPromise;
|
||||
promptEvent1.resolve({ name: 'play', params: ['X', 1, 1], options: {}, flags: {} });
|
||||
const error1 = promptEvent1.tryCommit({ name: 'play', params: ['X', 1, 1], options: {}, flags: {} });
|
||||
expect(error1).toBeNull();
|
||||
|
||||
const promptEvent2 = await waitForPrompt(ctx);
|
||||
expect(promptEvent2).not.toBeNull();
|
||||
|
||||
promptEvent2.resolve({ name: 'play', params: ['X', 0, 0], options: {}, flags: {} });
|
||||
const error2 = promptEvent2.tryCommit({ name: 'play', params: ['X', 0, 0], options: {}, flags: {} });
|
||||
expect(error2).toBeNull();
|
||||
|
||||
const result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
|
|
@ -279,7 +285,8 @@ describe('TicTacToe - game flow', () => {
|
|||
let promptPromise = waitForPrompt(ctx);
|
||||
let runPromise = ctx.commands.run<{winner: WinnerType}>('turn X 1');
|
||||
let prompt = await promptPromise;
|
||||
prompt.resolve({ name: 'play', params: ['X', 0, 0], options: {}, flags: {} });
|
||||
const error1 = prompt.tryCommit({ name: 'play', params: ['X', 0, 0], options: {}, flags: {} });
|
||||
expect(error1).toBeNull();
|
||||
let result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
if (result.success) expect(result.result.winner).toBeNull();
|
||||
|
|
@ -287,7 +294,8 @@ describe('TicTacToe - game flow', () => {
|
|||
promptPromise = waitForPrompt(ctx);
|
||||
runPromise = ctx.commands.run('turn O 2');
|
||||
prompt = await promptPromise;
|
||||
prompt.resolve({ name: 'play', params: ['O', 0, 1], options: {}, flags: {} });
|
||||
const error2 = prompt.tryCommit({ name: 'play', params: ['O', 0, 1], options: {}, flags: {} });
|
||||
expect(error2).toBeNull();
|
||||
result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
if (result.success) expect(result.result.winner).toBeNull();
|
||||
|
|
@ -295,7 +303,8 @@ describe('TicTacToe - game flow', () => {
|
|||
promptPromise = waitForPrompt(ctx);
|
||||
runPromise = ctx.commands.run('turn X 3');
|
||||
prompt = await promptPromise;
|
||||
prompt.resolve({ name: 'play', params: ['X', 1, 0], options: {}, flags: {} });
|
||||
const error3 = prompt.tryCommit({ name: 'play', params: ['X', 1, 0], options: {}, flags: {} });
|
||||
expect(error3).toBeNull();
|
||||
result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
if (result.success) expect(result.result.winner).toBeNull();
|
||||
|
|
@ -303,7 +312,8 @@ describe('TicTacToe - game flow', () => {
|
|||
promptPromise = waitForPrompt(ctx);
|
||||
runPromise = ctx.commands.run('turn O 4');
|
||||
prompt = await promptPromise;
|
||||
prompt.resolve({ name: 'play', params: ['O', 0, 2], options: {}, flags: {} });
|
||||
const error4 = prompt.tryCommit({ name: 'play', params: ['O', 0, 2], options: {}, flags: {} });
|
||||
expect(error4).toBeNull();
|
||||
result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
if (result.success) expect(result.result.winner).toBeNull();
|
||||
|
|
@ -311,7 +321,8 @@ describe('TicTacToe - game flow', () => {
|
|||
promptPromise = waitForPrompt(ctx);
|
||||
runPromise = ctx.commands.run('turn X 5');
|
||||
prompt = await promptPromise;
|
||||
prompt.resolve({ name: 'play', params: ['X', 2, 0], options: {}, flags: {} });
|
||||
const error5 = prompt.tryCommit({ name: 'play', params: ['X', 2, 0], options: {}, flags: {} });
|
||||
expect(error5).toBeNull();
|
||||
result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
if (result.success) expect(result.result.winner).toBe('X');
|
||||
|
|
@ -341,7 +352,8 @@ describe('TicTacToe - game flow', () => {
|
|||
const promptPromise = waitForPrompt(ctx);
|
||||
const runPromise = ctx.commands.run<{winner: WinnerType}>('turn X 9');
|
||||
const prompt = await promptPromise;
|
||||
prompt.resolve({ name: 'play', params: ['X', 1, 1], options: {}, flags: {} });
|
||||
const error = prompt.tryCommit({ name: 'play', params: ['X', 1, 1], options: {}, flags: {} });
|
||||
expect(error).toBeNull();
|
||||
const result = await runPromise;
|
||||
expect(result.success).toBe(true);
|
||||
if (result.success) expect(result.result.winner).toBe('draw');
|
||||
|
|
|
|||
Loading…
Reference in New Issue