@@ -288,32 +288,46 @@ describe("[Unit] ElementAssertion.test.ts", () => {
288288    const  parentElementAssertion  =  new  ElementAssertion ( parent ) ; 
289289    const  child  =  element . getByTestId ( "childId" ) ; 
290290    const  text  =  element . getByTestId ( "textId" ) ; 
291+     const  textElementAssertion  =  new  ElementAssertion ( text ) ; 
291292
292-     context ( "when the container element contains the target element" ,  ( )  =>  { 
293-       it ( "returns the assertion instance" ,  ( )  =>  { 
294-         expect ( containerElementAssertion . toContainElement ( parent ) ) . toBe ( containerElementAssertion ) ; 
295-         expect ( containerElementAssertion . toContainElement ( child ) ) . toBe ( containerElementAssertion ) ; 
296-         expect ( containerElementAssertion . toContainElement ( text ) ) . toBe ( containerElementAssertion ) ; 
297-         expect ( parentElementAssertion . toContainElement ( child ) ) . toBe ( parentElementAssertion ) ; 
293+     context ( "when the element has children" ,  ( )  =>  { 
294+       context ( "and the target element is found in the children's element" ,  ( )  =>  { 
295+         it ( "returns the assertion instance" ,  ( )  =>  { 
296+           expect ( containerElementAssertion . toContainElement ( parent ) ) . toBe ( containerElementAssertion ) ; 
297+           expect ( containerElementAssertion . toContainElement ( child ) ) . toBe ( containerElementAssertion ) ; 
298+           expect ( containerElementAssertion . toContainElement ( text ) ) . toBe ( containerElementAssertion ) ; 
299+           expect ( parentElementAssertion . toContainElement ( child ) ) . toBe ( parentElementAssertion ) ; 
300+         } ) ; 
301+ 
302+         it ( "throws an error for negative assertion" ,  ( )  =>  { 
303+           expect ( ( )  =>  containerElementAssertion . not . toContainElement ( parent ) ) 
304+             . toThrowError ( AssertionError ) 
305+             . toHaveMessage ( "Expected element <View ... /> NOT to contain element <View ... />." ) ; 
306+           expect ( ( )  =>  containerElementAssertion . not . toContainElement ( text ) ) 
307+             . toThrowError ( AssertionError ) 
308+             . toHaveMessage ( "Expected element <View ... /> NOT to contain element <Text ... />." ) ; 
309+         } ) ; 
298310      } ) ; 
299311
300-       it ( "returns the assertion instance for negated assertions when the target element is not contained" ,  ( )  =>  { 
301-         expect ( parentElementAssertion . not . toContainElement ( text ) ) . toBeEqual ( parentElementAssertion ) ; 
302-         expect ( parentElementAssertion . not . toContainElement ( container ) ) . toBeEqual ( parentElementAssertion ) ; 
312+       context ( "and the target element is NOT found in the children's element" ,  ( )  =>  { 
313+         it ( "throws an error" ,  ( )  =>  { 
314+           expect ( ( )  =>  parentElementAssertion . toContainElement ( text ) ) 
315+             . toThrowError ( AssertionError ) 
316+             . toHaveMessage ( "Expected element <View ... /> to contain element <Text ... />." ) ; 
317+         } ) ; 
318+ 
319+         it ( "returns the assertion instance for negative assertion" ,  ( )  =>  { 
320+           expect ( parentElementAssertion . not . toContainElement ( text ) ) . toBeEqual ( parentElementAssertion ) ; 
321+           expect ( parentElementAssertion . not . toContainElement ( container ) ) . toBeEqual ( parentElementAssertion ) ; 
322+         } ) ; 
303323      } ) ; 
304324    } ) ; 
305325
306-     context ( "when the container  element does NOT contain the target element " ,  ( )  =>  { 
326+     context ( "when the element does NOT have children " ,  ( )  =>  { 
307327      it ( "throws an error" ,  ( )  =>  { 
308-         expect ( ( )  =>  containerElementAssertion . not . toContainElement ( parent ) ) 
309-           . toThrowError ( AssertionError ) 
310-           . toHaveMessage ( "Expected element <View ... /> NOT to contain element <View ... />." ) ; 
311-         expect ( ( )  =>  containerElementAssertion . not . toContainElement ( text ) ) 
312-           . toThrowError ( AssertionError ) 
313-           . toHaveMessage ( "Expected element <View ... /> NOT to contain element <Text ... />." ) ; 
314-         expect ( ( )  =>  parentElementAssertion . toContainElement ( text ) ) 
328+         expect ( ( )  =>  textElementAssertion . toContainElement ( parent ) ) 
315329          . toThrowError ( AssertionError ) 
316-           . toHaveMessage ( "Expected element <View  ... /> to contain element <Text  ... />." ) ; 
330+           . toHaveMessage ( "Expected element <Text  ... /> to contain element <View  ... />." ) ; 
317331      } ) ; 
318332    } ) ; 
319333  } ) ; 
0 commit comments