Skip to content

Commit

Permalink
chore: query performance: enlarge test timeout and add dev doc
Browse files Browse the repository at this point in the history
  • Loading branch information
cnrpman authored and tiensonqin committed Dec 15, 2022
1 parent a1c60fa commit f45317e
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
11 changes: 11 additions & 0 deletions docs/dev-practices.md
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions src/test/frontend/components/query_table_test.cljs
Expand Up @@ -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
)))

0 comments on commit f45317e

Please sign in to comment.