Hard-code scenarios path in development

The scenarios path can still be overridden by setting the config setting.
This commit is contained in:
Koen Vlaswinkel
2022-10-21 11:18:55 +02:00
parent cff56b7e7b
commit 22f28fa6ff
2 changed files with 17 additions and 7 deletions

View File

@@ -1191,7 +1191,7 @@ async function activateWithInstalledDistribution(
)
);
const mockServer = new MockGitHubApiServer();
const mockServer = new MockGitHubApiServer(ctx);
ctx.subscriptions.push(mockServer);
ctx.subscriptions.push(
commandRunner(

View File

@@ -1,10 +1,11 @@
import { MockGitHubApiConfigListener } from '../config';
import * as fs from 'fs-extra';
import { commands, env, ExtensionContext, ExtensionMode, Uri, window } from 'vscode';
import { setupServer, SetupServerApi } from 'msw/node';
import { Recorder } from './recorder';
import { commands, env, Uri, window } from 'vscode';
import { getMockGitHubApiServerScenariosPath, MockGitHubApiConfigListener } from '../config';
import { DisposableObject } from '../pure/disposable-object';
import { getMockGitHubApiServerScenariosPath } from '../config';
import { Recorder } from './recorder';
/**
* Enables mocking of the GitHub API server via HTTP interception, using msw.
@@ -16,7 +17,9 @@ export class MockGitHubApiServer extends DisposableObject {
private readonly server: SetupServerApi;
private readonly recorder: Recorder;
constructor() {
constructor(
private readonly ctx: ExtensionContext,
) {
super();
this.isListening = false;
this.config = new MockGitHubApiConfigListener();
@@ -127,6 +130,13 @@ export class MockGitHubApiServer extends DisposableObject {
return scenariosPath;
}
if (this.ctx.extensionMode === ExtensionMode.Development) {
const developmentScenariosPath = Uri.joinPath(this.ctx.extensionUri, 'src/mocks/scenarios').toString();
if (await fs.pathExists(developmentScenariosPath)) {
return developmentScenariosPath;
}
}
const directories = await window.showOpenDialog({
canSelectFolders: true,
canSelectFiles: false,