61 lines
1.6 KiB
Rust
61 lines
1.6 KiB
Rust
|
mod common;
|
||
|
use common::*;
|
||
|
|
||
|
const COLLECTION: &str = "Search";
|
||
|
const BUCKET: &str = "Query";
|
||
|
|
||
|
#[test]
|
||
|
fn should_find_object_by_full_text() {
|
||
|
let title = "Sweet Teriyaki Beef Skewers";
|
||
|
|
||
|
let ingest_channel = ingest_start();
|
||
|
ingest_channel.push(COLLECTION, BUCKET, "1", title).unwrap();
|
||
|
|
||
|
let search_channel = search_start();
|
||
|
match search_channel.query(COLLECTION, BUCKET, title) {
|
||
|
Ok(object_ids) => assert_eq!(object_ids, vec!["1"]),
|
||
|
Err(_) => unreachable!(),
|
||
|
}
|
||
|
|
||
|
flush_collection(COLLECTION);
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn should_find_object_by_parts() {
|
||
|
let title = "Sweet Teriyaki Beef Skewers";
|
||
|
|
||
|
let ingest_channel = ingest_start();
|
||
|
ingest_channel.push(COLLECTION, BUCKET, "1", title).unwrap();
|
||
|
|
||
|
let search_channel = search_start();
|
||
|
|
||
|
for word in title.split_whitespace() {
|
||
|
match search_channel.query(COLLECTION, BUCKET, word) {
|
||
|
Ok(object_ids) => assert_eq!(object_ids, vec!["1"]),
|
||
|
Err(_) => unreachable!(),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
flush_collection(COLLECTION);
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn should_find_many_objects() {
|
||
|
let ingest_channel = ingest_start();
|
||
|
ingest_channel
|
||
|
.push(COLLECTION, BUCKET, "1", "Sweet Teriyaki Beef Skewers")
|
||
|
.unwrap();
|
||
|
ingest_channel
|
||
|
.push(COLLECTION, BUCKET, "2", "Slow Cooker Beef Stew I")
|
||
|
.unwrap();
|
||
|
ingest_channel
|
||
|
.push(COLLECTION, BUCKET, "3", "Christmas Prime Rib")
|
||
|
.unwrap();
|
||
|
|
||
|
let search_channel = search_start();
|
||
|
match search_channel.query(COLLECTION, BUCKET, "Beef") {
|
||
|
Ok(object_ids) => assert_eq!(object_ids, vec!["2", "1"]),
|
||
|
Err(_) => unreachable!(),
|
||
|
}
|
||
|
}
|