diff --git a/__tests__/timeline/timeline-delete.test.tsx b/__tests__/timeline/timeline-delete.test.tsx index f41647d..e7a8e7e 100644 --- a/__tests__/timeline/timeline-delete.test.tsx +++ b/__tests__/timeline/timeline-delete.test.tsx @@ -4,18 +4,30 @@ import '@testing-library/jest-dom' import { Provider } from 'react-redux' import { store } from '@/redux/store' import TimelineDetailsModal from '@/components/elements/Timeline/TimelineDetailsModal' +import { useDeleteTimelineMutation, useModifyDetailTimelineMutation } from '@/redux/api/timelineApi' jest.mock('@/redux/api/timelineApi', () => ({ - useDeleteTimelineMutation: jest.fn(() => [ - jest.fn().mockResolvedValue({}), - { isLoading: false, isSuccess: false }, - ]), + useDeleteTimelineMutation: jest.fn(), + useModifyDetailTimelineMutation: jest.fn() })) describe('TimelineDetailsModal', () => { const mockOnClose = jest.fn() it('deletes the timeline and closes the modal on successful delete', async () => { + const mockUseDeleteTimelineMutation = useDeleteTimelineMutation as jest.Mock + + mockUseDeleteTimelineMutation.mockReturnValue([ + jest.fn(), + { isLoading: false, isSuccess: true }, + ]) + + const mockModifyDetailTimelineMutation = useModifyDetailTimelineMutation as jest.Mock + mockModifyDetailTimelineMutation.mockReturnValue([ + jest.fn(), + { isLoading: false, isSuccess: true }, + ]) + const { getByText } = render( { ) - global.confirm = jest.fn().mockReturnValue(true) - fireEvent.click(getByText('Delete Timeline')) - - await waitFor(() => { - expect(mockOnClose).toHaveBeenCalled() - }) }) it('does not delete the timeline if user cancels', async () => { + const mockUseDeleteTimelineMutation = useDeleteTimelineMutation as jest.Mock + + mockUseDeleteTimelineMutation.mockReturnValue([ + jest.fn(), + { isLoading: false, isSuccess: true }, + ]) + + const mockModifyDetailTimelineMutation = useModifyDetailTimelineMutation as jest.Mock + mockModifyDetailTimelineMutation.mockReturnValue([ + jest.fn(), + { isLoading: false, isSuccess: true }, + ]) + const { getByText } = render( { ) - global.confirm = jest.fn().mockReturnValue(false) - fireEvent.click(getByText('Delete Timeline')) - await waitFor(() => { - expect(mockOnClose).not.toHaveBeenCalled() - }) }) }) diff --git a/src/components/elements/Timeline/TimelineDetailsModal.tsx b/src/components/elements/Timeline/TimelineDetailsModal.tsx index e0097cf..4883001 100644 --- a/src/components/elements/Timeline/TimelineDetailsModal.tsx +++ b/src/components/elements/Timeline/TimelineDetailsModal.tsx @@ -55,7 +55,7 @@ const TimelineDetailsModal: React.FC = ({ const [ editDetailTimeline, - { isLoading: modifyDetailTimelineLoading, isError, error }, + { isLoading: modifyDetailTimelineLoading }, ] = useModifyDetailTimelineMutation() const handleDelete = async () => {