1+ import * as assert from 'assert' ;
2+ import * as sinon from 'sinon' ;
3+ import { InternalEnvironmentManager } from '../../../internal.api' ;
4+
5+ suite ( 'EnvManagerView Logic Tests' , ( ) => {
6+ test ( 'Pipenv manager should be identified by name' , ( ) => {
7+ // Create pipenv manager with correct name
8+ const pipenvManager = new InternalEnvironmentManager ( 'pipenv-manager' , {
9+ name : 'pipenv' ,
10+ displayName : 'Pipenv' ,
11+ description : 'Pipenv environment manager' ,
12+ preferredPackageManagerId : 'pip' ,
13+ refresh : ( ) => Promise . resolve ( ) ,
14+ getEnvironments : ( ) => Promise . resolve ( [ ] ) ,
15+ resolve : ( ) => Promise . resolve ( undefined ) ,
16+ set : ( ) => Promise . resolve ( ) ,
17+ get : ( ) => Promise . resolve ( undefined ) ,
18+ } ) ;
19+
20+ // Create other manager with different name
21+ const otherManager = new InternalEnvironmentManager ( 'other-manager' , {
22+ name : 'other' ,
23+ displayName : 'Other' ,
24+ description : 'Other environment manager' ,
25+ preferredPackageManagerId : 'pip' ,
26+ refresh : ( ) => Promise . resolve ( ) ,
27+ getEnvironments : ( ) => Promise . resolve ( [ ] ) ,
28+ resolve : ( ) => Promise . resolve ( undefined ) ,
29+ set : ( ) => Promise . resolve ( ) ,
30+ get : ( ) => Promise . resolve ( undefined ) ,
31+ } ) ;
32+
33+ // Test that pipenv manager is correctly identified
34+ assert . strictEqual ( pipenvManager . name , 'pipenv' ) ;
35+ assert . strictEqual ( otherManager . name , 'other' ) ;
36+ } ) ;
37+
38+ test ( 'Refresh method exists on manager and can be called' , async ( ) => {
39+ const refreshSpy = sinon . spy ( ) ;
40+
41+ const manager = new InternalEnvironmentManager ( 'test-manager' , {
42+ name : 'pipenv' ,
43+ displayName : 'Pipenv' ,
44+ description : 'Test manager' ,
45+ preferredPackageManagerId : 'pip' ,
46+ refresh : refreshSpy ,
47+ getEnvironments : ( ) => Promise . resolve ( [ ] ) ,
48+ resolve : ( ) => Promise . resolve ( undefined ) ,
49+ set : ( ) => Promise . resolve ( ) ,
50+ get : ( ) => Promise . resolve ( undefined ) ,
51+ } ) ;
52+
53+ // Call refresh method
54+ await manager . refresh ( undefined ) ;
55+
56+ // Verify spy was called
57+ assert . strictEqual ( refreshSpy . calledOnce , true ) ;
58+ assert . strictEqual ( refreshSpy . calledWith ( undefined ) , true ) ;
59+ } ) ;
60+ } ) ;
0 commit comments