@@ -92,7 +92,7 @@ suite('Interpreter Path Service', async () => {
92
92
test ( 'If the one-off transfer to new storage has not happened yet for the workspace folder, do it and record the transfer' , async ( ) => {
93
93
const update = sinon . stub ( InterpreterPathService . prototype , 'update' ) ;
94
94
const persistentState = TypeMoq . Mock . ofType < IPersistentState < string [ ] > > ( ) ;
95
- workspaceService . setup ( ( w ) => w . getWorkspaceFolderIdentifier ( resource ) ) . returns ( ( ) => resource . fsPath ) ;
95
+ workspaceService . setup ( ( w ) => w . getWorkspaceFolderIdentifier ( resource , '' ) ) . returns ( ( ) => resource . fsPath ) ;
96
96
persistentStateFactory
97
97
. setup ( ( p ) => p . createGlobalPersistentState < string [ ] > ( workspaceFolderKeysForWhichTheCopyIsDone_Key , [ ] ) )
98
98
. returns ( ( ) => persistentState . object ) ;
@@ -112,7 +112,7 @@ suite('Interpreter Path Service', async () => {
112
112
test ( 'If the one-off transfer to new storage has already happened for the workspace folder, do not update and simply return' , async ( ) => {
113
113
const update = sinon . stub ( InterpreterPathService . prototype , 'update' ) ;
114
114
const persistentState = TypeMoq . Mock . ofType < IPersistentState < string [ ] > > ( ) ;
115
- workspaceService . setup ( ( w ) => w . getWorkspaceFolderIdentifier ( resource ) ) . returns ( ( ) => resource . fsPath ) ;
115
+ workspaceService . setup ( ( w ) => w . getWorkspaceFolderIdentifier ( resource , '' ) ) . returns ( ( ) => resource . fsPath ) ;
116
116
persistentStateFactory
117
117
. setup ( ( p ) => p . createGlobalPersistentState < string [ ] > ( workspaceFolderKeysForWhichTheCopyIsDone_Key , [ ] ) )
118
118
. returns ( ( ) => persistentState . object ) ;
@@ -126,6 +126,23 @@ suite('Interpreter Path Service', async () => {
126
126
persistentState . verifyAll ( ) ;
127
127
} ) ;
128
128
129
+ test ( 'If no folder is opened, do not do the one-off transfer to new storage for the workspace folder' , async ( ) => {
130
+ const update = sinon . stub ( InterpreterPathService . prototype , 'update' ) ;
131
+ const persistentState = TypeMoq . Mock . ofType < IPersistentState < string [ ] > > ( ) ;
132
+ workspaceService . setup ( ( w ) => w . getWorkspaceFolderIdentifier ( resource , '' ) ) . returns ( ( ) => '' ) ;
133
+ persistentStateFactory
134
+ . setup ( ( p ) => p . createGlobalPersistentState < string [ ] > ( workspaceFolderKeysForWhichTheCopyIsDone_Key , [ ] ) )
135
+ . returns ( ( ) => persistentState . object ) ;
136
+ persistentState . setup ( ( p ) => p . value ) . returns ( ( ) => [ '...storedWorkspaceKeys' ] ) ;
137
+ persistentState . setup ( ( p ) => p . updateValue ( TypeMoq . It . isAny ( ) ) ) . verifiable ( TypeMoq . Times . never ( ) ) ;
138
+
139
+ interpreterPathService = new InterpreterPathService ( persistentStateFactory . object , workspaceService . object , [ ] ) ;
140
+ await interpreterPathService . _copyWorkspaceFolderValueToNewStorage ( resource , 'workspaceFolderPythonPath' ) ;
141
+
142
+ assert ( update . notCalled ) ;
143
+ persistentState . verifyAll ( ) ;
144
+ } ) ;
145
+
129
146
test ( 'If the one-off transfer to new storage has not happened yet for the workspace, do it and record the transfer' , async ( ) => {
130
147
const workspaceFileUri = Uri . parse ( 'path/to/workspaceFile' ) ;
131
148
const expectedWorkspaceKey = fs . normCase ( workspaceFileUri . fsPath ) ;
@@ -395,7 +412,7 @@ suite('Interpreter Path Service', async () => {
395
412
_didChangeInterpreterEmitter . verifyAll ( ) ;
396
413
} ) ;
397
414
398
- test ( 'Updating workspace settings throws error if no workspace is opened' , async ( ) => {
415
+ test ( 'Updating workspace settings simply returns if no workspace is opened' , async ( ) => {
399
416
const expectedSettingKey = `WORKSPACE_FOLDER_INTERPRETER_PATH_${ resource . fsPath } ` ;
400
417
const persistentState = TypeMoq . Mock . ofType < IPersistentState < string | undefined > > ( ) ;
401
418
workspaceService . setup ( ( w ) => w . workspaceFolders ) . returns ( ( ) => undefined ) ;
@@ -408,18 +425,13 @@ suite('Interpreter Path Service', async () => {
408
425
. returns ( ( ) => Promise . resolve ( ) )
409
426
. verifiable ( TypeMoq . Times . never ( ) ) ;
410
427
411
- const promise = interpreterPathService . update (
412
- resourceOutsideOfWorkspace ,
413
- ConfigurationTarget . Workspace ,
414
- interpreterPath
415
- ) ;
416
- await expect ( promise ) . to . eventually . be . rejectedWith ( Error ) ;
428
+ await interpreterPathService . update ( resourceOutsideOfWorkspace , ConfigurationTarget . Workspace , interpreterPath ) ;
417
429
418
430
persistentState . verifyAll ( ) ;
419
431
persistentStateFactory . verifyAll ( ) ;
420
432
} ) ;
421
433
422
- test ( 'Updating workspace folder settings throws error if no workspace is opened' , async ( ) => {
434
+ test ( 'Updating workspace folder settings simply returns if no workspace is opened' , async ( ) => {
423
435
const expectedSettingKey = `WORKSPACE_FOLDER_INTERPRETER_PATH_${ resource . fsPath } ` ;
424
436
const persistentState = TypeMoq . Mock . ofType < IPersistentState < string | undefined > > ( ) ;
425
437
workspaceService . setup ( ( w ) => w . workspaceFolders ) . returns ( ( ) => undefined ) ;
@@ -432,12 +444,7 @@ suite('Interpreter Path Service', async () => {
432
444
. returns ( ( ) => Promise . resolve ( ) )
433
445
. verifiable ( TypeMoq . Times . never ( ) ) ;
434
446
435
- const promise = interpreterPathService . update (
436
- resourceOutsideOfWorkspace ,
437
- ConfigurationTarget . Workspace ,
438
- interpreterPath
439
- ) ;
440
- await expect ( promise ) . to . eventually . be . rejectedWith ( Error ) ;
447
+ await interpreterPathService . update ( resourceOutsideOfWorkspace , ConfigurationTarget . Workspace , interpreterPath ) ;
441
448
442
449
persistentState . verifyAll ( ) ;
443
450
persistentStateFactory . verifyAll ( ) ;
0 commit comments