Skip to content

Commit 171ac47

Browse files
committed
Improve browser tests to guarantee search also works
1 parent 4a818b3 commit 171ac47

File tree

7 files changed

+78
-25
lines changed

7 files changed

+78
-25
lines changed

.github/workflows/pre-release-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ jobs:
6868
with:
6969
config_file: .yamllint.yml
7070

71-
types_test:
71+
types_check:
7272
runs-on: ubuntu-latest
73-
name: types-test
73+
name: types-check
7474
steps:
7575
- uses: actions/checkout@v2
7676
- name: Cache dependencies

.github/workflows/tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ jobs:
7373
with:
7474
config_file: .yamllint.yml
7575

76-
types_test:
76+
types_check:
7777
runs-on: ubuntu-latest
78-
name: types-test
78+
name: types-check
7979
steps:
8080
- uses: actions/checkout@v2
8181
- name: Cache dependencies

bors.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
status = [
22
'linter-check',
3+
'types-check',
34
'integration-tests (Node.js 12)',
45
'integration-tests (Node.js 14)',
5-
'integration-tests (Node.js 16)',
6-
'types-test'
6+
'integration-tests (Node.js 16)'
77
]
88
# 1 hour timeout
99
timeout-sec = 3600

tests/env/browser/index.html

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,56 @@
11
<!DOCTYPE html>
22
<html>
3+
34
<head>
45
<meta charset='utf-8'>
56
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
67
<title>Page Title</title>
78
<meta name='viewport' content='width=device-width, initial-scale=1'>
89
</head>
10+
911
<body>
10-
Indexes:
11-
<div id="indexes"></div>
1212
</body>
13+
1314
</html>
14-
<script src="../../../dist/bundles/meilisearch.umd.js"></script>
15+
<script src="meilisearch.umd.js"></script>
1516
<script>
16-
const client = new window.MeiliSearch({
17-
host: 'http://127.0.0.1:7700',
18-
apiKey: 'masterKey',
19-
})
20-
client.getIndexes().then(res => {
21-
console.log({ res });
22-
res.map(index => document.querySelector('#indexes').innerHTML = `<div>${index.name}</div>`)
23-
})
17+
; (async () => {
18+
19+
try {
20+
const UID = "testIndex"
21+
22+
// also works with window.MeiliSearch
23+
24+
const client = new window.MeiliSearch({
25+
host: 'http://127.0.0.1:7700',
26+
apiKey: 'masterKey',
27+
})
28+
const task = await client.createIndex(UID)
29+
await client.waitForTask(task.uid)
30+
31+
const documentTask = await client.index(UID).addDocuments([{ id: 1, title: "wonder woman" }])
32+
await client.waitForTask(documentTask.uid)
33+
34+
const index = await client.index(UID).getRawInfo()
35+
36+
// Create dynamic element to wait on with puppeteer
37+
const indexDiv = document.createElement("div");
38+
indexDiv.setAttribute("id", "indexes");
39+
indexDiv.innerHTML = index.uid
40+
document.body.insertBefore(indexDiv, document.querySelector("#content"));
41+
42+
const searchDiv = document.createElement("div");
43+
searchDiv.setAttribute("id", "search");
44+
const search = await client.index(UID).search()
45+
searchDiv.innerHTML = JSON.stringify(search)
46+
document.body.insertBefore(searchDiv, document.querySelector("#content"));
47+
48+
const deleteTask = await client.index(UID).delete()
49+
await client.waitForTask(deleteTask.uid)
50+
} catch (e) {
51+
console.error(e);
52+
}
53+
})()
54+
55+
2456
</script>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../dist/bundles/meilisearch.umd.js

tests/env/express/public/index.html

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,36 @@
1717
<script src="./meilisearch.umd.js"></script>
1818
<script>
1919
; (async () => {
20+
2021
try {
22+
const UID = "testIndex"
23+
2124
// also works with window.MeiliSearch
2225
const client = new MeiliSearch({
2326
host: 'http://127.0.0.1:7700',
2427
apiKey: 'masterKey',
2528
})
26-
const task = await client.createIndex("testIndex")
29+
const task = await client.createIndex(UID)
2730
await client.waitForTask(task.uid)
28-
const index = await client.index("testIndex").getRawInfo()
31+
32+
const documentTask = await client.index(UID).addDocuments([{ id: 1, title: "wonder woman" }])
33+
await client.waitForTask(documentTask.uid)
34+
35+
const index = await client.index(UID).getRawInfo()
2936

3037
// Create dynamic element to wait on with puppeteer
31-
const newDiv = document.createElement("div");
32-
newDiv.setAttribute("id", "indexes");
33-
newDiv.innerHTML = index.uid
38+
const indexDiv = document.createElement("div");
39+
indexDiv.setAttribute("id", "indexes");
40+
indexDiv.innerHTML = index.uid
41+
document.body.insertBefore(indexDiv, document.querySelector("#content"));
42+
43+
const searchDiv = document.createElement("div");
44+
searchDiv.setAttribute("id", "search");
45+
const search = await client.index(UID).search()
46+
searchDiv.innerHTML = JSON.stringify(search)
47+
document.body.insertBefore(searchDiv, document.querySelector("#content"));
3448

35-
document.body.insertBefore(newDiv, document.querySelector("#content"));
36-
const deleteTask = await client.index("testIndex").delete()
49+
const deleteTask = await client.index(UID).delete()
3750
await client.waitForTask(deleteTask.uid)
3851
} catch (e) {
3952
console.error(e);

tests/env/express/tests/client.test.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,17 @@ describe('MeiliSearch JS Browser test', () => {
33
await page.goto('http://localhost:3000')
44
})
55

6-
it('Should have generated a meilisearch client and displayed', async () => {
6+
it('Should have created an index and displayed it', async () => {
77
await page.waitForSelector("#indexes")
88
await expect(
99
page.content()
1010
).resolves.toMatch('testIndex')
1111
})
12+
13+
it('Should have successfully searched on the index', async () => {
14+
await page.waitForSelector("#indexes")
15+
await expect(
16+
page.content()
17+
).resolves.toMatch('wonder woman')
18+
})
1219
})

0 commit comments

Comments
 (0)