@@ -180,6 +180,35 @@ describe('GenericProvider', () => {
180180 // expect(getRegionObjectSpy).not.toHaveBeenCalled();
181181 expect ( elementsArray ) . toEqual ( [ ] ) ;
182182 } ) ;
183+
184+ it ( 'should add regions for valid elements' , async ( ) => {
185+ const elementsArray = [ ] ;
186+ const mockElements = [
187+ {
188+ getRect : jasmine . createSpy ( ) . and . resolveTo ( { x : 10 , y : 20 , width : 100 , height : 50 } )
189+ } ,
190+ {
191+ getRect : jasmine . createSpy ( ) . and . resolveTo ( { x : 30 , y : 40 , width : 200 , height : 60 } )
192+ }
193+ ] ;
194+
195+ await provider . getRegionsByElements . call ( { driver, getRegionObject : getRegionObjectSpy } , elementsArray , mockElements ) ;
196+
197+ expect ( getRegionObjectSpy ) . toHaveBeenCalledTimes ( 2 ) ;
198+ expect ( getRegionObjectSpy . calls . argsFor ( 0 ) [ 0 ] ) . toBe ( 'element: 0' ) ;
199+ expect ( getRegionObjectSpy . calls . argsFor ( 1 ) [ 0 ] ) . toBe ( 'element: 1' ) ;
200+ expect ( elementsArray ) . toEqual ( [ { } , { } ] ) ;
201+ } ) ;
202+
203+ it ( 'should handle empty elements array' , async ( ) => {
204+ const elementsArray = [ ] ;
205+ const mockElements = [ ] ;
206+
207+ await provider . getRegionsByElements . call ( { driver, getRegionObject : getRegionObjectSpy } , elementsArray , mockElements ) ;
208+
209+ expect ( getRegionObjectSpy ) . not . toHaveBeenCalled ( ) ;
210+ expect ( elementsArray ) . toEqual ( [ ] ) ;
211+ } ) ;
183212 } ) ;
184213
185214 describe ( 'getRegionsByLocation function' , ( ) => {
0 commit comments