From b6700ffcdd0a910795def064d88dc5937e76f21e Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Mon, 21 Sep 2026 20:35:02 +0200 Subject: [PATCH] Check pre conditions whenever tutorial resume is called --- packages/lib-tutorial/src/TutorialImpl.ts | 5 +++-- .../src/suite/tutorial/tutorial.vscode.test.ts | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/lib-tutorial/src/TutorialImpl.ts b/packages/lib-tutorial/src/TutorialImpl.ts index d78cf24b05..c7448f26c9 100644 --- a/packages/lib-tutorial/src/TutorialImpl.ts +++ b/packages/lib-tutorial/src/TutorialImpl.ts @@ -276,8 +276,9 @@ export class TutorialImpl implements Tutorial, CommandRunnerDecorator { return this.changeStep(() => 0); } - resume() { - return this.setupStep(); + async resume() { + await this.setupStep(); + await this.checkPreconditions(); } async list() { diff --git a/packages/test-vscode-e2e/src/suite/tutorial/tutorial.vscode.test.ts b/packages/test-vscode-e2e/src/suite/tutorial/tutorial.vscode.test.ts index c223e2de18..8d0f474a9a 100644 --- a/packages/test-vscode-e2e/src/suite/tutorial/tutorial.vscode.test.ts +++ b/packages/test-vscode-e2e/src/suite/tutorial/tutorial.vscode.test.ts @@ -154,6 +154,9 @@ async function runBasicTutorialTest(spyIde: SpyIDE) { // Test resuming tutorial await commands.executeCommand("cursorless.tutorial.resume"); await checkStepSetup(fixtures[0]); + const resumedStateEvent = getTutorialWebviewEventLog().at(-2); + assert.ok(resumedStateEvent?.type === "messageSent"); + assert.equal(resumedStateEvent.data.preConditionsMet, true); // Test automatic advancing await runCursorlessCommand({