Skip to content

Commit 89bc820

Browse files
committed
Improve tests by mocking only the multiSearch function
1 parent b84fa2e commit 89bc820

File tree

1 file changed

+17
-46
lines changed

1 file changed

+17
-46
lines changed

packages/instant-meilisearch/__tests__/search-resolver.test.ts

Lines changed: 17 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { PACKAGE_VERSION } from '../src/package-version'
55
import { MeiliSearchMultiSearchParams } from '../src/types'
66
import { jest } from '@jest/globals'
77

8-
jest.mock('meilisearch')
8+
// jest.mock('meilisearch')
99

1010
export const searchResponse = {
1111
hits: [],
@@ -17,26 +17,17 @@ export const searchResponse = {
1717
exhaustiveNbHits: false,
1818
}
1919

20-
const mockedMultiSearch = jest.fn((request: MultiSearchParams) => {
21-
const response = request.queries.map((req: MeiliSearchMultiSearchParams) => ({
22-
...searchResponse,
23-
indexUid: req.indexUid,
24-
}))
25-
return {
26-
results: response,
27-
}
28-
})
29-
30-
// Mocking Meilisearch package
31-
jest.mock('meilisearch', () => {
32-
return {
33-
multiSearch: mockedMultiSearch,
34-
}
35-
})
36-
37-
38-
// Mocking of Meilisearch class
39-
const mockedMeilisearch = jest.mocked(MeiliSearch)
20+
const mockedMultiSearch = jest
21+
.spyOn(MeiliSearch.prototype, 'multiSearch')
22+
.mockImplementation((request: MultiSearchParams) => {
23+
const response = request.queries.map((req: MeiliSearchMultiSearchParams) => ({
24+
...searchResponse,
25+
indexUid: req.indexUid,
26+
}))
27+
return Promise.resolve({
28+
results: response,
29+
})
30+
})
4031

4132
describe('Cached search tests', () => {
4233
afterEach(() => {
@@ -54,11 +45,7 @@ describe('Cached search tests', () => {
5445
await searchClient.search<Movies>([searchParameters])
5546
await searchClient.search<Movies>([searchParameters])
5647

57-
expect(mockedMeilisearch).toHaveBeenCalledWith({
58-
host: 'http://localhost:7700',
59-
apiKey: '',
60-
clientAgents: [`Meilisearch instant-meilisearch (v${PACKAGE_VERSION})`],
61-
})
48+
6249
expect(mockedMultiSearch).toHaveBeenCalledTimes(2)
6350
})
6451

@@ -80,11 +67,7 @@ describe('Cached search tests', () => {
8067
await searchClient.search<Movies>([searchParameters1])
8168
await searchClient.search<Movies>([searchParameters2])
8269

83-
expect(mockedMeilisearch).toHaveBeenCalledWith({
84-
host: 'http://localhost:7700',
85-
apiKey: '',
86-
clientAgents: [`Meilisearch instant-meilisearch (v${PACKAGE_VERSION})`],
87-
})
70+
8871
expect(mockedMultiSearch).toHaveBeenCalledTimes(3)
8972
})
9073

@@ -107,11 +90,7 @@ describe('Cached search tests', () => {
10790
await searchClient.search<Movies>([searchParameters2])
10891
await searchClient.search<Movies>([searchParameters1])
10992

110-
expect(mockedMeilisearch).toHaveBeenCalledWith({
111-
host: 'http://localhost:7700',
112-
apiKey: '',
113-
clientAgents: [`Meilisearch instant-meilisearch (v${PACKAGE_VERSION})`],
114-
})
93+
11594
expect(mockedMultiSearch).toHaveBeenCalledTimes(3)
11695
})
11796

@@ -135,11 +114,7 @@ describe('Cached search tests', () => {
135114
await searchClient.search<Movies>([searchParameters1])
136115
await searchClient.search<Movies>([searchParameters2])
137116

138-
expect(mockedMeilisearch).toHaveBeenCalledWith({
139-
host: 'http://localhost:7700',
140-
apiKey: '',
141-
clientAgents: [`Meilisearch instant-meilisearch (v${PACKAGE_VERSION})`],
142-
})
117+
143118
expect(mockedMultiSearch).toHaveBeenCalledTimes(3)
144119
})
145120

@@ -171,11 +146,7 @@ describe('Cached search tests', () => {
171146
await searchClient.search<Movies>(searchParameters1)
172147
await searchClient.search<Movies>([searchParameters2])
173148

174-
expect(mockedMeilisearch).toHaveBeenCalledWith({
175-
host: 'http://localhost:7700',
176-
apiKey: '',
177-
clientAgents: [`Meilisearch instant-meilisearch (v${PACKAGE_VERSION})`],
178-
})
149+
179150

180151
expect(mockedMultiSearch).toHaveBeenCalledTimes(3)
181152
})

0 commit comments

Comments
 (0)