1- import { MockGitHubApiConfigListener } from '../config ' ;
2-
1+ import * as fs from 'fs-extra ' ;
2+ import { commands , env , ExtensionContext , ExtensionMode , Uri , window } from 'vscode' ;
33import { setupServer , SetupServerApi } from 'msw/node' ;
4- import { Recorder } from './recorder' ;
5- import { commands , env , Uri , window } from 'vscode ' ;
4+
5+ import { getMockGitHubApiServerScenariosPath , MockGitHubApiConfigListener } from '../config ' ;
66import { DisposableObject } from '../pure/disposable-object' ;
7- import { getMockGitHubApiServerScenariosPath } from '../config' ;
7+
8+ import { Recorder } from './recorder' ;
89
910/**
1011 * Enables mocking of the GitHub API server via HTTP interception, using msw.
@@ -16,7 +17,9 @@ export class MockGitHubApiServer extends DisposableObject {
1617 private readonly server : SetupServerApi ;
1718 private readonly recorder : Recorder ;
1819
19- constructor ( ) {
20+ constructor (
21+ private readonly ctx : ExtensionContext ,
22+ ) {
2023 super ( ) ;
2124 this . isListening = false ;
2225 this . config = new MockGitHubApiConfigListener ( ) ;
@@ -127,6 +130,13 @@ export class MockGitHubApiServer extends DisposableObject {
127130 return scenariosPath ;
128131 }
129132
133+ if ( this . ctx . extensionMode === ExtensionMode . Development ) {
134+ const developmentScenariosPath = Uri . joinPath ( this . ctx . extensionUri , 'src/mocks/scenarios' ) . toString ( ) ;
135+ if ( await fs . pathExists ( developmentScenariosPath ) ) {
136+ return developmentScenariosPath ;
137+ }
138+ }
139+
130140 const directories = await window . showOpenDialog ( {
131141 canSelectFolders : true ,
132142 canSelectFiles : false ,
0 commit comments