Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,6 @@ Example:

`hitsPerPage` has a value of `6` by default and can [be customized](#-hitsperpage).



### Finite Pagination

Finite pagination is used when you want to add a numbered pagination at the bottom of your hits (for example: `< << 1, 2, 3 > >>`).
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"test:build": "yarn build && jest --runInBand --selectProjects build",
"test:e2e": "yarn local:env:setup && concurrently --kill-others -s first \"yarn local:env:react\" \"cypress run --env playground=local \"",
"test:e2e:watch": "yarn local:env:setup && concurrently --kill-others -s first \"yarn local:env:react\" \"cypress open --env playground=local\"",
"test:all": "yarn test:e2e:all && yarn test && test:build",
"test:all": "yarn test:e2e && yarn test && yarn test:build",
"cy:open": "cypress open",
"playground:vue": "yarn --cwd ./playgrounds/vue && yarn --cwd ./playgrounds/vue serve",
"playground:react": "yarn --cwd ./playgrounds/react && yarn --cwd ./playgrounds/react start",
Expand Down
5 changes: 2 additions & 3 deletions src/client/instant-meilisearch-client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,9 @@ export function instantMeiliSearch(
const searchResolver = SearchResolver(SearchCache())
// paginationTotalHits can be 0 as it is a valid number
let defaultFacetDistribution: any = {}
const meilisearchClient = new MeiliSearch({ host: hostUrl, apiKey: apiKey })

return {
MeiliSearchClient: new MeiliSearch({ host: hostUrl, apiKey: apiKey }),

/**
* @param {readonlyAlgoliaMultipleQueriesQuery[]} instantSearchRequests
* @returns {Array}
Expand All @@ -57,7 +56,7 @@ export function instantMeiliSearch(
const searchResponse = await searchResolver.searchResponse(
searchContext,
adaptedSearchRequest,
this.MeiliSearchClient
meilisearchClient
)

// Cache first facets distribution of the instantMeilisearch instance
Expand Down
4 changes: 1 addition & 3 deletions src/types/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,4 @@ export type SearchContext = Omit<
pagination: PaginationContext
}

export type InstantMeiliSearchInstance = SearchClient & {
MeiliSearchClient: MeiliSearch
}
export type InstantMeiliSearchInstance = SearchClient
13 changes: 12 additions & 1 deletion tests/assets/utils.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { instantMeiliSearch } from '../../src'
import { MeiliSearch } from 'meilisearch'

const dataset = [
{
Expand Down Expand Up @@ -223,5 +224,15 @@ const wrongSearchClient = instantMeiliSearch(
'http://localhost:7777',
'masterKey'
)
const meilisearchClient = new MeiliSearch({
host: 'http://localhost:7700',
apiKey: 'masterKey',
})

export { searchClient, dataset, wrongSearchClient, geoDataset }
export {
searchClient,
dataset,
wrongSearchClient,
geoDataset,
meilisearchClient,
}
7 changes: 0 additions & 7 deletions tests/base.tests.ts

This file was deleted.

12 changes: 4 additions & 8 deletions tests/build.tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ const CJSclient = CJSinstantMeiliSearch('http://localhost:7700', 'masterKey')
const instantsearch = require('instantsearch.js')

test('UMD client should correctly created', () => {
expect(UMDclient.MeiliSearchClient.config.apiKey).toBe('masterKey')
expect(UMDclient.search).not.toBeUndefined()
})

test('CJS client should correctly created', () => {
expect(CJSclient.MeiliSearchClient.config.apiKey).toBe('masterKey')
expect(CJSclient.search).not.toBeUndefined()
})

test('CJS instantsearch client should correctly created', () => {
Expand All @@ -23,9 +23,7 @@ test('CJS instantsearch client should correctly created', () => {
searchClient: CJSclient,
})
expect(CJSInstantSearch.indexName).toBe('cjs_index')
expect(CJSInstantSearch.client.MeiliSearchClient.config.apiKey).toBe(
'masterKey'
)
expect(CJSInstantSearch.client.search).not.toBeUndefined()
})

test('UMD instantsearch client should correctly created', () => {
Expand All @@ -34,7 +32,5 @@ test('UMD instantsearch client should correctly created', () => {
searchClient: UMDclient,
})
expect(UMDInstantSearch.indexName).toBe('umd_index')
expect(UMDInstantSearch.client.MeiliSearchClient.config.apiKey).toBe(
'masterKey'
)
expect(UMDInstantSearch.client.search).not.toBeUndefined()
})
23 changes: 12 additions & 11 deletions tests/configure.attributes-to-retrieve.tests.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
import { searchClient, dataset, Movies } from './assets/utils'
import {
searchClient,
dataset,
Movies,
meilisearchClient,
} from './assets/utils'

describe('Instant Meilisearch Browser test', () => {
beforeAll(async () => {
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)
const deleteTask = await meilisearchClient.deleteIndex('movies')
await meilisearchClient.waitForTask(deleteTask.uid)

const documentsTask = await searchClient.MeiliSearchClient.index(
'movies'
).addDocuments(dataset)
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
const documentsTask = await meilisearchClient
.index('movies')
.addDocuments(dataset)
await meilisearchClient.index('movies').waitForTask(documentsTask.uid)
})

test('Test attributesToRetrieve on no attributes', async () => {
Expand Down
24 changes: 10 additions & 14 deletions tests/facets-distribution.tests.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
import { searchClient, dataset } from './assets/utils'
import { searchClient, dataset, meilisearchClient } from './assets/utils'

describe('Instant Meilisearch Browser test', () => {
beforeAll(async () => {
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)
await searchClient.MeiliSearchClient.index(
'movies'
).updateFilterableAttributes(['genres'])
const documentsTask = await searchClient.MeiliSearchClient.index(
'movies'
).addDocuments(dataset)
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
const deleteTask = await meilisearchClient.deleteIndex('movies')
await meilisearchClient.waitForTask(deleteTask.uid)
await meilisearchClient
.index('movies')
.updateFilterableAttributes(['genres'])
const documentsTask = await meilisearchClient
.index('movies')
.addDocuments(dataset)
await meilisearchClient.index('movies').waitForTask(documentsTask.uid)
})

test('Test empty array on facetsDistribution', async () => {
Expand Down
29 changes: 15 additions & 14 deletions tests/filter.tests.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
import { searchClient, dataset, Movies } from './assets/utils'
import {
searchClient,
dataset,
Movies,
meilisearchClient,
} from './assets/utils'

describe('Instant Meilisearch Browser test', () => {
beforeAll(async () => {
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)
await searchClient.MeiliSearchClient.index(
'movies'
).updateFilterableAttributes(['genres', 'title'])
const documentsTask = await searchClient.MeiliSearchClient.index(
'movies'
).addDocuments(dataset)
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
const deleteTask = await meilisearchClient.deleteIndex('movies')
await meilisearchClient.waitForTask(deleteTask.uid)
await meilisearchClient
.index('movies')
.updateFilterableAttributes(['genres', 'title'])
const documentsTask = await meilisearchClient
.index('movies')
.addDocuments(dataset)
await meilisearchClient.index('movies').waitForTask(documentsTask.uid)
})

test('Test one string facet on filter without a query', async () => {
Expand Down
33 changes: 16 additions & 17 deletions tests/geosearch.tests.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
import { searchClient, geoDataset, City } from './assets/utils'
import {
searchClient,
geoDataset,
City,
meilisearchClient,
} from './assets/utils'

describe('Instant Meilisearch Browser test', () => {
beforeAll(async () => {
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'geotest'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)
await searchClient.MeiliSearchClient.index(
'geotest'
).updateFilterableAttributes(['_geo'])
await searchClient.MeiliSearchClient.index(
'geotest'
).updateSortableAttributes(['_geo'])
const documentsTask = await searchClient.MeiliSearchClient.index(
'geotest'
).addDocuments(geoDataset)
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
const deleteTask = await meilisearchClient.deleteIndex('geotest')
await meilisearchClient.waitForTask(deleteTask.uid)
await meilisearchClient
.index('geotest')
.updateFilterableAttributes(['_geo'])
await meilisearchClient.index('geotest').updateSortableAttributes(['_geo'])
const documentsTask = await meilisearchClient
.index('geotest')
.addDocuments(geoDataset)
await meilisearchClient.index('movies').waitForTask(documentsTask.uid)
})

test('Test aroundRadius and aroundLatLng in geo search', async () => {
Expand Down
29 changes: 15 additions & 14 deletions tests/highlight.tests.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
import { searchClient, dataset, Movies } from './assets/utils'
import {
searchClient,
dataset,
Movies,
meilisearchClient,
} from './assets/utils'

describe('Highlight Browser test', () => {
beforeAll(async () => {
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)
await searchClient.MeiliSearchClient.index(
'movies'
).updateFilterableAttributes(['genres'])
const documentsTask = await searchClient.MeiliSearchClient.index(
'movies'
).addDocuments(dataset)
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
const deleteTask = await meilisearchClient.deleteIndex('movies')
await meilisearchClient.waitForTask(deleteTask.uid)
await meilisearchClient
.index('movies')
.updateFilterableAttributes(['genres'])
const documentsTask = await meilisearchClient
.index('movies')
.addDocuments(dataset)
await meilisearchClient.index('movies').waitForTask(documentsTask.uid)
})

test('Test one attributesToHighlight on wrong attribute placeholder', async () => {
Expand Down
29 changes: 15 additions & 14 deletions tests/pagination.tests.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
import { instantMeiliSearch } from '../src'
import { searchClient, dataset, Movies } from './assets/utils'
import {
searchClient,
dataset,
Movies,
meilisearchClient,
} from './assets/utils'

describe('Pagination browser test', () => {
beforeAll(async () => {
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)
await searchClient.MeiliSearchClient.index(
'movies'
).updateFilterableAttributes(['genres'])
const documentsTask = await searchClient.MeiliSearchClient.index(
'movies'
).addDocuments(dataset)
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
const deleteTask = await meilisearchClient.deleteIndex('movies')
await meilisearchClient.waitForTask(deleteTask.uid)
await meilisearchClient
.index('movies')
.updateFilterableAttributes(['genres'])
const documentsTask = await meilisearchClient
.index('movies')
.addDocuments(dataset)
await meilisearchClient.index('movies').waitForTask(documentsTask.uid)
})

test('Test 1 hitsPerPage', async () => {
Expand Down
29 changes: 15 additions & 14 deletions tests/snippets.tests.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
import { searchClient, dataset, Movies } from './assets/utils'
import {
searchClient,
dataset,
Movies,
meilisearchClient,
} from './assets/utils'

describe('Snippet Browser test', () => {
beforeAll(async () => {
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)
await searchClient.MeiliSearchClient.index(
'movies'
).updateFilterableAttributes(['genres'])
const documentsTask = await searchClient.MeiliSearchClient.index(
'movies'
).addDocuments(dataset)
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
const deleteTask = await meilisearchClient.deleteIndex('movies')
await meilisearchClient.waitForTask(deleteTask.uid)
await meilisearchClient
.index('movies')
.updateFilterableAttributes(['genres'])
const documentsTask = await meilisearchClient
.index('movies')
.addDocuments(dataset)
await meilisearchClient.index('movies').waitForTask(documentsTask.uid)
})

test('Test one attributesToSnippet on placeholder', async () => {
Expand Down