v2 / vlib / v / tests / orm_option_field_issue_18333_test.v
35 lines · 27 sloc · 536 bytes · 5e1a3164bbc2eb32d315f83ce91434c9f3a4d743
Raw
1// vtest build: present_sqlite3?
2module main
3
4import db.sqlite
5
6struct Client18333 {
7 id int @[primary; sql: serial]
8 name ?string
9}
10
11fn test_orm_option_field_issue_18333() {
12 mut db := sqlite.connect(':memory:') or { panic(err) }
13 defer {
14 db.close() or {}
15 }
16
17 sql db {
18 create table Client18333
19 }!
20
21 client := Client18333{
22 name: 'alice'
23 }
24
25 sql db {
26 insert client into Client18333
27 }!
28
29 rows := sql db {
30 select from Client18333 where name == 'alice'
31 }!
32
33 assert rows.len == 1
34 assert rows[0].name or { '' } == 'alice'
35}
36