@@ -29,6 +29,7 @@ const sampleSomedayEvent: Schema_Event = {
2929} ;
3030
3131const mockOnClose = jest . fn ( ) ;
32+ const mockOnMigrate = jest . fn ( ) ;
3233const mockOnSubmit = jest . fn ( ) ;
3334const mockSetEvent = jest . fn ( ) ;
3435const mockDuplicateEvent = jest . fn ( ) ;
@@ -57,6 +58,7 @@ describe("SomedayEventForm Hotkeys", () => {
5758 < SomedayEventForm
5859 event = { sampleSomedayEvent }
5960 onClose = { mockOnClose }
61+ onMigrate = { mockOnMigrate }
6062 onSubmit = { mockOnSubmit }
6163 setEvent = { mockSetEvent }
6264 category = { defaultCategory }
@@ -86,6 +88,7 @@ describe("SomedayEventForm Hotkeys", () => {
8688 < SomedayEventForm
8789 event = { sampleSomedayEvent }
8890 onClose = { mockOnClose }
91+ onMigrate = { mockOnMigrate }
8992 onSubmit = { mockOnSubmit }
9093 setEvent = { mockSetEvent }
9194 category = { defaultCategory }
@@ -122,6 +125,7 @@ describe("SomedayEventForm Hotkeys", () => {
122125 < SomedayEventForm
123126 event = { sampleSomedayEvent }
124127 onClose = { mockOnClose }
128+ onMigrate = { mockOnMigrate }
125129 onSubmit = { mockOnSubmit }
126130 setEvent = { mockSetEvent }
127131 category = { defaultCategory }
@@ -154,6 +158,7 @@ describe("SomedayEventForm Hotkeys", () => {
154158 < SomedayEventForm
155159 event = { sampleSomedayEvent }
156160 onClose = { mockOnClose }
161+ onMigrate = { mockOnMigrate }
157162 onSubmit = { mockOnSubmit }
158163 setEvent = { mockSetEvent }
159164 category = { defaultCategory }
@@ -182,6 +187,70 @@ describe("SomedayEventForm Hotkeys", () => {
182187 expect ( mockConfirm ) . not . toHaveBeenCalled ( ) ;
183188 } ) ;
184189
190+ test ( "should call onMigrate when migrate backward icon btn is clicked" , async ( ) => {
191+ render (
192+ < div >
193+ < SomedayEventForm
194+ event = { sampleSomedayEvent }
195+ onClose = { mockOnClose }
196+ onMigrate = { mockOnMigrate }
197+ onSubmit = { mockOnSubmit }
198+ setEvent = { mockSetEvent }
199+ category = { defaultCategory }
200+ />
201+ </ div > ,
202+ ) ;
203+
204+ const eventForm = screen . getByRole ( "form" ) ;
205+
206+ const migrateBackwardButton = eventForm . querySelector (
207+ '[id="migrate-backward-button"]' ,
208+ ) ;
209+
210+ expect ( migrateBackwardButton ) . toBeInTheDocument ( ) ;
211+
212+ await act ( async ( ) => userEvent . click ( migrateBackwardButton ! ) ) ;
213+
214+ expect ( mockOnMigrate ) . toHaveBeenCalledTimes ( 1 ) ;
215+ expect ( mockOnMigrate ) . toHaveBeenCalledWith (
216+ sampleSomedayEvent ,
217+ defaultCategory ,
218+ "back" ,
219+ ) ;
220+ } ) ;
221+
222+ test ( "should call onMigrate when migrate forward icon btn is clicked" , async ( ) => {
223+ render (
224+ < div >
225+ < SomedayEventForm
226+ event = { sampleSomedayEvent }
227+ onClose = { mockOnClose }
228+ onMigrate = { mockOnMigrate }
229+ onSubmit = { mockOnSubmit }
230+ setEvent = { mockSetEvent }
231+ category = { defaultCategory }
232+ />
233+ </ div > ,
234+ ) ;
235+
236+ const eventForm = screen . getByRole ( "form" ) ;
237+
238+ const migrateForwardButton = eventForm . querySelector (
239+ '[id="migrate-forward-button"]' ,
240+ ) ;
241+
242+ expect ( migrateForwardButton ) . toBeInTheDocument ( ) ;
243+
244+ await act ( async ( ) => userEvent . click ( migrateForwardButton ! ) ) ;
245+
246+ expect ( mockOnMigrate ) . toHaveBeenCalledTimes ( 1 ) ;
247+ expect ( mockOnMigrate ) . toHaveBeenCalledWith (
248+ sampleSomedayEvent ,
249+ defaultCategory ,
250+ "forward" ,
251+ ) ;
252+ } ) ;
253+
185254 /**
186255 * This test is skipped
187256 * The hotkey functionality is not implemented in the SomedayEventForm comp.
@@ -192,6 +261,7 @@ describe("SomedayEventForm Hotkeys", () => {
192261 < SomedayEventForm
193262 event = { sampleSomedayEvent }
194263 onClose = { mockOnClose }
264+ onMigrate = { mockOnMigrate }
195265 onSubmit = { mockOnSubmit }
196266 setEvent = { mockSetEvent }
197267 category = { defaultCategory }
0 commit comments