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: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
"url": "https://github.com/meilisearch/instant-meilisearch.git"
},
"dependencies": {
"meilisearch": "^0.23.0"
"meilisearch": "0.24.0-beta.0"
},
"devDependencies": {
"@babel/cli": "^7.16.0",
Expand Down
110 changes: 51 additions & 59 deletions tests/configure.attributes-to-retrieve.tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ import { searchClient, dataset, Movies } from './assets/utils'

describe('Instant MeiliSearch Browser test', () => {
beforeAll(async () => {
try {
await searchClient.MeiliSearchClient.deleteIndex('movies')
} catch (e) {
// movies does not exist
}
const moviesUpdate = await searchClient.MeiliSearchClient.index(
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)

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

Expand Down Expand Up @@ -43,18 +43,14 @@ describe('Instant MeiliSearch Browser test', () => {
},
},
])
const notRetrieved = [
'id',
'overview',
'genres',
'poster',
'release_date',
'title',
]

const hit = <Movies>response.results[0].hits[0]
notRetrieved.map((attribute: string) =>
expect(hit[attribute]).not.toBeDefined()
)
expect(hit.id).not.toBeDefined()
expect(hit.overview).not.toBeDefined()
expect(hit.genres).not.toBeDefined()
expect(hit.poster).not.toBeDefined()
expect(hit.release_date).not.toBeDefined()
expect(hit.title).not.toBeDefined()
})

test('Test attributesToRetrieve on one non existing attribute', async () => {
Expand All @@ -67,20 +63,15 @@ describe('Instant MeiliSearch Browser test', () => {
},
},
])
const notRetrieved = [
'id',
'overview',
'genres',
'poster',
'release_date',
'title',
]

const hit = <Movies>response.results[0].hits[0]
notRetrieved.map(
(attribute: string) =>
hit._highlightResult &&
expect(hit._highlightResult[attribute]).toBeDefined()
)

expect(hit._highlightResult?.id).toBeDefined()
expect(hit._highlightResult?.overview).toBeDefined()
expect(hit._highlightResult?.genres).toBeDefined()
expect(hit._highlightResult?.poster).toBeDefined()
expect(hit._highlightResult?.release_date).toBeDefined()
expect(hit._highlightResult?.title).toBeDefined()
})

test('Test attributesToRetrieve on one existing attribute', async () => {
Expand All @@ -93,12 +84,14 @@ describe('Instant MeiliSearch Browser test', () => {
},
},
])
const notRetrieved = ['id', 'overview', 'genres', 'poster', 'release_date']
const hit = <Movies>response.results[0].hits[0]
expect(hit.title).toEqual('Ariel')
notRetrieved.map((attribute: string) =>
expect(hit[attribute]).not.toBeDefined()
)
expect(hit.id).not.toBeDefined()
expect(hit.overview).not.toBeDefined()
expect(hit.genres).not.toBeDefined()
expect(hit.poster).not.toBeDefined()
expect(hit.release_date).not.toBeDefined()
expect(hit.title).toBeDefined()
})

test('Test attributesToRetrieve on default value', async () => {
Expand All @@ -110,18 +103,24 @@ describe('Instant MeiliSearch Browser test', () => {
},
},
])
const notRetrieved = ['id', 'overview', 'genres', 'poster', 'release_date']

const hit = <Movies>response.results[0].hits[0]
expect(hit.title).toEqual('Ariel')
expect(hit._highlightResult).toBeDefined()
notRetrieved.map((attribute: string) =>
expect(hit[attribute]).toBeDefined()
)
notRetrieved.map(
(attribute: string) =>
hit._highlightResult &&
expect(hit._highlightResult[attribute]).toBeDefined()
)

expect(hit.id).toBeDefined()
expect(hit.overview).toBeDefined()
expect(hit.genres).toBeDefined()
expect(hit.poster).toBeDefined()
expect(hit.release_date).toBeDefined()
expect(hit.title).toBeDefined()

expect(hit._highlightResult?.id).toBeDefined()
expect(hit._highlightResult?.overview).toBeDefined()
expect(hit._highlightResult?.genres).toBeDefined()
expect(hit._highlightResult?.poster).toBeDefined()
expect(hit._highlightResult?.release_date).toBeDefined()
expect(hit._highlightResult?.title).toBeDefined()
})

test('Test attributesToRetrieve on wild card', async () => {
Expand All @@ -134,21 +133,14 @@ describe('Instant MeiliSearch Browser test', () => {
},
},
])
const retrieved = [
'id',
'overview',
'genres',
'poster',
'release_date',
'title',
]

const hit = <Movies>response.results[0].hits[0]
expect(hit.title).toEqual('Ariel')
retrieved.map((attribute: string) => expect(hit[attribute]).toBeDefined())
retrieved.map(
(attribute: string) =>
hit._highlightResult &&
expect(hit._highlightResult[attribute]).toBeDefined()
)
expect(hit._highlightResult?.id).toBeDefined()
expect(hit._highlightResult?.overview).toBeDefined()
expect(hit._highlightResult?.genres).toBeDefined()
expect(hit._highlightResult?.poster).toBeDefined()
expect(hit._highlightResult?.release_date).toBeDefined()
expect(hit._highlightResult?.title).toBeDefined()
})
})
15 changes: 7 additions & 8 deletions tests/facets-distribution.tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,18 @@ import { searchClient, dataset } from './assets/utils'

describe('Instant MeiliSearch Browser test', () => {
beforeAll(async () => {
try {
await searchClient.MeiliSearchClient.deleteIndex('movies')
} catch (e) {
// movies does not exist
}
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)
await searchClient.MeiliSearchClient.index(
'movies'
).updateFilterableAttributes(['genres'])
const moviesUpdate = await searchClient.MeiliSearchClient.index(
const documentsTask = await searchClient.MeiliSearchClient.index(
'movies'
).addDocuments(dataset)
await searchClient.MeiliSearchClient.index('movies').waitForPendingUpdate(
moviesUpdate.updateId
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
})

Expand Down
15 changes: 7 additions & 8 deletions tests/filter.tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,18 @@ import { searchClient, dataset, Movies } from './assets/utils'

describe('Instant MeiliSearch Browser test', () => {
beforeAll(async () => {
try {
await searchClient.MeiliSearchClient.deleteIndex('movies')
} catch (e) {
// movies does not exist
}
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)
await searchClient.MeiliSearchClient.index(
'movies'
).updateFilterableAttributes(['genres', 'title'])
const moviesUpdate = await searchClient.MeiliSearchClient.index(
const documentsTask = await searchClient.MeiliSearchClient.index(
'movies'
).addDocuments(dataset)
await searchClient.MeiliSearchClient.index('movies').waitForPendingUpdate(
moviesUpdate.updateId
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
})

Expand Down
15 changes: 7 additions & 8 deletions tests/geosearch.tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,21 @@ import { searchClient, geoDataset, City } from './assets/utils'

describe('Instant MeiliSearch Browser test', () => {
beforeAll(async () => {
try {
await searchClient.MeiliSearchClient.deleteIndex('geotest')
} catch (e) {
// geotest does not exist
}
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 geotestUpdate = await searchClient.MeiliSearchClient.index(
const documentsTask = await searchClient.MeiliSearchClient.index(
'geotest'
).addDocuments(geoDataset)
await searchClient.MeiliSearchClient.index('geotest').waitForPendingUpdate(
geotestUpdate.updateId
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
})

Expand Down
25 changes: 10 additions & 15 deletions tests/highlight.tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,18 @@ import { searchClient, dataset, Movies } from './assets/utils'

describe('Highlight Browser test', () => {
beforeAll(async () => {
try {
await searchClient.MeiliSearchClient.deleteIndex('movies')
} catch (e) {
// movies does not exist
}
const moviesUpdate = await searchClient.MeiliSearchClient.index(
'movies'
).addDocuments(dataset)
const settingsUpdate = await searchClient.MeiliSearchClient.index(
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
).updateFilterableAttributes(['genres']) // if settings update is put before document addition relevancy is impacted

await searchClient.MeiliSearchClient.index('movies').waitForPendingUpdate(
moviesUpdate.updateId
)
await searchClient.MeiliSearchClient.index('movies').waitForPendingUpdate(
settingsUpdate.updateId
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
)
})

Expand Down
15 changes: 7 additions & 8 deletions tests/pagination.tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,18 @@ import { searchClient, dataset, Movies } from './assets/utils'

describe('Pagination browser test', () => {
beforeAll(async () => {
try {
await searchClient.MeiliSearchClient.deleteIndex('movies')
} catch (e) {
// movies does not exist
}
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)
await searchClient.MeiliSearchClient.index(
'movies'
).updateFilterableAttributes(['genres'])
const moviesUpdate = await searchClient.MeiliSearchClient.index(
const documentsTask = await searchClient.MeiliSearchClient.index(
'movies'
).addDocuments(dataset)
await searchClient.MeiliSearchClient.index('movies').waitForPendingUpdate(
moviesUpdate.updateId
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
})

Expand Down
15 changes: 7 additions & 8 deletions tests/snippets.tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,18 @@ import { searchClient, dataset, Movies } from './assets/utils'

describe('Snippet Browser test', () => {
beforeAll(async () => {
try {
await searchClient.MeiliSearchClient.deleteIndex('movies')
} catch (e) {
// movies does not exist
}
const deleteTask = await searchClient.MeiliSearchClient.deleteIndex(
'movies'
)
await searchClient.MeiliSearchClient.waitForTask(deleteTask.uid)
await searchClient.MeiliSearchClient.index(
'movies'
).updateFilterableAttributes(['genres'])
const moviesUpdate = await searchClient.MeiliSearchClient.index(
const documentsTask = await searchClient.MeiliSearchClient.index(
'movies'
).addDocuments(dataset)
await searchClient.MeiliSearchClient.index('movies').waitForPendingUpdate(
moviesUpdate.updateId
await searchClient.MeiliSearchClient.index('movies').waitForTask(
documentsTask.uid
)
})

Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5067,10 +5067,10 @@ mdn-data@2.0.4:
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==

meilisearch@^0.23.0:
version "0.23.0"
resolved "https://registry.yarnpkg.com/meilisearch/-/meilisearch-0.23.0.tgz#eed5098bd147c13658c3f92e658df9cbfb9e8953"
integrity sha512-bLNonPJK2pJz2akjwolcc/Eqnz/GKJ7y1I4Flg4zjL+v0yPFyIGFFdfe0dw93JWFJWj/RbLS2Q6dDTobZQ9Ehg==
meilisearch@0.24.0-beta.0:
version "0.24.0-beta.0"
resolved "https://registry.yarnpkg.com/meilisearch/-/meilisearch-0.24.0-beta.0.tgz#ebbc7c59fe7152c4dc0e9e3002a906f1e7c4a89e"
integrity sha512-dQDyTPs1e8Zf+LmGv7gEfWPNuv1+3OeFjRCVqSkUsTFEApD2zZtOPstXYSIgksqxyt9XTe38CCQO0m4DVVrP3A==
dependencies:
cross-fetch "^3.1.4"

Expand Down