fix: wallet input component tests

This commit is contained in:
Cristian Lungu 2024-10-23 09:48:12 +03:00
parent e4b42fc0ca
commit ff569f328a
No known key found for this signature in database
GPG Key ID: FBF86D630661E2CE
2 changed files with 15 additions and 17 deletions

View File

@ -104,16 +104,19 @@
:wallet/wallet-send-tx-type :tx/send
:wallet/wallet-send-fee-fiat-formatted "$5,00"
:wallet/sending-collectible? false
:wallet/total-amount (money/bignumber "250")})
:wallet/send-total-amount-formatted "250 ETH"
:wallet/total-amount (money/bignumber "250")
:wallet/bridge-to-network-details nil
:wallet/send-amount-formatted ""
:wallet/send-display-token-decimals 5})
(h/describe "Send > input amount screen"
(h/setup-restorable-re-frame)
(h/test "Default render"
(h/setup-subs sub-mocks)
(h/setup-subs (assoc sub-mocks :wallet/send-display-token-decimals 2))
(h/render-with-theme-provider [input-amount/view
{:crypto-decimals 2
:limit-crypto (money/bignumber 250)
{:limit-crypto (money/bignumber 250)
:initial-crypto-currency? false}])
(h/is-truthy (h/get-by-text "0"))
(h/is-truthy (h/get-by-text "USD"))
@ -122,12 +125,11 @@
(h/is-disabled (h/get-by-label-text :button-one)))
(h/test "Fill token input and confirm"
(h/setup-subs sub-mocks)
(h/setup-subs (assoc sub-mocks :wallet/send-display-token-decimals 10))
(let [on-confirm (h/mock-fn)]
(h/render-with-theme-provider [input-amount/view
{:crypto-decimals 10
:limit-crypto (money/bignumber 1000)
{:limit-crypto (money/bignumber 1000)
:on-confirm on-confirm
:initial-crypto-currency? true}])
@ -147,10 +149,9 @@
(h/was-called on-confirm)))))))
(h/test "Try to fill more than limit"
(h/setup-subs sub-mocks)
(h/setup-subs (assoc sub-mocks :wallet/send-display-token-decimals 1))
(h/render-with-theme-provider [input-amount/view
{:crypto-decimals 1
:limit-crypto (money/bignumber 1)}])
{:limit-crypto (money/bignumber 1)}])
(h/fire-event :press (h/query-by-label-text :keyboard-key-2))
(h/fire-event :press (h/query-by-label-text :keyboard-key-9))
@ -159,11 +160,10 @@
(h/is-truthy (h/get-by-label-text :container-error)))
(h/test "Switch from crypto to fiat and check limit"
(h/setup-subs sub-mocks)
(h/setup-subs (assoc sub-mocks :wallet/send-display-token-decimals 1))
(h/render-with-theme-provider [input-amount/view
{:crypto-decimals 1
:limit-crypto (money/bignumber 10)
:on-confirm #()}])
{:limit-crypto (money/bignumber 10)
:on-confirm #()}])
(h/fire-event :press (h/query-by-label-text :keyboard-key-9))
(h/fire-event :press (h/query-by-label-text :keyboard-key-9))

View File

@ -137,7 +137,6 @@
;; for component tests only
[{default-on-confirm :on-confirm
default-limit-crypto :limit-crypto
default-crypto-decimals :crypto-decimals
on-navigate-back :on-navigate-back
button-one-label :button-one-label
button-one-props :button-one-props
@ -178,7 +177,6 @@
loading-routes? (rf/sub [:wallet/wallet-send-loading-suggested-routes?])
route (rf/sub [:wallet/wallet-send-route])
on-confirm (or default-on-confirm handle-on-confirm)
crypto-decimals (or token-decimals default-crypto-decimals)
max-limit (if crypto-currency?
(utils/cut-crypto-decimals-to-fit-usd-cents
token-balance
@ -378,7 +376,7 @@
:delete-key? true
:on-press (fn [c]
(let [new-text (str input-value c)
max-decimals (if crypto-currency? crypto-decimals 2)
max-decimals (if crypto-currency? token-decimals 2)
regex-pattern (str "^\\d*\\.?\\d{0," max-decimals "}$")
regex (re-pattern regex-pattern)]
(when (re-matches regex new-text)