mirror of
https://github.com/logseq/logseq.git
synced 2026-05-19 18:32:41 +00:00
fix: correct db-worker ui request response args
This commit is contained in:
@@ -90,7 +90,7 @@
|
||||
|
||||
(defn- <invoke-worker-thread-api
|
||||
[wrapped-worker qkw & args]
|
||||
(apply wrapped-worker qkw false args))
|
||||
(apply wrapped-worker qkw args))
|
||||
|
||||
(defn- ui-request-error->payload
|
||||
[error]
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
(ns frontend.handler.worker-test
|
||||
(:require [cljs.test :refer [deftest is]]
|
||||
(:require [cljs.test :refer [async deftest is]]
|
||||
[frontend.handler.worker :as worker-handler]
|
||||
[frontend.state :as state]))
|
||||
[frontend.state :as state]
|
||||
[promesa.core :as p]))
|
||||
|
||||
(deftest handle-message-reports-comlink-worker-throw-with-extra-data-test
|
||||
(let [captured-events (atom [])
|
||||
@@ -42,3 +43,52 @@
|
||||
(finally
|
||||
(aset js/console "error" orig-console-error)
|
||||
(aset js/console "log" orig-console-log)))))
|
||||
|
||||
(deftest db-worker-ui-request-resolve-passes-request-id-and-result-test
|
||||
(async done
|
||||
(let [calls (atom [])
|
||||
wrapped-worker (fn [qkw & args]
|
||||
(swap! calls conj [qkw args])
|
||||
(p/resolved {:ok true}))]
|
||||
(with-redefs [frontend.handler.worker/<db-worker-ui-action
|
||||
(fn [_action _payload]
|
||||
(p/resolved {:password "pw"}))]
|
||||
(-> (worker-handler/handle :db-worker/ui-request
|
||||
wrapped-worker
|
||||
{:request-id "req-1"
|
||||
:action :request-e2ee-password
|
||||
:payload {:reason :decrypt-user-rsa-private-key}})
|
||||
(p/then (fn [_]
|
||||
(is (= [[:thread-api/resolve-ui-request ["req-1" {:password "pw"}]]]
|
||||
@calls))
|
||||
(done)))
|
||||
(p/catch (fn [error]
|
||||
(is nil (str "unexpected error: " error))
|
||||
(done))))))))
|
||||
|
||||
(deftest db-worker-ui-request-reject-passes-request-id-and-error-test
|
||||
(async done
|
||||
(let [calls (atom [])
|
||||
wrapped-worker (fn [qkw & args]
|
||||
(swap! calls conj [qkw args])
|
||||
(p/resolved {:ok true}))]
|
||||
(with-redefs [frontend.handler.worker/<db-worker-ui-action
|
||||
(fn [_action _payload]
|
||||
(p/rejected (ex-info "boom" {:code :boom :x 1})))]
|
||||
(-> (worker-handler/handle :db-worker/ui-request
|
||||
wrapped-worker
|
||||
{:request-id "req-2"
|
||||
:action :request-e2ee-password
|
||||
:payload {:reason :decrypt-user-rsa-private-key}})
|
||||
(p/then (fn [_]
|
||||
(is (= [[:thread-api/reject-ui-request
|
||||
["req-2"
|
||||
{:code :boom
|
||||
:message "boom"
|
||||
:data {:code :boom
|
||||
:x 1}}]]]
|
||||
@calls))
|
||||
(done)))
|
||||
(p/catch (fn [error]
|
||||
(is nil (str "unexpected error: " error))
|
||||
(done))))))))
|
||||
|
||||
Reference in New Issue
Block a user