X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Ftest-init.lisp;h=ed949879c440b32c3a5ffd5116845f929d994fb6;hb=69df048c1413aa55d9816ad4c7d6f32ae2d6c6cc;hp=99c3a47c5abbd215a1f472ba7700d2d3c22fd097;hpb=aced01441ccf8a826de544ed34bed4d8616a14ee;p=clsql.git diff --git a/tests/test-init.lisp b/tests/test-init.lisp index 99c3a47..ed94987 100644 --- a/tests/test-init.lisp +++ b/tests/test-init.lisp @@ -64,14 +64,14 @@ :accessor employee-email :type (string 100) :initarg :email) - (companyid + (ecompanyid :type integer :initarg :companyid) (company :accessor employee-company :db-kind :join :db-info (:join-class company - :home-key companyid + :home-key ecompanyid :foreign-key companyid :set nil)) (managerid @@ -89,7 +89,7 @@ :db-kind :join :db-info (:join-class employee-address :home-key emplid - :foreign-key emplid + :foreign-key aemplid :target-slot address :set t))) (:base-table employee)) @@ -123,10 +123,8 @@ :db-kind :join :db-info (:join-class employee :home-key (companyid groupid) - :foreign-key (companyid groupid) - :set t))) - (:base-table company)) - + :foreign-key (ecompanyid groupid) + :set t)))) (def-view-class address () ((addressid @@ -147,22 +145,23 @@ :type (string 30) :initarg :city) (postal-code - :column "zip" + :column zip :type integer :void-value 0 - :initarg :postal-code))) + :initarg :postal-code)) + (:base-table addr)) ;; many employees can reside at many addressess (def-view-class employee-address () - ((emplid :type integer - :initarg :emplid) - (addressid :type integer - :initarg :addressid) + ((aemplid :type integer :initarg :emplid) + (aaddressid :type integer :initarg :addressid) + (verified :type boolean :initarg :verified) (address :db-kind :join :db-info (:join-class address - :home-key addressid + :home-key aaddressid :foreign-key addressid - :retrieval :immediate)))) + :retrieval :immediate))) + (:base-table "ea_join")) (defun test-connect-to-database (db-type spec) (when (db-backend-has-create/destroy-db? db-type) @@ -343,16 +342,20 @@ :addressid 2) employee-address1 (make-instance 'employee-address :emplid 1 - :addressid 1) + :addressid 1 + :verified t) employee-address2 (make-instance 'employee-address :emplid 2 - :addressid 2) + :addressid 2 + :verified t) employee-address3 (make-instance 'employee-address :emplid 3 - :addressid 1) + :addressid 1 + :verified nil) employee-address4 (make-instance 'employee-address :emplid 1 - :addressid 2) + :addressid 2 + :verified nil) employee-address5 (make-instance 'employee-address :emplid 3 :addressid 2) @@ -536,11 +539,16 @@ (clsql-base::in test :fdml/select/1)) (push (cons test "fancy math not supported") skip-tests)) ((and (eql *test-database-type* :sqlite) - (clsql-base::in test :fddl/view/4 :fdml/select/10)) + (clsql-base::in test :fddl/view/4 :fdml/select/10 + :fdml/select/21)) (push (cons test "not supported by sqlite") skip-tests)) + ((and (eql *test-database-underlying-type* :mysql) + (clsql-base::in test :fdml/select/22 :fdml/query/5 + :fdml/query/7 :fdml/query/8)) + (push (cons test "not supported by mysql") skip-tests)) (t (push test-form test-forms))))) - (values (nreverse test-forms) (nreverse skip-tests)))) + (values (nreverse test-forms) (nreverse skip-tests)))) (defun rl () @@ -549,3 +557,10 @@ (disconnect :database *default-database*)) (test-connect-to-database :postgresql (car (postgresql-spec (read-specs)))) (test-initialise-database)) + +(defun rlm () + "Rapid load for interactive testing." + (when *default-database* + (disconnect :database *default-database*)) + (test-connect-to-database :mysql (car (mysql-spec (read-specs)))) + (test-initialise-database))