Skip to content

Commit 5ec4900

Browse files
Add: explain tests for select tests
1 parent e1ff8e9 commit 5ec4900

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

tests/select.rs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,3 +382,39 @@ fn select_star_and_subquery_field_builds() {
382382
"SELECT *, (SELECT recent FROM sessions ORDER BY ts DESC LIMIT 1) FROM users"
383383
);
384384
}
385+
386+
#[test]
387+
fn explain_simple_builds() {
388+
let sql = QueryBuilder::select(surrealex::fields!("id"))
389+
.from("users")
390+
.explain()
391+
.build();
392+
assert_eq!(sql, "SELECT id FROM users EXPLAIN");
393+
}
394+
395+
#[test]
396+
fn explain_full_builds() {
397+
let sql = QueryBuilder::select(surrealex::fields!("id"))
398+
.from("users")
399+
.explain_full()
400+
.build();
401+
assert_eq!(sql, "SELECT id FROM users EXPLAIN FULL");
402+
}
403+
404+
#[test]
405+
fn where_order_limit_fetch_with_explain_full_builds() {
406+
let sql = QueryBuilder::select(surrealex::fields!("id"))
407+
.from("users")
408+
.r#where("active = true")
409+
.order_by("name", Sort::Asc)
410+
.limit(10)
411+
.start_at(5)
412+
.fetch(vec!["profile"])
413+
.explain_full()
414+
.build();
415+
416+
assert_eq!(
417+
sql,
418+
"SELECT id FROM users WHERE active = true ORDER BY name ASC LIMIT 10 START AT 5 FETCH profile EXPLAIN FULL"
419+
);
420+
}

0 commit comments

Comments
 (0)