v / vlib / orm / orm_string_interpolation_in_where_test.v
37 lines · 28 sloc · 594 bytes · 99be39cbd15d4bbb5ab14d2f870199908c00bc8d
Raw
1// vtest retry: 3
2import db.sqlite
3
4struct User {
5 id int @[primary; sql: serial]
6 name string
7}
8
9fn test_string_interpolation() {
10 mut db := sqlite.connect(':memory:') or { panic(err) }
11
12 sql db {
13 create table User
14 }!
15
16 user_suffix := '_user'
17
18 first_user := User{
19 name: 'first${user_suffix}'
20 }
21
22 second_user := User{
23 name: 'second${user_suffix}'
24 }
25
26 sql db {
27 insert first_user into User
28 insert second_user into User
29 }!
30
31 users := sql db {
32 select from User where name == 'first${user_suffix}'
33 }!
34
35 assert users.len == 1
36 assert users.first().name == 'first${user_suffix}'
37}
38