11import * as assert from "node:assert"
2+ import { Uri } from "vscode"
23import type {
34 AppDefinition ,
45 RouteDefinition ,
@@ -133,11 +134,13 @@ suite("getRouteLabel", () => {
133134 } )
134135} )
135136
137+ const testExtUri = Uri . file ( "/test-extension" )
138+
136139suite ( "PathOperationTreeProvider" , ( ) => {
137140 let provider : PathOperationTreeProvider
138141
139142 setup ( ( ) => {
140- provider = new PathOperationTreeProvider ( mockApps )
143+ provider = new PathOperationTreeProvider ( testExtUri , mockApps )
141144 } )
142145
143146 test ( "getChildren returns apps at root level" , ( ) => {
@@ -173,7 +176,7 @@ suite("PathOperationTreeProvider", () => {
173176 makeRoute ( "POST" , "/users" ) ,
174177 makeRoute ( "PUT" , "/users" ) ,
175178 ]
176- const p = new PathOperationTreeProvider ( [ app ] )
179+ const p = new PathOperationTreeProvider ( testExtUri , [ app ] )
177180 const children = p . getChildren ( p . getChildren ( ) [ 0 ] )
178181 const labels = children . map ( ( c ) =>
179182 c . type === "route" ? getRouteLabel ( c . route ) : "" ,
@@ -344,7 +347,7 @@ suite("PathOperationTreeProvider", () => {
344347 location : { filePath : "users.py" , line : 10 , column : 0 } ,
345348 } ,
346349 ]
347- const p = new PathOperationTreeProvider ( [ app ] )
350+ const p = new PathOperationTreeProvider ( testExtUri , [ app ] )
348351 const appItem = p . getChildren ( ) [ 0 ]
349352 const route = p . getChildren ( appItem ) . find ( ( c ) => c . type === "route" ) !
350353 const treeItem = p . getTreeItem ( route )
@@ -363,7 +366,7 @@ suite("PathOperationTreeProvider", () => {
363366 } )
364367
365368 test ( "getChildren returns message when no apps" , ( ) => {
366- const emptyProvider = new PathOperationTreeProvider ( [ ] )
369+ const emptyProvider = new PathOperationTreeProvider ( testExtUri , [ ] )
367370 const roots = emptyProvider . getChildren ( )
368371 assert . strictEqual ( roots . length , 1 , "Should return one message item" )
369372 assert . strictEqual ( roots [ 0 ] . type , "message" )
@@ -380,7 +383,7 @@ suite("PathOperationTreeProvider", () => {
380383 } )
381384
382385 test ( "getTreeItem for message type" , ( ) => {
383- const emptyProvider = new PathOperationTreeProvider ( [ ] )
386+ const emptyProvider = new PathOperationTreeProvider ( testExtUri , [ ] )
384387 const msg = emptyProvider . getChildren ( ) [ 0 ]
385388 assert . strictEqual (
386389 emptyProvider . getTreeItem ( msg ) . label ,
@@ -390,7 +393,12 @@ suite("PathOperationTreeProvider", () => {
390393
391394 test ( "getTreeItem for workspace type" , ( ) => {
392395 const wsRoots = groupAppsByWorkspace ( mockApps )
393- const wsProvider = new PathOperationTreeProvider ( mockApps , wsRoots )
396+
397+ const wsProvider = new PathOperationTreeProvider (
398+ testExtUri ,
399+ mockApps ,
400+ wsRoots ,
401+ )
394402 const workspace = wsProvider
395403 . getChildren ( )
396404 . find ( ( r ) => r . type === "workspace" )
@@ -420,7 +428,8 @@ suite("PathOperationTreeProvider", () => {
420428 }
421429 const app = makeApp ( "app" , "main.py" )
422430 app . routers = [ parentRouter ]
423- const p = new PathOperationTreeProvider ( [ app ] )
431+
432+ const p = new PathOperationTreeProvider ( testExtUri , [ app ] )
424433 assert . strictEqual (
425434 p . getTreeItem ( { type : "router" , router : childRouter } ) . label ,
426435 "/settings" ,
@@ -438,11 +447,11 @@ suite("PathOperationTreeProvider", () => {
438447 } )
439448
440449 test ( "dispose cleans up" , ( ) => {
441- new PathOperationTreeProvider ( [ ] ) . dispose ( )
450+ new PathOperationTreeProvider ( testExtUri , [ ] ) . dispose ( )
442451 } )
443452
444453 test ( "setApps updates apps and refreshes tree" , ( ) => {
445- const p = new PathOperationTreeProvider ( [ ] )
454+ const p = new PathOperationTreeProvider ( testExtUri , [ ] )
446455 assert . strictEqual ( p . getChildren ( ) [ 0 ] . type , "message" )
447456 p . setApps ( mockApps )
448457 assert . strictEqual ( p . getChildren ( ) [ 0 ] . type , "app" )
@@ -473,7 +482,11 @@ suite("PathOperationTreeProvider", () => {
473482
474483 test ( "getParent returns workspace for app in multi-root" , ( ) => {
475484 const wsRoots = groupAppsByWorkspace ( mockApps )
476- const wsProvider = new PathOperationTreeProvider ( mockApps , wsRoots )
485+ const wsProvider = new PathOperationTreeProvider (
486+ testExtUri ,
487+ mockApps ,
488+ wsRoots ,
489+ )
477490 const workspace = wsProvider
478491 . getChildren ( )
479492 . find ( ( r ) => r . type === "workspace" ) !
@@ -500,7 +513,7 @@ suite("PathOperationTreeProvider", () => {
500513 }
501514 const app = makeApp ( "app" , "main.py" )
502515 app . routers = [ parentRouter ]
503- const p = new PathOperationTreeProvider ( [ app ] )
516+ const p = new PathOperationTreeProvider ( testExtUri , [ app ] )
504517 const parent = p . getParent ( { type : "router" , router : childRouter } )
505518 assert . strictEqual ( parent ?. type , "router" )
506519 } )
0 commit comments