1
1
/* global describe, ddescribe, it, expect */
2
2
import { Loki } from "../../../loki/src/loki" ;
3
- import { QueryBuilder } from "../../src/query_builder " ;
3
+ import { FuzzyQuery , Query } from "../../src/query_types " ;
4
4
import { MemoryStorage } from "../../../memory-storage/src/memory_storage" ;
5
5
import { Collection } from "../../../loki/src/collection" ;
6
6
import { FullTextSearch } from "../../src/full_text_search" ;
@@ -31,13 +31,12 @@ describe("full-text search", () => {
31
31
} ) ;
32
32
33
33
it ( "usage" , ( ) => {
34
- let query = new QueryBuilder ( ) . fuzzy ( " name", "quak" ) . fuzziness ( 1 ) . build ( ) ;
34
+ let query : Query = { query : { type : " fuzzy" , field : " name", value : "quak" , fuzziness : 1 } } ;
35
35
expect ( coll . find ( { "$fts" : query } ) . length ) . toBe ( 3 ) ;
36
36
} ) ;
37
37
38
38
it ( "chained" , ( ) => {
39
- let query = new QueryBuilder ( ) . fuzzy ( "name" , "quak" ) . fuzziness ( 1 ) . build ( ) ;
40
-
39
+ let query : Query = { query : { type : "fuzzy" , field : "name" , value : "quak" , fuzziness : 1 } } ;
41
40
expect (
42
41
coll . find ( { "$fts" : query } ) ) . not . toEqual (
43
42
coll . find ( { "id" : { "$in" : [ 1 , 2 , 3 ] } } ) ) ;
@@ -67,7 +66,7 @@ describe("full-text search", () => {
67
66
return user ;
68
67
} ) ;
69
68
70
- let query = new QueryBuilder ( ) . fuzzy ( " name", "quak" ) . fuzziness ( 1 ) . build ( ) ;
69
+ let query : Query = { query : { type : " fuzzy" , field : " name", value : "quak" , fuzziness : 1 } } ;
71
70
expect ( coll . find ( { "$fts" : query } ) . length ) . toBe ( 2 ) ;
72
71
} ) ;
73
72
@@ -76,7 +75,7 @@ describe("full-text search", () => {
76
75
return user . name === "quak" ;
77
76
} ) ;
78
77
79
- let query = new QueryBuilder ( ) . fuzzy ( " name", "quak" ) . fuzziness ( 1 ) . build ( ) ;
78
+ let query : Query = { query : { type : " fuzzy" , field : " name", value : "quak" , fuzziness : 1 } } ;
80
79
expect ( coll . find ( { "$fts" : query } ) . length ) . toBe ( 2 ) ;
81
80
} ) ;
82
81
@@ -90,15 +89,15 @@ describe("full-text search", () => {
90
89
{ name : "abcdefg" , id : 4 } ,
91
90
] ) ;
92
91
93
- let query = new QueryBuilder ( ) . fuzzy ( " name", "quak" ) . fuzziness ( 1 ) . build ( ) ;
92
+ let query : Query = { query : { type : " fuzzy" , field : " name", value : "quak" , fuzziness : 1 } } ;
94
93
expect ( coll . find ( { "$fts" : query } ) . length ) . toBe ( 0 ) ;
95
94
96
- query = new QueryBuilder ( ) . fuzzy ( " name", "abcde" ) . fuzziness ( 1 ) . build ( ) ;
95
+ query = { query : { type : " fuzzy" , field : " name", value : "abcde" , fuzziness : 1 } } ;
97
96
expect ( coll . find ( { "$fts" : query } ) . length ) . toBe ( 3 ) ;
98
97
} ) ;
99
98
100
99
it ( "sort" , ( ) => {
101
- let query = new QueryBuilder ( ) . fuzzy ( " name", "quak" ) . fuzziness ( 2 ) . build ( ) ;
100
+ let query : Query = { query : { type : " fuzzy" , field : " name", value : "quak" , fuzziness : 2 } } ;
102
101
103
102
expect ( coll . chain ( ) . sortByScoring ) . toThrowAnyError ( ) ;
104
103
expect ( coll . chain ( ) . getScoring ) . toThrowAnyError ( ) ;
@@ -137,7 +136,7 @@ describe("full-text search", () => {
137
136
} ) ;
138
137
139
138
it ( "explain" , ( ) => {
140
- let query = new QueryBuilder ( ) . explain ( true ) . fuzzy ( " name", "quak" ) . fuzziness ( 2 ) . build ( ) ;
139
+ let query : Query = { query : { type : " fuzzy" , field : " name", value : "quak" , fuzziness : 2 } , explain : true } ;
141
140
let res = coll . chain ( ) . find ( { "$fts" : query } ) ;
142
141
expect ( res . data ( ) . length ) . toBe ( 4 ) ;
143
142
expect ( res . getScoring ( ) [ 0 ] . explanation ) . toBeArrayOfObjects ( ) ;
@@ -162,7 +161,7 @@ describe("full-text search", () => {
162
161
return db2 . loadDatabase ( ) ;
163
162
} ) . then ( ( ) => {
164
163
const coll2 = db2 . getCollection < User > ( "User" ) ;
165
- let query = new QueryBuilder ( ) . fuzzy ( " name", "quak" ) . fuzziness ( 1 ) . build ( ) ;
164
+ let query : Query = { query : { type : " fuzzy" , field : " name", value : "quak" , fuzziness : 1 } } ;
166
165
expect ( coll2 . find ( { "$fts" : query } ) . length ) . toBe ( 3 ) ;
167
166
done ( ) ;
168
167
} ) ;
@@ -198,7 +197,7 @@ describe("full-text search", () => {
198
197
return db2 . loadDatabase ( { fullTextSearch : { name : tkz } } ) ;
199
198
} ) . then ( ( ) => {
200
199
const coll2 = db2 . getCollection < User > ( "User" ) ;
201
- let query = new QueryBuilder ( ) . fuzzy ( " name", "quak" ) . fuzziness ( 1 ) . build ( ) ;
200
+ let query : Query = { query : { type : " fuzzy" , field : " name", value : "quak" , fuzziness : 1 } } ;
202
201
expect ( coll2 . find ( { "$fts" : query } ) . length ) . toBe ( 3 ) ;
203
202
done ( ) ;
204
203
} ) ;
0 commit comments