@@ -53,28 +53,38 @@ describe('<InstructorsSection />', () => {
5353 } ) ;
5454
5555 it ( 'should create another instructor form on click Add new instructor' , async ( ) => {
56- const { getAllByRole, getByRole } = render ( < RootWrapper { ...props } /> ) ;
57- const addButton = getByRole ( 'button' , { name : instructorMessages . instructorDelete . defaultMessage } ) ;
58- act ( ( ) => {
59- fireEvent . click ( addButton ) ;
60- } ) ;
56+ const { getAllByRole, getByRole, rerender } = render ( < RootWrapper { ...props } /> ) ;
57+ const addButton = getByRole ( 'button' , { name : messages . instructorAdd . defaultMessage } ) ;
58+ fireEvent . click ( addButton ) ;
59+
60+ const newInstructors = [
61+ props . instructors [ 0 ] ,
62+ {
63+ bio : '' ,
64+ image : '' ,
65+ name : '' ,
66+ organization : '' ,
67+ title : '' ,
68+ } ,
69+ ] ;
70+ expect ( onChangeMock ) . toHaveBeenCalledWith ( { instructors : newInstructors } , 'instructorInfo' ) ;
6171
72+ rerender ( < RootWrapper { ...props } instructors = { newInstructors } /> ) ;
6273 await waitFor ( ( ) => {
6374 const deleteButtons = getAllByRole ( 'button' , { name : instructorMessages . instructorDelete . defaultMessage } ) ;
6475 expect ( deleteButtons . length ) . toBe ( 2 ) ;
6576 } ) ;
6677 } ) ;
6778
6879 it ( 'should delete instructor form on click Delete' , async ( ) => {
69- const { getAllByRole , getByRole } = render ( < RootWrapper { ...props } /> ) ;
80+ const { queryAllByRole , getByRole, rerender } = render ( < RootWrapper { ...props } /> ) ;
7081 const deleteButton = getByRole ( 'button' , { name : instructorMessages . instructorDelete . defaultMessage } ) ;
71- act ( ( ) => {
72- fireEvent . click ( deleteButton ) ;
73- } ) ;
82+ fireEvent . click ( deleteButton ) ;
7483
7584 expect ( onChangeMock ) . toHaveBeenCalledWith ( { instructors : [ ] } , 'instructorInfo' ) ;
85+ rerender ( < RootWrapper { ...props } instructors = { [ ] } /> ) ;
7686 await waitFor ( ( ) => {
77- const deleteButtons = getAllByRole ( 'button' , { name : instructorMessages . instructorDelete . defaultMessage } ) ;
87+ const deleteButtons = queryAllByRole ( 'button' , { name : instructorMessages . instructorDelete . defaultMessage } ) ;
7888 expect ( deleteButtons . length ) . toBe ( 0 ) ;
7989 } ) ;
8090 } ) ;
0 commit comments