Browse Source

chore: query performance: enlarge test timeout and add dev doc

Junyi Du 3 years ago
parent
commit
f45317e569
2 changed files with 14 additions and 3 deletions
  1. 11 0
      docs/dev-practices.md
  2. 3 3
      src/test/frontend/components/query_table_test.cljs

+ 11 - 0
docs/dev-practices.md

@@ -149,6 +149,17 @@ To write a test that uses a datascript db:
 * The easiest way to set up test data is to use `test-helper/load-test-files`.
 * For the repo argument that most fns take, pass it `test-helper/test-db`
 
+#### Performance tests
+To write a performance test:
+
+* Use `frontend.util/with-time-number` to get the time in ms. 
+ 
+* Example:
+  ```clojure
+  (are [x timeout] (>= timeout (:time (util/with-time-number (block/normalize-block x true))))
+      ... )
+  ```
+
 For examples of these tests, see `frontend.db.query-dsl-test` and `frontend.db.model-test`.
 
 ### Async Unit Testing

+ 3 - 3
src/test/frontend/components/query_table_test.cljs

@@ -70,16 +70,16 @@
          [{:title "意志"} {:title "圆圈"}])
     (state/set-preferred-language! "en"))
 
-  (testing "monitor sort time"
+  (testing "monitor time of sort by integer block property"
     (are [sort-state result _sorted-result timeout]
          (>= timeout (:time (util/with-time-number (#'query-table/sort-result (mapv #(hash-map :block/properties %) result) sort-state))))
       {:sort-desc? true :sort-by-column :rating}
       [{:rating 8} {:rating 7}]
       [{:rating 8} {:rating 7}]
-      0.1 ;; actual: ~0.05
+      0.5 ;; actual: ~0.05
 
       {:sort-desc? false :sort-by-column :rating}
       [{:rating 8} {:rating 7}]
       [{:rating 7} {:rating 8}]
-      0.2 ;; actual: ~0.05
+      0.5 ;; actual: ~0.05
       )))