fix: rename page tests

pull/11196/head
Tienson Qin 2024-04-04 01:38:50 +08:00
parent bf539751a8
commit fe2a426761
2 changed files with 30 additions and 36 deletions

View File

@ -99,7 +99,6 @@
tx-data)
(remove nil?))))]
(ldb/transact! conn txs {:outliner-op :rename-page
:data (cond->
{:page-id (:db/id page)
@ -118,13 +117,14 @@
(defn rename!
[repo conn config page-uuid new-name & {:keys [persist-op?]
:or {persist-op? true}}]
(let [db @conn
page-e (d/entity db [:block/uuid page-uuid])
old-name (:block/original-name page-e)
(let [db @conn]
(when-let [page-e (d/entity db [:block/uuid page-uuid])]
(let [old-name (:block/original-name page-e)
new-name (string/trim new-name)
old-page-name (common-util/page-name-sanity-lc old-name)
new-page-name (common-util/page-name-sanity-lc new-name)
new-page-exists? (some? (ldb/get-page db new-name))
new-page-exists? (when-let [p (ldb/get-page db new-name)]
(not= (:db/id p) (:db/id page-e)))
name-changed? (not= old-name new-name)]
(cond
(string/blank? new-name)
@ -143,4 +143,4 @@
:block/original-name new-name}]
{:persist-op? persist-op?
:outliner-op :rename-page})
(rename-page! repo conn config page-e new-name)))))
(rename-page! repo conn config page-e new-name)))))))

View File

@ -21,24 +21,18 @@
(use-fixtures :each start-and-destroy-db)
(defn- page-rename [old-name new-name]
(worker-page-rename/rename! repo (db/get-db repo false) {} old-name new-name))
(defn- page-rename [page-uuid new-name]
(worker-page-rename/rename! repo (db/get-db repo false) {} page-uuid new-name))
(deftest rename-test
(testing "Case change"
(let [page (db/get-page "test")]
(page-rename "test" "Test")
(let [entity (db/get-page "test")]
(is (= "Test" (:block/original-name entity)))
;; db id not changed
(is (= (:db/id page) (:db/id entity))))))
(page-rename (:block/uuid page) "Test")
(is (= "Test" (:block/original-name (db/entity (:db/id page)))))))
(testing "Name changed"
(let [page (db/get-page "test")]
(page-rename "Test" "New name")
(let [entity (db/get-page "new name")]
(is (= "New name" (:block/original-name entity)))
(is (= (:db/id page) (:db/id entity))))))
(let [page (db/get-page "Test")]
(is (= "New name" (:block/original-name (db/entity (:db/id page)))))))
;; (testing "Merge existing page"
;; (page-handler/create! "Existing page" {:redirect? false :create-first-block? true})