Author: achiumenti Date: Wed Oct 1 08:02:30 2008 New Revision: 107
Modified: trunk/main/claw-demo/test/backend/tests.lisp Log: several bugfixes and enhancements
Modified: trunk/main/claw-demo/test/backend/tests.lisp ============================================================================== --- trunk/main/claw-demo/test/backend/tests.lisp (original) +++ trunk/main/claw-demo/test/backend/tests.lisp Wed Oct 1 08:02:30 2008 @@ -189,6 +189,43 @@ :roles (list admin-role user-role))) (lift:ensure (find-user-by-name "admin"))))
+(lift:addtest (claw-demo-backend-testsuite) + find-users + (let ((admin-role (make-instance 'role :name "administrator")) + (user-role (make-instance 'role :name "user"))) + (update-db-item admin-role) + (update-db-item user-role) + (update-db-item (make-instance 'user :firstname "Andrea" + :surname "Chiumenti" + :username "admin" + :password "admin" + :email "admin@new.com" + :roles (list admin-role user-role))) + (lift:ensure (find-users :role-names '("administrator"))))) + +(locally-enable-sql-reader-syntax) +(lift:addtest (claw-demo-backend-testsuite) + test-join + (let ((admin-role (make-instance 'role :name "administrator")) + (user-role (make-instance 'role :name "user"))) + (update-db-item admin-role) + (update-db-item user-role) + (update-db-item (make-instance 'user :firstname "Andrea" + :surname "Chiumenti" + :username "admin" + :password "admin" + :email "admin@new.com" + :roles (list admin-role user-role))) + (lift:ensure (= (length (select 'user + :from [left-join [left-join [users] [users-roles] [= [slot-value 'user 'id] [slot-value 'user-role 'user-id] ] ] [roles] [= [slot-value 'user-role 'role-id] [slot-value 'role 'id]]] + :where [and [= [slot-value 'user 'firstname] "Andrea" ] [= [slot-value 'role 'name] "administrator" ]] + :flatp t)) 1)) + (lift:ensure (= (length (select 'user + :from [left-join [left-join [users] [users-roles] [= [slot-value 'user 'id] [slot-value 'user-role 'user-id] ] ] [roles] [= [slot-value 'user-role 'role-id] [slot-value 'role 'id]]] + :where [and [= [slot-value 'user 'firstname] "Andreax" ] [= [slot-value 'role 'name] "administrator" ]] + :flatp t)) 0)))) +(locally-disable-sql-reader-syntax) + (lift:addtest (claw-demo-backend-testsuite) like-operation (let ((admin-role (make-instance 'role :name "administrator")) @@ -204,6 +241,22 @@ (lift:ensure (find-vo 'user :where (like-operation 'username "*n\&1"))) (lift:ensure-null (find-vo 'user :where (like-operation 'username "*n\&")))))
+(lift:addtest (claw-demo-backend-testsuite) + find-users + (let ((admin-role (make-instance 'role :name "administrator")) + (user-role (make-instance 'role :name "user"))) + (update-db-item admin-role) + (update-db-item user-role) + (update-db-item (make-instance 'user :firstname "Andrea" + :surname "Chiumenti" + :username "admin\&1" + :password "admin" + :email "admin@new.com" + :roles (list admin-role user-role))) + (lift:ensure (find-users :firstname "*" :role-names '("administrator"))) + (lift:ensure-null (find-users :firstname "*" :role-names '("administratorxx"))) + (lift:ensure-null (find-users :firstname "xxx")))) +
(lift:addtest (claw-demo-backend-testsuite) find-customers