@@ -2,6 +2,7 @@ import { beforeEach, describe, expect, test, vi } from "vitest";
22import { CommandQueue } from "@/lib/common/command-queue" ;
33import { checkSetup } from "@/lib/common/setup" ;
44import { type Result } from "@/types/error" ;
5+ import { delayedResult } from "../utils" ;
56
67// Mock the setup module so we can control checkSetup()
78vi . mock ( "@/lib/common/setup" , ( ) => ( {
@@ -21,24 +22,18 @@ describe("CommandQueue", () => {
2122 test ( "executes commands in FIFO order" , async ( ) => {
2223 const executionOrder : string [ ] = [ ] ;
2324
24- function delayedResult < T > ( value : T , delayMs = 10 ) : Promise < T > {
25- return new Promise ( ( resolve ) =>
26- setTimeout ( ( ) => resolve ( value ) , delayMs )
27- ) ;
28- }
29-
3025 // Mock commands with proper Result returns
3126 const cmdA = vi . fn ( async ( ) : Promise < Result < void , unknown > > => {
3227 executionOrder . push ( "A" ) ;
33- return delayedResult ( { ok : true , data : undefined } ) ;
28+ return delayedResult ( { ok : true , data : undefined } , 10 ) ;
3429 } ) ;
3530 const cmdB = vi . fn ( async ( ) : Promise < Result < void , unknown > > => {
3631 executionOrder . push ( "B" ) ;
37- return delayedResult ( { ok : true , data : undefined } ) ;
32+ return delayedResult ( { ok : true , data : undefined } , 10 ) ;
3833 } ) ;
3934 const cmdC = vi . fn ( async ( ) : Promise < Result < void , unknown > > => {
4035 executionOrder . push ( "C" ) ;
41- return delayedResult ( { ok : true , data : undefined } ) ;
36+ return delayedResult ( { ok : true , data : undefined } , 10 ) ;
4237 } ) ;
4338
4439 // We'll assume checkSetup always ok for this test
@@ -57,11 +52,7 @@ describe("CommandQueue", () => {
5752
5853 test ( "skips execution if checkSetup() fails" , async ( ) => {
5954 const cmd = vi . fn ( async ( ) : Promise < void > => {
60- return new Promise ( ( resolve ) => {
61- setTimeout ( ( ) => {
62- resolve ( ) ;
63- } , 10 ) ;
64- } ) ;
55+ return delayedResult ( undefined , 10 ) ;
6556 } ) ;
6657
6758 // Force checkSetup to fail
@@ -82,11 +73,7 @@ describe("CommandQueue", () => {
8273
8374 test ( "executes command if checkSetup is false (no check)" , async ( ) => {
8475 const cmd = vi . fn ( async ( ) : Promise < Result < void , unknown > > => {
85- return new Promise ( ( resolve ) => {
86- setTimeout ( ( ) => {
87- resolve ( { ok : true , data : undefined } ) ;
88- } , 10 ) ;
89- } ) ;
76+ return delayedResult ( { ok : true , data : undefined } , 10 ) ;
9077 } ) ;
9178
9279 // checkSetup is irrelevant in this scenario, but let's mock it anyway
@@ -115,11 +102,7 @@ describe("CommandQueue", () => {
115102
116103 // Mock command that fails
117104 const failingCmd = vi . fn ( async ( ) => {
118- await new Promise ( ( resolve ) => {
119- setTimeout ( ( ) => {
120- resolve ( "some error" ) ;
121- } , 10 ) ;
122- } ) ;
105+ await delayedResult ( "some error" , 10 ) ;
123106
124107 throw new Error ( "some error" ) ;
125108 } ) ;
@@ -136,18 +119,10 @@ describe("CommandQueue", () => {
136119
137120 test ( "resolves wait() after all commands complete" , async ( ) => {
138121 const cmd1 = vi . fn ( async ( ) : Promise < Result < void , unknown > > => {
139- return new Promise ( ( resolve ) => {
140- setTimeout ( ( ) => {
141- resolve ( { ok : true , data : undefined } ) ;
142- } , 10 ) ;
143- } ) ;
122+ return delayedResult ( { ok : true , data : undefined } , 10 ) ;
144123 } ) ;
145124 const cmd2 = vi . fn ( async ( ) : Promise < Result < void , unknown > > => {
146- return new Promise ( ( resolve ) => {
147- setTimeout ( ( ) => {
148- resolve ( { ok : true , data : undefined } ) ;
149- } , 10 ) ;
150- } ) ;
125+ return delayedResult ( { ok : true , data : undefined } , 10 ) ;
151126 } ) ;
152127
153128 vi . mocked ( checkSetup ) . mockReturnValue ( { ok : true , data : undefined } ) ;
0 commit comments