Added regex testing

This commit is contained in:
Bryce Covert
2019-05-09 21:44:54 -07:00
parent 677a4e3c22
commit 0520e2f0f8
4 changed files with 29 additions and 5 deletions

View File

@@ -40,7 +40,8 @@
:serialize (schema/as-conformer #(or (:ident %) (:db/ident %) %))}
:iso_date {:parse (schema/as-conformer #(time/parse % time/iso-date))
:serialize (schema/as-conformer #(time/unparse % time/iso-date))}
:money {:parse (schema/as-conformer #(if (string? %)
:money {:parse (schema/as-conformer #(if (and (string? %)
(not (str/blank? %)))
(Double/parseDouble %)
%))
:serialize (schema/as-conformer #(if (double? %)

View File

@@ -28,6 +28,9 @@
id))
(->graphql))))
(defn tr [z x]
(re-find (re-pattern z) x))
(defn test-transaction-rule [{:keys [id]} {{:keys [description note client_id bank_account_id amount_lte amount_gte ]} :transaction_rule :as z} value]
(->>
(d/query
@@ -48,6 +51,24 @@
:where ['[?e :transaction/bank-account ?bank-account-id]]}
:args [bank_account_id]})
description
(merge-query {:query {:in ['?description-regex]
:where ['[?e :transaction/description-original ?do]
'[(re-find ?description-regex ?do)]]}
:args [(re-pattern description)]})
amount_gte
(merge-query {:query {:in ['?amount-gte]
:where ['[?e :transaction/amount ?ta]
'[(>= ?ta ?amount-gte)]]}
:args [amount_gte]})
amount_lte
(merge-query {:query {:in ['?amount-lte]
:where ['[?e :transaction/amount ?ta]
'[(<= ?ta ?amount-lte)]]}
:args [amount_lte]})
client_id
(merge-query {:query {:in ['?client-id]
:where ['[?e :transaction/client ?client-id]]}
@@ -60,5 +81,4 @@
(map (fn [x]
(update x :transaction/date c/from-date)))
(map ->graphql))
conj
[])))
conj [])))

View File

@@ -173,7 +173,7 @@
:field [:bank-account]
:spec ::entity/bank-account}]]
[field "Description"
[field [:span "Description (" [:a {:href "https://regex101.com" :target "_new"} "regex tester"] ")" ]
[:input.input {:type "text"
:field [:description]
:spec ::entity/description}]]

View File

@@ -200,7 +200,10 @@
(.preventDefault e)
(re-frame/dispatch (-> event
(conj field)
(conj (js/parseFloat (.. e -target -value))))))
(conj (let [val (.. e -target -value)]
(if (and val (not (str/blank? val)))
(js/parseFloat val)
val))))))
:value (get-in subscription field)
:class (str class