v2 / vlib / v / tests / orm_if_expr_value_test.v
40 lines · 37 sloc · 692 bytes · 04eff2712c3b0c58c16dab126f05bcc0f6c1f8ac
Raw
1import db.sqlite
2
3struct IfExprUser {
4 name string
5}
6
7fn test_orm_select_as_if_expr_value() {
8 mut db := sqlite.connect(':memory:') or { panic(err) }
9 defer {
10 db.close() or { panic(err) }
11 }
12 use_empty_branch := false
13 users := if use_empty_branch {
14 []IfExprUser{}
15 } else {
16 sql db {
17 select from IfExprUser
18 } or { []IfExprUser{} }
19 }
20 assert users.len == 0
21}
22
23fn test_orm_insert_as_if_expr_value() {
24 mut db := sqlite.connect(':memory:') or { panic(err) }
25 defer {
26 db.close() or { panic(err) }
27 }
28 user := IfExprUser{
29 name: 'Grace'
30 }
31 use_insert_branch := true
32 _ = if use_insert_branch {
33 sql db {
34 insert user into IfExprUser
35 } or { 1 }
36 } else {
37 0
38 }
39 assert true
40}
41