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
19 changes: 19 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,22 @@ jobs:
uses: ibiqlik/action-yamllint@v3
with:
config_file: .yamllint.yml
types_test:
runs-on: ubuntu-latest
name: types-check
steps:
- uses: actions/checkout@v2
- name: Cache dependencies
uses: actions/cache@v2
with:
path: |
./node_modules
key: ${{ hashFiles('yarn.lock') }}
- name: Setup node
uses: actions/setup-node@v2
- name: Install dependencies
run: yarn --dev
- name: Build project
run: yarn build
- name: Run types check
run: yarn types
1 change: 1 addition & 0 deletions bors.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
status = [
'style-check',
'types-check',
'integration-tests (Node.js 12)',
'integration-tests (Node.js 14)',
'cypress-run'
Expand Down
9 changes: 5 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@meilisearch/instant-meilisearch",
"version": "0.5.10",
"version": "0.5.11",
"private": false,
"description": "The search client to use MeiliSearch with InstantSearch.",
"scripts": {
Expand All @@ -21,10 +21,11 @@
"playground:angular": "yarn --cwd ./playgrounds/angular && yarn --cwd ./playgrounds/angular start",
"postbuild": "yarn typingsheader",
"typingsheader": "node scripts/build.js",
"build": "yarn cleanup && rollup -c rollup.config.js && rollup --environment NODE_ENV:production -c rollup.config.js && tsc --emitDeclarationOnly",
"build": "yarn cleanup && rollup -c rollup.config.js && rollup --environment NODE_ENV:production -c rollup.config.js",
"dev": "rollup -c rollup.config.js --watch",
"lint": "eslint --ext .js,.ts,.tsx,.vue .",
"lint:fix": "eslint --ext .js,.ts,.tsx,.vue --fix ."
"lint:fix": "eslint --ext .js,.ts,.tsx,.vue --fix .",
"types": "yarn tsc"
},
"main": "./dist/instant-meilisearch.umd.js",
"module": "./dist/instant-meilisearch.esm.js",
Expand Down Expand Up @@ -54,7 +55,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
Loading