1- import { it , describe , expect } from "vitest" ;
1+ import { it , describe , expect , vi } from "vitest" ;
22import { Service , Ros } from "../" ;
33
44describe ( "Service" , ( ) => {
@@ -23,10 +23,14 @@ describe("Service", () => {
2323 serviceType : "std_srvs/Trigger" ,
2424 name : "/test_service" ,
2525 } ) ;
26- const response = await new Promise ( ( resolve , reject ) => {
27- client . callService ( { } , resolve , reject ) ;
26+ const callback = vi . fn ( ) ;
27+ client . callService ( { } , callback ) ;
28+ await vi . waitFor ( ( ) => {
29+ expect ( callback ) . toHaveBeenCalledExactlyOnceWith ( {
30+ success : true ,
31+ message : "foo" ,
32+ } ) ;
2833 } ) ;
29- expect ( response ) . toEqual ( { success : true , message : "foo" } ) ;
3034 // Make sure un-advertisement actually disposes of the event handler
3135 expect ( ros . listenerCount ( server . name ) ) . toEqual ( 1 ) ;
3236 await server . unadvertise ( ) ;
@@ -51,10 +55,14 @@ describe("Service", () => {
5155 serviceType : "std_srvs/Trigger" ,
5256 name : "/test_service" ,
5357 } ) ;
54- const response = await new Promise ( ( resolve , reject ) => {
55- client . callService ( { } , resolve , reject ) ;
58+ const callback = vi . fn ( ) ;
59+ client . callService ( { } , callback ) ;
60+ await vi . waitFor ( ( ) => {
61+ expect ( callback ) . toHaveBeenCalledExactlyOnceWith ( {
62+ success : true ,
63+ message : "bar" ,
64+ } ) ;
5665 } ) ;
57- expect ( response ) . toEqual ( { success : true , message : "bar" } ) ;
5866 // Make sure un-advertisement actually disposes of the event handler
5967 expect ( ros . listenerCount ( server . name ) ) . toEqual ( 1 ) ;
6068 await server . unadvertise ( ) ;
0 commit comments