Skip to content

Commit 7c5520f

Browse files
committed
feat(web): implement unit tests for migrate forward/backward functionality in someday event form
1 parent feeed6d commit 7c5520f

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

packages/web/src/views/Forms/SomedayEventForm/SomedayEventForm.test.tsx

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const sampleSomedayEvent: Schema_Event = {
2929
};
3030

3131
const mockOnClose = jest.fn();
32+
const mockOnMigrate = jest.fn();
3233
const mockOnSubmit = jest.fn();
3334
const mockSetEvent = jest.fn();
3435
const 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

Comments
 (0)