a database layer insipred by caqti and ecto
at main 1.3 kB view raw
1open Repodb 2open Common 3 4let test_field_name () = 5 Alcotest.(check string) "field name" "name" (Field.name name_field) 6 7let test_field_qualified_name () = 8 Alcotest.(check string) 9 "qualified name" "users.name" 10 (Field.qualified_name name_field) 11 12let test_field_get () = 13 let user = make_user ~name:"Alice" () in 14 Alcotest.(check string) "get field value" "Alice" (Field.get name_field user) 15 16let test_field_set () = 17 let user = make_user ~name:"Alice" () in 18 let updated = Field.set name_field "Bob" user in 19 Alcotest.(check string) "set field value" "Bob" updated.name 20 21let test_field_is_primary_key () = 22 Alcotest.(check bool) "id is primary key" true (Field.is_primary_key id_field); 23 Alcotest.(check bool) 24 "name is not primary key" false 25 (Field.is_primary_key name_field) 26 27let test_field_is_nullable () = 28 Alcotest.(check bool) 29 "name is not nullable" false 30 (Field.is_nullable name_field) 31 32let tests = 33 [ 34 ("field name", `Quick, test_field_name); 35 ("field qualified_name", `Quick, test_field_qualified_name); 36 ("field get", `Quick, test_field_get); 37 ("field set", `Quick, test_field_set); 38 ("field is_primary_key", `Quick, test_field_is_primary_key); 39 ("field is_nullable", `Quick, test_field_is_nullable); 40 ]