@@ -77,6 +77,52 @@ test('dispatch open rejects launch arguments without an app target', async () =>
7777 ) ;
7878} ) ;
7979
80+ test ( 'dispatch open rejects camera video without an app target' , async ( ) => {
81+ await assert . rejects (
82+ ( ) => dispatchCommand ( IOS_SIMULATOR , 'open' , [ ] , undefined , { cameraVideo : './back.mp4' } ) ,
83+ ( error : unknown ) => {
84+ assert . equal ( error instanceof AppError , true ) ;
85+ assert . equal ( ( error as AppError ) . code , 'INVALID_ARGS' ) ;
86+ assert . match ( ( error as AppError ) . message , / r e q u i r e s a n a p p t a r g e t / i) ;
87+ return true ;
88+ } ,
89+ ) ;
90+ } ) ;
91+
92+ test ( 'dispatch open forwards iOS simulator camera video to openIosApp' , async ( ) => {
93+ await dispatchCommand ( IOS_SIMULATOR , 'open' , [ 'com.example.app' ] , undefined , {
94+ cameraVideo : '/tmp/back.mp4' ,
95+ } ) ;
96+
97+ assert . equal ( mockOpenIosApp . mock . calls . length , 1 ) ;
98+ assert . equal ( mockOpenIosApp . mock . calls [ 0 ] ?. [ 0 ] , IOS_SIMULATOR ) ;
99+ assert . equal ( mockOpenIosApp . mock . calls [ 0 ] ?. [ 1 ] , 'com.example.app' ) ;
100+ assert . equal ( mockOpenIosApp . mock . calls [ 0 ] ?. [ 2 ] ?. cameraVideo , '/tmp/back.mp4' ) ;
101+ } ) ;
102+
103+ test ( 'dispatch open rejects camera video outside iOS simulator' , async ( ) => {
104+ const device : DeviceInfo = {
105+ platform : 'android' ,
106+ id : 'emulator-5554' ,
107+ name : 'Pixel' ,
108+ kind : 'emulator' ,
109+ booted : true ,
110+ } ;
111+
112+ await assert . rejects (
113+ ( ) =>
114+ dispatchCommand ( device , 'open' , [ 'com.example.app' ] , undefined , {
115+ cameraVideo : './back.mp4' ,
116+ } ) ,
117+ ( error : unknown ) => {
118+ assert . equal ( error instanceof AppError , true ) ;
119+ assert . equal ( ( error as AppError ) . code , 'UNSUPPORTED_OPERATION' ) ;
120+ assert . match ( ( error as AppError ) . message , / i O S s i m u l a t o r s / i) ;
121+ return true ;
122+ } ,
123+ ) ;
124+ } ) ;
125+
80126test ( 'dispatch open forwards Android launch arguments to openAndroidApp' , async ( ) => {
81127 const device : DeviceInfo = {
82128 platform : 'android' ,
0 commit comments