@@ -11,6 +11,7 @@ import { ClineCommand } from "./cline-command.js";
1111import { CommandsProcessor , CommandsProcessorToolTarget } from "./commands-processor.js" ;
1212import { CursorCommand } from "./cursor-command.js" ;
1313import { GeminiCliCommand } from "./geminicli-command.js" ;
14+ import { JunieCommand } from "./junie-command.js" ;
1415import { KiloCommand } from "./kilo-command.js" ;
1516import { OpenCodeCommand } from "./opencode-command.js" ;
1617import { RooCommand } from "./roo-command.js" ;
@@ -52,6 +53,11 @@ vi.mock("./geminicli-command.js", () => ({
5253 return { ...config , isDeletable : ( ) => true } ;
5354 } ) ,
5455} ) ) ;
56+ vi . mock ( "./junie-command.js" , ( ) => ( {
57+ JunieCommand : vi . fn ( ) . mockImplementation ( function ( config ) {
58+ return { ...config , isDeletable : ( ) => true } ;
59+ } ) ,
60+ } ) ) ;
5561vi . mock ( "./kilo-command.js" , ( ) => ( {
5662 KiloCommand : vi . fn ( ) . mockImplementation ( function ( config ) {
5763 return { ...config , isDeletable : ( ) => true } ;
@@ -114,6 +120,19 @@ vi.mocked(ClaudecodeCommand).forDeletion = vi.fn().mockImplementation((params) =
114120 getRelativeFilePath : ( ) => params . relativeFilePath ,
115121} ) ) ;
116122
123+ // Set up static methods after mocking
124+ vi . mocked ( JunieCommand ) . fromFile = vi . fn ( ) ;
125+ vi . mocked ( JunieCommand ) . fromRulesyncCommand = vi . fn ( ) ;
126+ vi . mocked ( JunieCommand ) . isTargetedByRulesyncCommand = vi . fn ( ) . mockReturnValue ( true ) ;
127+ vi . mocked ( JunieCommand ) . getSettablePaths = vi . fn ( ) . mockImplementation ( ( _options = { } ) => ( {
128+ relativeDirPath : join ( ".junie" , "commands" ) ,
129+ } ) ) ;
130+ vi . mocked ( JunieCommand ) . forDeletion = vi . fn ( ) . mockImplementation ( ( params ) => ( {
131+ ...params ,
132+ isDeletable : ( ) => true ,
133+ getRelativeFilePath : ( ) => params . relativeFilePath ,
134+ } ) ) ;
135+
117136// Set up static methods after mocking
118137vi . mocked ( GeminiCliCommand ) . fromFile = vi . fn ( ) ;
119138vi . mocked ( GeminiCliCommand ) . fromRulesyncCommand = vi . fn ( ) ;
@@ -1168,6 +1187,7 @@ describe("CommandsProcessor", () => {
11681187 "copilot" ,
11691188 "cursor" ,
11701189 "geminicli" ,
1190+ "junie" ,
11711191 "kilo" ,
11721192 "kiro" ,
11731193 "opencode" ,
@@ -1189,6 +1209,7 @@ describe("CommandsProcessor", () => {
11891209 "cursor" ,
11901210 "factorydroid" ,
11911211 "geminicli" ,
1212+ "junie" ,
11921213 "kilo" ,
11931214 "kiro" ,
11941215 "opencode" ,
@@ -1209,6 +1230,7 @@ describe("CommandsProcessor", () => {
12091230 "cursor" ,
12101231 "factorydroid" ,
12111232 "geminicli" ,
1233+ "junie" ,
12121234 "codexcli" ,
12131235 "kilo" ,
12141236 "opencode" ,
@@ -1244,6 +1266,7 @@ describe("CommandsProcessor", () => {
12441266 "claudecode-legacy" ,
12451267 "cline" ,
12461268 "geminicli" ,
1269+ "junie" ,
12471270 "kilo" ,
12481271 "roo" ,
12491272 ] ;
0 commit comments