/** * External dependencies */ import { render, act } from '@testing-library/react'; import { useDispatch } from '@wordpress/data'; import userEvent from '@testing-library/user-event'; import { getHistory } from '@woocommerce/navigation'; import { WooOnboardingTask } from '@woocommerce/onboarding'; /** * Internal dependencies */ import { Task } from '../task'; jest.mock( '@wordpress/data' ); jest.mock( '@woocommerce/navigation', () => ( { getHistory: jest.fn(), getNewPath: () => 'new-path', } ) ); jest.mock( '@woocommerce/onboarding', () => ( { WooOnboardingTask: { Slot: jest.fn(), }, } ) ); describe( 'Task', () => { const invalidateResolutionForStoreSelector = jest.fn(); const optimisticallyCompleteTask = jest.fn(); beforeEach( () => { ( useDispatch as jest.Mock ).mockImplementation( () => ( { invalidateResolutionForStoreSelector, optimisticallyCompleteTask, } ) ); ( WooOnboardingTask.Slot as jest.Mock ).mockImplementation( ( { id, fillProps } ) => (