X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Ftest-oodml.lisp;h=e1a9807db17459f4fccf3ef09df7812731b40dcc;hb=4edcfb48e6b87dee64a8be20e2ac79b5266538ba;hp=dadbfcbe6d542d753d7b20c80c21f562b5d22a30;hpb=a288098897afcc735a99d11999dbb30ce825d892;p=clsql.git diff --git a/tests/test-oodml.lisp b/tests/test-oodml.lisp index dadbfcb..e1a9807 100644 --- a/tests/test-oodml.lisp +++ b/tests/test-oodml.lisp @@ -127,7 +127,7 @@ ;; test retrieval of node, derived nodes etc (deftest :oodml/select/12 (with-dataset *ds-nodes* - (length (clsql:select 'node :where [node-id] :flatp t :caching nil))) + (length (clsql:select 'node :where [not [null [node-id]]] :flatp t :caching nil))) 11) (deftest :oodml/select/13 @@ -140,7 +140,7 @@ (deftest :oodml/select/14 (with-dataset *ds-nodes* - (length (clsql:select 'setting :where [setting-id] :flatp t :caching nil))) + (length (clsql:select 'setting :where [not [null [setting-id]]] :flatp t :caching nil))) 4) (deftest :oodml/select/15 @@ -155,7 +155,7 @@ (deftest :oodml/select/16 (with-dataset *ds-nodes* - (length (clsql:select 'user :where [user-id] :flatp t :caching nil))) + (length (clsql:select 'user :where [not [null [user-id]]] :flatp t :caching nil))) 2) (deftest :oodml/select/17 @@ -170,7 +170,7 @@ (deftest :oodml/select/18 (with-dataset *ds-nodes* - (length (clsql:select 'theme :where [theme-id] :flatp t :caching nil))) + (length (clsql:select 'theme :where [not [null [theme-id]]] :flatp t :caching nil))) 2) (deftest :oodml/select/19 @@ -203,7 +203,7 @@ (deftest :oodml/select/22 (with-dataset *ds-nodes* - (let ((a (car (clsql:select 'subloc :where [subloc-id] :flatp t :caching nil)))) + (let ((a (car (clsql:select 'subloc :where [not [null [subloc-id]]] :flatp t :caching nil)))) (values (slot-value a 'node-id) (slot-value a 'subloc-id) @@ -211,6 +211,13 @@ (slot-value a 'loc)))) 10 10 "subloc-1" "a subloc") +(deftest :oodml/select/23 + (with-dataset *ds-artists* + (length (clsql:select 'artist :flatp t :caching nil))) + 0) + + + ;; test retrieval is deferred (deftest :oodm/retrieval/1 (with-dataset *ds-employees* @@ -299,15 +306,16 @@ ;; tests update-record-from-slot (deftest :oodml/update-records/2 (with-dataset *ds-employees* + ;(start-sql-recording :type :both) (values (employee-email (car (clsql:select 'employee :where [= 1 [slot-value 'employee 'emplid]] :flatp t :caching nil))) - (progn - (setf (slot-value employee1 'email) "lenin-nospam@soviet.org") - (clsql:update-record-from-slot employee1 'email) + (progn + (setf (slot-value employee1 'email) "lenin-nospam@soviet.org") + (clsql:update-record-from-slot employee1 'email) (employee-email (car (clsql:select 'employee :where [= 1 [slot-value 'employee 'emplid]] @@ -546,6 +554,8 @@ (let ((sl (car (clsql:select 'subloc :where [= 10 [slot-value 'subloc 'subloc-id]] :flatp t :caching nil)))) + (unless sl + (error "Couldn't find expected sublocation")) (format nil "~a ~a ~a" (slot-value sl 'subloc-id) (slot-value sl 'title) @@ -568,6 +578,8 @@ (let ((sl (car (clsql:select 'subloc :where [= 10 [slot-value 'subloc 'subloc-id]] :flatp t :caching nil)))) + (unless sl + (error "In psfl: found no sublocation with id = 10")) (format nil "~a ~a ~a" (slot-value sl 'subloc-id) (slot-value sl 'title) @@ -577,6 +589,8 @@ (let ((sl (car (clsql:select 'subloc :where [= 10 [slot-value 'subloc 'subloc-id]] :flatp t :caching nil)))) + (unless sl + (error "Select for modification: Found no sublocation with id = 10")) (setf (slot-value sl 'title) "Altered subloc title") (setf (slot-value sl 'loc) "Altered loc") (clsql:update-record-from-slot sl 'title) @@ -585,9 +599,11 @@ (let ((sl (car (clsql:select 'subloc :where [= 10 [slot-value 'subloc 'subloc-id]] :flatp t :caching nil)))) + (unless sl + (error "Select for next modification: Found no sublocation with id = 10")) (setf (slot-value sl 'title) "subloc-1") (setf (slot-value sl 'loc) "a subloc") - (clsql:update-record-from-slot sl '(title loc)) + (clsql:update-record-from-slots sl '(title loc)) (print-fresh-subloc))))) "10 subloc-1 a subloc" "10 Altered subloc title Altered loc" @@ -614,6 +630,17 @@ ((42.0d0)) ((24.13d0))) +(deftest :oodml/update-records/11 + (with-dataset *ds-artists* + (clsql:update-records-from-instance artist1) + (list (name artist1) (artist_id artist1))) + ("Mogwai" 1)) + +(deftest :oodml/update-records/12 + (with-dataset *ds-artists* + (clsql:update-records-from-instance artist1) + (list (name artist1) (genre artist1))) + ("Mogwai" "Unknown")) ;; tests update-instance-from-records (deftest :oodml/update-instance/1