mirror of
https://github.com/logseq/logseq.git
synced 2026-06-01 19:01:22 +00:00
Add migration test
This commit is contained in:
@@ -142,7 +142,7 @@
|
||||
:block/name (common-util/page-name-sanity-lc new-title)})))
|
||||
classes-to-rename)))))
|
||||
|
||||
(defn- separate-classes-and-properties
|
||||
(defn separate-classes-and-properties
|
||||
[conn _sqlite-db]
|
||||
;; find all properties that're classes, create new properties to separate them
|
||||
;; from classes.
|
||||
|
||||
37
src/test/frontend/worker/migrate_test.cljs
Normal file
37
src/test/frontend/worker/migrate_test.cljs
Normal file
@@ -0,0 +1,37 @@
|
||||
(ns frontend.worker.migrate-test
|
||||
(:require ["fs" :as fs-node]
|
||||
[cljs.test :refer [deftest is testing]]
|
||||
[datascript.core :as d]
|
||||
[frontend.worker.db.migrate :as db-migrate]
|
||||
[logseq.db :as ldb]))
|
||||
|
||||
(deftest test-separate-classes-and-properties
|
||||
(testing "Separate properties from classes"
|
||||
(let [db-transit (str (fs-node/readFileSync "src/test/migration/65.0.transit"))
|
||||
db (ldb/read-transit-str db-transit)
|
||||
conn (d/conn-from-db db)
|
||||
tx-data (db-migrate/separate-classes-and-properties conn nil)
|
||||
new-property (first tx-data)]
|
||||
(is (= (dissoc new-property
|
||||
:block/updated-at
|
||||
:block/created-at
|
||||
:db/ident
|
||||
:block/uuid)
|
||||
{:db/index true,
|
||||
:logseq.property/type :default,
|
||||
:db/valueType :db.type/ref,
|
||||
:block/tags #{:logseq.class/Property},
|
||||
:block/title "Book",
|
||||
:db/cardinality :db.cardinality/one,
|
||||
:logseq.property/classes 156,
|
||||
:block/order "a6",
|
||||
:block/name "book"}))
|
||||
(is (= (rest tx-data)
|
||||
[[:db/retract 156 :block/tags :logseq.class/Property]
|
||||
[:db/retract 156 :logseq.property/type]
|
||||
[:db/retract 156 :db/cardinality]
|
||||
[:db/retract 156 :db/valueType]
|
||||
[:db/retract 156 :db/index]
|
||||
[:db/retract 156 :logseq.property/classes]
|
||||
[:db/retract 157 :user.class/Book-FrG9O7sY 155]
|
||||
[:db/add 157 (:db/ident new-property) 155]])))))
|
||||
1
src/test/migration/65.0.transit
Normal file
1
src/test/migration/65.0.transit
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user