@@ -137,16 +137,38 @@ describe('smoketest: object-oriented devbox', () => {
137137 const suspendedInfo = await devbox . getInfo ( ) ;
138138 expect ( suspendedInfo . status ) . toBe ( 'suspended' ) ;
139139
140- // Resume the devbox
141- await devbox . resume ( ) ;
142- await devbox . awaitRunning ( ) ;
143- const resumedInfo = await devbox . getInfo ( ) ;
140+ // Resume the devbox - resume() automatically waits for running state
141+ const resumedInfo = await devbox . resume ( ) ;
144142 expect ( resumedInfo . status ) . toBe ( 'running' ) ;
145143
146144 // Clean up
147145 await devbox . shutdown ( ) ;
148146 } ) ;
149147
148+ test ( 'resumeAsync - resume without waiting' , async ( ) => {
149+ const devbox = await sdk . devbox . create ( {
150+ name : uniqueName ( 'sdk-devbox-resume-async' ) ,
151+ launch_parameters : { resource_size_request : 'X_SMALL' , keep_alive_time_seconds : 60 * 5 } , // 5 minutes
152+ } ) ;
153+
154+ // Suspend the devbox
155+ await devbox . suspend ( ) ;
156+ await devbox . awaitSuspended ( ) ;
157+ const suspendedInfo = await devbox . getInfo ( ) ;
158+ expect ( suspendedInfo . status ) . toBe ( 'suspended' ) ;
159+
160+ // Resume the devbox asynchronously - doesn't wait automatically
161+ const resumeResponse = await devbox . resumeAsync ( ) ;
162+ expect ( resumeResponse ) . toBeDefined ( ) ;
163+
164+ // Now wait for running state explicitly
165+ const runningInfo = await devbox . awaitRunning ( ) ;
166+ expect ( runningInfo . status ) . toBe ( 'running' ) ;
167+
168+ // Clean up
169+ await devbox . shutdown ( ) ;
170+ } ) ;
171+
150172 test ( 'keep alive' , async ( ) => {
151173 const devbox = await sdk . devbox . create ( {
152174 name : uniqueName ( 'sdk-devbox-keepalive' ) ,
0 commit comments