mirror of
https://github.com/penpot/penpot.git
synced 2025-08-04 05:48:27 +02:00
🚧 Add basic tests for project-page-update mutation.
This commit is contained in:
parent
db768f356b
commit
5d7fba1955
7 changed files with 83 additions and 37 deletions
|
@ -75,6 +75,56 @@
|
|||
(t/is (= (:id data) (get-in out [:result :id])))
|
||||
(t/is (= 1 (get-in out [:result :version])))))
|
||||
|
||||
(t/deftest mutation-update-project-page-1
|
||||
(let [user @(th/create-user db/pool 1)
|
||||
proj @(th/create-project db/pool (:id user) 1)
|
||||
file @(th/create-project-file db/pool (:id user) (:id proj) 1)
|
||||
page @(th/create-project-page db/pool (:id user) (:id file) 1)
|
||||
|
||||
data {::sm/type :update-project-page
|
||||
:id (:id page)
|
||||
:version 99
|
||||
:user (:id user)
|
||||
:operations []}
|
||||
|
||||
out (th/try-on! (sm/handle data))]
|
||||
|
||||
;; (th/print-result! out)
|
||||
|
||||
(let [error (:error out)]
|
||||
(t/is (th/ex-info? error))
|
||||
(t/is (th/ex-of-type? error :service-error)))
|
||||
|
||||
(let [error (ex-cause (:error out))]
|
||||
(t/is (th/ex-info? error))
|
||||
(t/is (th/ex-of-type? error :validation))
|
||||
(t/is (th/ex-of-code? error :version-conflict)))))
|
||||
|
||||
(t/deftest mutation-update-project-page-2
|
||||
(let [user @(th/create-user db/pool 1)
|
||||
proj @(th/create-project db/pool (:id user) 1)
|
||||
file @(th/create-project-file db/pool (:id user) (:id proj) 1)
|
||||
page @(th/create-project-page db/pool (:id user) (:id file) 1)
|
||||
|
||||
sid (uuid/next)
|
||||
data {::sm/type :update-project-page
|
||||
:id (:id page)
|
||||
:version 0
|
||||
:user (:id user)
|
||||
:operations [[:add-shape sid {:id sid :type :rect}]]}
|
||||
|
||||
out (th/try-on! (sm/handle data))]
|
||||
|
||||
;; (th/print-result! out)
|
||||
(t/is (nil? (:error out)))
|
||||
(t/is (= 1 (count (:result out))))
|
||||
(t/is (= (:id data) (get-in out [:result 0 :page-id])))
|
||||
(t/is (= 1 (count (get-in out [:result 0 :operations]))))
|
||||
(t/is (= :add-shape (get-in out [:result 0 :operations 0 0])))
|
||||
(t/is (= sid (get-in out [:result 0 :operations 0 1])))
|
||||
))
|
||||
|
||||
|
||||
(t/deftest mutation-delete-project-page
|
||||
(let [user @(th/create-user db/pool 1)
|
||||
proj @(th/create-project db/pool (:id user) 1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue