From 8b0ee562cf31f990426389d0eb40709c62310bf4 Mon Sep 17 00:00:00 2001 From: towfiqi Date: Sat, 13 Jan 2024 20:18:04 +0600 Subject: [PATCH] test: Updates test for SingleKeyword component. --- __tests__/pages/domain.test.tsx | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/__tests__/pages/domain.test.tsx b/__tests__/pages/domain.test.tsx index 13ace7b..d07ccbf 100644 --- a/__tests__/pages/domain.test.tsx +++ b/__tests__/pages/domain.test.tsx @@ -1,9 +1,9 @@ import { fireEvent, render, screen } from '@testing-library/react'; import { QueryClient, QueryClientProvider } from 'react-query'; -import { MockResponseInitFunction } from 'jest-fetch-mock'; import SingleDomain from '../../pages/domain/[slug]'; import { useAddDomain, useDeleteDomain, useFetchDomains, useUpdateDomain } from '../../services/domains'; -import { useAddKeywords, useDeleteKeywords, useFavKeywords, useFetchKeywords, useRefreshKeywords } from '../../services/keywords'; +import { useAddKeywords, useDeleteKeywords, + useFavKeywords, useFetchKeywords, useRefreshKeywords, useFetchSingleKeyword } from '../../services/keywords'; import { dummyDomain, dummyKeywords, dummySettings } from '../../__mocks__/data'; import { useFetchSettings } from '../../services/settings'; @@ -31,6 +31,7 @@ const useAddKeywordsFunc = useAddKeywords as jest.Mock; const useUpdateDomainFunc = useUpdateDomain as jest.Mock; const useDeleteDomainFunc = useDeleteDomain as jest.Mock; const useFetchSettingsFunc = useFetchSettings as jest.Mock; +const useFetchSingleKeywordFunc = useFetchSingleKeyword as jest.Mock; describe('SingleDomain Page', () => { const queryClient = new QueryClient(); @@ -38,6 +39,8 @@ describe('SingleDomain Page', () => { useFetchSettingsFunc.mockImplementation(() => ({ data: { settings: dummySettings }, isLoading: false })); useFetchDomainsFunc.mockImplementation(() => ({ data: { domains: [dummyDomain] }, isLoading: false })); useFetchKeywordsFunc.mockImplementation(() => ({ keywordsData: { keywords: dummyKeywords }, keywordsLoading: false })); + const fetchPayload = { history: dummyKeywords[0].history || [], searchResult: dummyKeywords[0].lastResult || [] }; + useFetchSingleKeywordFunc.mockImplementation(() => ({ data: fetchPayload, isLoading: false })); useDeleteKeywordsFunc.mockImplementation(() => ({ mutate: () => { } })); useFavKeywordsFunc.mockImplementation(() => ({ mutate: () => { } })); useRefreshKeywordsFunc.mockImplementation(() => ({ mutate: () => { } })); @@ -67,16 +70,7 @@ describe('SingleDomain Page', () => { const keywords = document.querySelectorAll('.keyword'); const firstKeyword = keywords && keywords[0].querySelector('a'); if (firstKeyword) fireEvent.click(firstKeyword); - const fn: MockResponseInitFunction = async () => { - return new Promise((resolve) => { - resolve({ - body: JSON.stringify({ keyword: dummyKeywords[0] }), - status: 200, - }); - }); - }; - fetchMock.mockIf(`${window.location.origin}/api/keyword?id=${dummyKeywords[0].ID}`, fn); - + expect(useFetchSingleKeyword).toHaveBeenCalled(); expect(screen.getByTestId('keywordDetails')).toBeVisible(); }); it('Should Display the AddDomain Modal on Add Domain Button Click.', async () => {