Could be useful for some situations
Details
- Reviewers
Fabien - Group Reviewers
Restricted Project - Commits
- rABC1eda9c125199: [Cashtab] Support testnet with env variable
npm test succeeds if REACT_APP_TESTNET=false`
Update .env so that REACT_APP_TESTNET=TRUE
npm start
built site with this done is at https://670e5f1cdf65ca6e95978d34--cashtab-local-dev.netlify.app/
Diff Detail
- Repository
- rABC Bitcoin ABC
- Branch
- cashtab-testnet
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 30588 Build 60692: Build Diff ecash-lib-tests · cashtab-tests Build 60691: arc lint + arc unit
Event Timeline
punch list
- ticker tXEC not XEC
- Disable faucets
- disable fiat price lookup, hardcode it to zero
- env var needs to be false for tests to pass (mb? but def for deployment. if we want to deploy test.cashtab.com, would handle it in deployment)
Failed tests logs:
====== CashTab Unit Tests: <Receive /> Renders as expected on desktop, including copy paste functionality of clicking on the QR code ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
Address Copied to Clipboardecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g
Received:
Address Copied to Clipboardectest:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cyt8ct2nve
at Object.toHaveTextContent (/work/cashtab/src/components/Receive/__tests__/Receive.test.js:121:11)Each failure log is accessible here:
CashTab Unit Tests: <Receive /> Renders as expected on desktop, including copy paste functionality of clicking on the QR code
Failed tests logs:
====== CashTab Unit Tests: Cashtab validation functions Parses user input address strings with parseAddressInput parseAddressInput: Valid address with valid amount param exceeding user balance by one satoshi, no decimals ======
Error: expect(received).toStrictEqual(expected) // deep equality
- Expected - 1
+ Received + 1
@@ -3,11 +3,11 @@
"error": false,
"isAlias": false,
"value": "ecash:qq9h6d0a5q65fgywv4ry64x04ep906mdku8f0gxfgx",
},
"amount": Object {
- "error": "Amount 500,001.00 XEC exceeds wallet balance of 500,000.00 XEC",
+ "error": "Amount 500,001.00 tXEC exceeds wallet balance of 500,000.00 tXEC",
"value": "500001",
},
"queryString": Object {
"error": false,
"value": "amount=500001",
at Object.toStrictEqual (/work/cashtab/src/validation/__tests__/index.test.js:351:19)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: Cashtab validation functions Parses user input address strings with parseAddressInput parseAddressInput: Valid address with invalid amount param (too many decimal places) ======
Error: expect(received).toStrictEqual(expected) // deep equality
- Expected - 1
+ Received + 1
@@ -3,11 +3,11 @@
"error": false,
"isAlias": false,
"value": "ecash:qq9h6d0a5q65fgywv4ry64x04ep906mdku8f0gxfgx",
},
"amount": Object {
- "error": "XEC transactions do not support more than 2 decimal places",
+ "error": "tXEC transactions do not support more than 2 decimal places",
"value": "123.456",
},
"queryString": Object {
"error": false,
"value": "amount=123.456",
at Object.toStrictEqual (/work/cashtab/src/validation/__tests__/index.test.js:351:19)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: Cashtab validation functions Parses user input address strings with parseAddressInput parseAddressInput: Valid primary address & amount, invalid secondary amount ======
Error: expect(received).toStrictEqual(expected) // deep equality
- Expected - 1
+ Received + 1
@@ -7,11 +7,11 @@
"amount": Object {
"error": false,
"value": "110",
},
"parsedAdditionalXecOutputs": Object {
- "error": "Invalid amount 5.123 for address ecash:qp4dxtmjlkc6upn29hh9pr2u8rlznwxeqqy0qkrjp5: XEC transactions do not support more than 2 decimal places",
+ "error": "Invalid amount 5.123 for address ecash:qp4dxtmjlkc6upn29hh9pr2u8rlznwxeqqy0qkrjp5: tXEC transactions do not support more than 2 decimal places",
"value": null,
},
"queryString": Object {
"error": false,
"value": "amount=110&addr=ecash:qp4dxtmjlkc6upn29hh9pr2u8rlznwxeqqy0qkrjp5&amount=5.123",
at Object.toStrictEqual (/work/cashtab/src/validation/__tests__/index.test.js:351:19)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: Cashtab validation functions Determines if a user input send amount is valid isValidXecSendAmount: A fiat value that converts to one satoshi more than the user total balance is rejected ======
Error: expect(received).toBe(expected) // Object.is equality
Expected: "Amount 1,000.01 XEC exceeds wallet balance of 1,000.00 XEC"
Received: "Amount 1,000.01 tXEC exceeds wallet balance of 1,000.00 tXEC"
at Object.toBe (/work/cashtab/src/validation/__tests__/index.test.js:446:19)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: Cashtab validation functions Determines if a user input multi-send CSV is valid isValidMultiSendUserInput: Rejects correctly formed multisend output for amount exceeding wallet total balance by 1 satoshi ======
Error: expect(received).toBe(expected) // Object.is equality
Expected: "Total amount sent (110.00 XEC) exceeds wallet balance of 109.99 XEC"
Received: "Total amount sent (110.00 tXEC) exceeds wallet balance of 109.99 tXEC"
at Object.toBe (/work/cashtab/src/validation/__tests__/index.test.js:467:19)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: Cashtab validation functions Determines if a user input multi-send CSV is valid isValidMultiSendUserInput: Returns expected error msg for invalid value (dust) ======
Error: expect(received).toBe(expected) // Object.is equality
Expected: "Send amount must be at least 5.46 XEC: check value \"1\" at line 1"
Received: "Send amount must be at least 5.46 tXEC: check value \"1\" at line 1"
at Object.toBe (/work/cashtab/src/validation/__tests__/index.test.js:467:19)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: Cashtab validation functions Determines if a user input multi-send CSV is valid isValidMultiSendUserInput: Returns expected error msg and line numberfor invalid value (too many decimal places) ======
Error: expect(received).toBe(expected) // Object.is equality
Expected: "XEC transactions do not support more than 2 decimal places: check value \"10.123\" at line 2"
Received: "tXEC transactions do not support more than 2 decimal places: check value \"10.123\" at line 2"
at Object.toBe (/work/cashtab/src/validation/__tests__/index.test.js:467:19)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: <Home /> Renders the loading component while loading, then the Home screen ======
Error: Unable to find an element with the text: 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-fOKMvo bHWHi"
data-testid="tx-history"
>
<div
class="sc-kGXeez dgJWRP"
>
<div
class="sc-kpOJdX jTrDqc"
>
<div
class="sc-dxgOiQ ePtNdN"
type="Received"
>
<div
class="sc-ckVGcZ kdsepy"
>
<svg
title="tx-received"
/>
<div
class="sc-eNQAEJ hezDIi"
>
<div
class="sc-kEYyzF fVmxRF"
>
<div
class="sc-hMqMXs eMcfen"
>
Received
from
<a
class="sc-gipzik ORDkV"
href="https://explorer.e.cash/address/ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6"
rel="noreferrer"
target="_blank"
>
qp8...gg6
</a>
</div>
<div
class="sc-kAzzGY gDpRAi"
title="Loading"
>
<div />
<div />
<div />
<div />
</div>
</div>
...
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Home/__tests__/Home.test.js:113:29)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <Nfts /> If we switch wallets, listings that were previously organized as "My Listing" are instead organized as for sale ======
Error: Unable to find an element with the text: 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
<div
class="sc-ghsgMZ ceeeOL"
>
Listed NFTs
<svg
title="NFT"
/>
</div>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
<option
class="sc-RbTVP hMcPpG"
value="NFT Trading [BURNED]"
>
NFT Trading [BURNED]
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-eLdqWK lcKXEg"
title="Listed NFTs"
>
<div
class="sc-iSDuPN iLaLMx"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="Toggle NFTs"
name="Toggle NFTs"
title="Toggle NFTs"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="Toggle NFTs"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-gqPbQI czjmLG"
>
Toggle Buy / Manage Listings
</div>
</div>
<div
class="sc-iiUIRa dgWsgt"
>
Manage your listings
</div>
<p>
You do not have any listed NFTs
</p>
</div>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU doSOrh"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL glzCLH"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Nfts/__tests__/index.test.js:544:29)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Address and value keys are set and valid. ======
Error: Unable to find an element with the text: 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="address"
placeholder="Address"
value="ecash:qp33mh3a7qq7p8yulhnvwty2uq5ynukqcvuxmvzfhm"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
</div>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="amount"
placeholder="Amount"
step="0.01"
type="number"
value="500"
/>
<select
class="sc-iELTvK sc-cmTdod iEdEXA"
data-testid="currency-select-dropdown"
disabled=""
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
<button
class="sc-cIShpX gJZnWf"
disabled=""
>
max
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
500 tXEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 0.02 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz hBLfGp"
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:109:29)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Address and value keys are set and valid. Invalid bip21 string is ignored. ======
Error: Unable to find an element with the text: 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="address"
placeholder="Address"
value="ecash:qp33mh3a7qq7p8yulhnvwty2uq5ynukqcvuxmvzfhm"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
</div>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="amount"
placeholder="Amount"
step="0.01"
type="number"
value="500"
/>
<select
class="sc-iELTvK sc-cmTdod iEdEXA"
data-testid="currency-select-dropdown"
disabled=""
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
<button
class="sc-cIShpX gJZnWf"
disabled=""
>
max
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
500 tXEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 0.02 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz hBLfGp"
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:177:29)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Address field is populated + disabled while value field is empty + enabled if legacy url params have address defined and value present as undefined ======
Error: Unable to find an element with the text: 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="address"
placeholder="Address"
value="ecash:qp33mh3a7qq7p8yulhnvwty2uq5ynukqcvuxmvzfhm"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
</div>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA ekzRpS"
name="amount"
placeholder="Amount"
step="0.01"
type="number"
value=""
/>
<select
class="sc-iELTvK sc-cmTdod iEdEXA"
data-testid="currency-select-dropdown"
disabled=""
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
<button
class="sc-cIShpX bOdRSs"
>
max
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
0 tXEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 0.00 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz OqSfl"
disabled=""
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:240:29)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Address field is populated + disabled while value field is empty + enabled if legacy url params have address defined and no value key present ======
Error: Unable to find an element with the text: 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="address"
placeholder="Address"
value="ecash:qp33mh3a7qq7p8yulhnvwty2uq5ynukqcvuxmvzfhm"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
</div>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA ekzRpS"
name="amount"
placeholder="Amount"
step="0.01"
type="number"
value=""
/>
<select
class="sc-iELTvK sc-cmTdod iEdEXA"
data-testid="currency-select-dropdown"
disabled=""
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
<button
class="sc-cIShpX bOdRSs"
>
max
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
0 tXEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 0.00 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz OqSfl"
disabled=""
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:303:29)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Params are ignored if only value param is present ======
Error: expect(received).toHaveProperty(path, value)
Expected path: "disabled"
Expected value: false
Received value: true
at Object.toHaveProperty (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:380:31)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Params are ignored if param is duplicated ======
Error: expect(received).toHaveProperty(path, value)
Expected path: "disabled"
Expected value: false
Received value: true
at Object.toHaveProperty (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:438:31)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params are not parsed as bip21 even if the bip21 param appears in the string ======
Error: Unable to find an element with the text: 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="address"
placeholder="Address"
value="ecash:qp33mh3a7qq7p8yulhnvwty2uq5ynukqcvuxmvzfhm"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
</div>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="amount"
placeholder="Amount"
step="0.01"
type="number"
value="500"
/>
<select
class="sc-iELTvK sc-cmTdod iEdEXA"
data-testid="currency-select-dropdown"
disabled=""
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
<button
class="sc-cIShpX gJZnWf"
disabled=""
>
max
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
500 tXEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 0.02 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz hBLfGp"
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:481:29)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - valid bip21 param with amount and op_return_raw is parsed as expected ======
Error: Unable to find an element with the text: 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="address"
placeholder="Address"
value="ecash:qp33mh3a7qq7p8yulhnvwty2uq5ynukqcvuxmvzfhm?amount=17&op_return_raw=04007461622263617368746162206d6573736167652077697468206f705f72657475726e5f726177"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
</div>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="amount"
placeholder="Amount"
step="0.01"
type="number"
value="17"
/>
<select
class="sc-iELTvK sc-cmTdod iEdEXA"
data-testid="currency-select-dropdown"
disabled=""
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
<button
class="sc-cIShpX gJZnWf"
disabled=""
>
max
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM bOUBFR"
disabled=""
height="62"
name="opReturnRaw"
placeholder="(Advanced) Enter raw hex to be included with this transaction's OP_RETURN"
>
04007461622263617368746162206d6573736167652077697468206f705f72657475726e5f726177
</textarea>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
<div
class="sc-jtRfpW iVVeHD"
>
<span
class="sc-elJkPf iBjHlf"
>
80
</span>
/
444
</div>
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-dliRfk cnkbPi"
>
<div
class="sc-kLIISr kQBvHS"
>
Parsed op_return_raw
</div>
<div
class="sc-qrIAp exeZNt"
>
<b>
Cashtab Msg
</b>
<br />
cashtab message with op_return_raw
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
17 tXEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 0.00 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz hBLfGp"
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:548:29)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - an invalid bip21 param shows validation errors but cannot be changed ======
Error: Unable to find an element with the text: 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf EKHPD"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="address"
placeholder="Address"
value="ecash:qp33mh3a7qq7p8yulhnvwty2uq5ynukqcvuxmvzfhm?amount=17&op_return_raw=04007461622263617368746162206d6573736167652077697468206f705f72657475726e5f726177&op_return_raw=04007461622263617368746162206d6573736167652077697468206f705f72657475726e5f726177"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
>
The op_return_raw param may not appear more than once
</div>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
</div>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="amount"
placeholder="Amount"
step="0.01"
type="number"
value="17"
/>
<select
class="sc-iELTvK sc-cmTdod iEdEXA"
data-testid="currency-select-dropdown"
disabled=""
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
<button
class="sc-cIShpX gJZnWf"
disabled=""
>
max
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
17 tXEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 0.00 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz OqSfl"
disabled=""
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:657:29)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL No params. Send screen loads normally with no rendered input. ======
Error: expect(received).toHaveProperty(path, value)
Expected path: "disabled"
Expected value: false
Received value: true
at Object.toHaveProperty (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:745:31)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - valid bip21 param with amount, op_return_raw, and additional output with amount is parsed as expected ======
Error: Unable to find an element with the text: 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="address"
placeholder="Address"
value="ecash:qr6lws9uwmjkkaau4w956lugs9nlg9hudqs26lyxkv?amount=110&op_return_raw=0470617977202562dd05deda1c101b10562527bcd6bec20268fb94eed01843ba049cd774bec1&addr=ecash:qp4dxtmjlkc6upn29hh9pr2u8rlznwxeqqy0qkrjp5&amount=5.5"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
</div>
<div
class="sc-bMVAic lexHOq"
>
<b>
BIP21: Sending
115.50
XEC to
2
outputs
</b>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM bOUBFR"
disabled=""
height="62"
name="opReturnRaw"
placeholder="(Advanced) Enter raw hex to be included with this transaction's OP_RETURN"
>
0470617977202562dd05deda1c101b10562527bcd6bec20268fb94eed01843ba049cd774bec1
</textarea>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
<div
class="sc-jtRfpW iVVeHD"
>
<span
class="sc-elJkPf iBjHlf"
>
76
</span>
/
444
</div>
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-dliRfk cnkbPi"
>
<div
class="sc-kLIISr kQBvHS"
>
Parsed op_return_raw
</div>
<div
class="sc-qrIAp exeZNt"
>
<b>
Unknown Protocol
</b>
<br />
0470617977202562dd05deda1c101b10562527bcd6bec20268fb94eed01843ba049cd774bec1
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-dliRfk cnkbPi"
>
<div
class="sc-kLIISr kQBvHS"
>
Parsed BIP21 outputs
</div>
<div
class="sc-qrIAp exeZNt"
>
<ol>
<li
title="ecash:qr6lws9uwmjkkaau4w956lugs9nlg9hudqs26lyxkv"
>
qr6lws...6lyxkv, 110.00 XEC
</li>
<li
title="ecash:qp4dxtmjlkc6upn29hh9pr2u8rlznwxeqqy0qkrjp5"
>
qp4dxt...qkrjp5, 5.50 XEC
</li>
</ol>
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
115.50
XEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 0.00 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz hBLfGp"
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:794:29)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <BalanceHeader /> Renders the BalanceHeader component correctly with default locale en-US ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
10,000,000.00 XEC
Received:
10,000,000.00 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/Common/__tests__/BalanceHeader.test.js:68:28)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: <BalanceHeader /> Renders the BalanceHeader component correctly with fr-FR locale ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
10 000 000,00 XEC
Received:
10 000 000,00 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/Common/__tests__/BalanceHeader.test.js:102:28)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: <BalanceHeader /> Balance is hidden if cashtabSettings.balanceVisible is false ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
10,000,000.00 XEC
Received:
10,000,000.00 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/Common/__tests__/BalanceHeader.test.js:135:28)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: <BalanceHeader /> Renders fiat price for a non-USD currency ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
10,000,000.00 XEC
Received:
10,000,000.00 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/Common/__tests__/BalanceHeader.test.js:168:28)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: <BalanceHeader /> Fiat price and forex are not displayed if fiatPrice is unavailable ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
10,000,000.00 XEC
Received:
10,000,000.00 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/Common/__tests__/BalanceHeader.test.js:199:28)
at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)
====== CashTab Unit Tests: <Receive /> Renders as expected on desktop, including copy paste functionality of clicking on the QR code ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
Address Copied to Clipboardecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g
Received:
Address Copied to Clipboardectest:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cyt8ct2nve
at Object.toHaveTextContent (/work/cashtab/src/components/Receive/__tests__/Receive.test.js:121:11)
====== CashTab Unit Tests: <Token /> available actions rendered We can list an SLP1 NFT ======
TestingLibraryElementError: Unable to find an element with the text: 10,000 XEC = $ 0.30 USD. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Token Test"
>
Token Test
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,970.81
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.30
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-gtfDJT gKyNcC"
>
Gordon Chen
</div>
<div
class="sc-fOICqy kHAmOU"
>
NFT from collection "
<a
href="/token/12a049d0da64652b4e8db68b6052ad0cda43cf0269190fe81040bed65ca926a3"
>
The Four Half-Coins of Jin-qua
</a>
"
</div>
<div
class="sc-kxynE deMZBm"
title="Token Stats"
>
<div
class="sc-fcdeBU iqlXjQ"
>
<button
class="sc-LKuAh dQHtoR"
>
<img
alt="icon for 5d9bff67b99e3f93c245a2d832ae40b67f39b79e5cf1daefe97fe6a8a2228326"
height="128"
src="https://icons.etokens.cash/128/5d9bff67b99e3f93c245a2d832ae40b67f39b79e5cf1daefe97fe6a8a2228326.png"
width="128"
/>
</button>
</div>
<div
class="sc-fcdeBU iqlXjQ"
>
<div
class="sc-kZmsYB joHLNk"
>
<div
class="sc-RcBXQ iwzQZV"
>
Type:
</div>
<div
class="sc-fcdeBU iqlXjQ"
>
<div
class="sc-kaNhvL kqQDxA"
>
NFT
<button
aria-label="Click for more info about this token type"
class="sc-iQNlJl dQNUoI"
>
<svg
title="More Info"
/>
</button>
</div>
</div>
</div>
<div
class="sc-kZmsYB joHLNk"
>
<div
class="sc-RcBXQ iwzQZV"
>
Token Id:
</div>
<div
class="sc-fcdeBU iqlXjQ"
>
<a
href="https://explorer.e.cash/tx/5d9bff67b99e3f93c245a2d832ae40b67f39b79e5cf1daefe97fe6a8a2228326"
rel="noopener noreferrer"
target="_blank"
>
5d9
...
326
</a>
</div>
<div
class="sc-fcdeBU iqlXjQ"
>
<button
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
</div>
</div>
<div
class="sc-kZmsYB joHLNk"
>
<div
class="sc-RcBXQ iwzQZV"
>
url:
</div>
<div
class="sc-fcdeBU sc-gmeYpB hLUTmJ"
>
<a
href="https://en.wikipedia.org/wiki/Tai-Pan_(novel)"
rel="noreferrer"
target="_blank"
>
en.wikipedia.org/wiki/Tai-Pan_(novel)
</a>
</div>
</div>
<div
class="sc-kZmsYB joHLNk"
>
<div
class="sc-RcBXQ iwzQZV"
>
created:
</div>
<div
class="sc-fcdeBU iqlXjQ"
>
Apr 23, 2024
</div>
</div>
<div
class="sc-kZmsYB joHLNk"
>
<div
class="sc-RcBXQ iwzQZV"
>
hash:
</div>
<div
class="sc-fcdeBU iqlXjQ"
>
824
...
d72
</div>
<div
class="sc-fcdeBU iqlXjQ"
>
<button
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
</div>
</div>
</div>
</div>
<div
class="sc-iBEsjs chAytb"
title="Token Actions"
>
<div
class="sc-iSDuPN iLaLMx"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
id="Toggle Sell"
name="Toggle Sell"
title="Toggle Sell"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="Toggle Sell"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="💰"
data-on="💰"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-gqPbQI czjmLG"
>
Sell
Gordon Chen
(
GC
)
</div>
</div>
<div
class="sc-hzNEM iLRvPI"
>
<div
class="sc-chbbiW VTPXH"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA ekzRpS"
name="nftListPrice"
placeholder="Enter NFT list price"
type="number"
value=""
/>
<select
class="sc-iELTvK sc-jwKygS cyDgpY"
data-testid="currency-select-dropdown"
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
</div>
</div>
<div
class="sc-hzDEsm gnqsOZ"
title="NFT List Price"
>
$ 10,000 USD = 333,333,333.33
XEC
</div>
<div
class="sc-hzNEM iLRvPI"
>
<button
class="sc-bwCtUz sc-eTuwsz hBLfGp"
style="margin-top: 12px;"
>
List
Gordon Chen
</button>
</div>
<div
class="sc-iSDuPN iLaLMx"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="Toggle Send"
name="Toggle Send"
title="Toggle Send"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="Toggle Send"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="➡️"
data-on="➡️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-gqPbQI czjmLG"
>
Send
Gordon Chen
(
GC
)
</div>
</div>
</div>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU doSOrh"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
at Object.getByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:777:23)
====== CashTab Unit Tests: <CreateToken /> If wallet has insufficient XEC, renders component but does not render CreateTokenForm ======
Error: Unable to find an element with the text: 0.00 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
0.00
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.00
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<p
class="sc-cmthru gYAoqp"
>
You need at least
5.46
spendable
tXEC
($0.0002 USD)
to create a token
</p>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU doSOrh"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Etokens/__tests__/CreateToken.test.js:127:29)
====== CashTab Unit Tests: <CashtabTestWrapper /> With default props, renders App component ======
Error: Unable to find an element with the text: 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-fOKMvo bHWHi"
data-testid="tx-history"
>
<div
class="sc-kGXeez dgJWRP"
>
<div
class="sc-kpOJdX jTrDqc"
>
<div
class="sc-dxgOiQ ePtNdN"
type="Received"
>
<div
class="sc-ckVGcZ kdsepy"
>
<svg
title="tx-received"
/>
<div
class="sc-eNQAEJ hezDIi"
>
<div
class="sc-kEYyzF fVmxRF"
>
<div
class="sc-hMqMXs eMcfen"
>
Received
from
<a
class="sc-gipzik ORDkV"
href="https://explorer.e.cash/address/ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6"
rel="noreferrer"
target="_blank"
>
qp8...gg6
</a>
</div>
<div
class="sc-kAzzGY gDpRAi"
title="Loading"
>
<div />
<div />
<div />
<div />
</div>
</div>
...
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/App/fixtures/__tests__/CashtabTestWrapper.test.js:93:29)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <Configure /> Setting "Send Confirmations" settings will show send confirmations ======
Error: Unable to find an element with the text: Send 55 XEC to ecash:qphlhe78677sz227k83hrh542qeehh8el5lcjwk72y. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-TOsTZ htVLSY"
height="210"
width="320"
>
<button
class="sc-jbKcbu icFaFo"
>
X
</button>
<div
class="sc-cJSrbW lhZADX"
height="210"
>
<div
class="sc-kgAjT pOjUU"
>
Confirm Send
</div>
<div
class="sc-ksYbfQ hqAlCi"
>
Send 55
tXEC to ecash:qphlhe78677sz227k83hrh542qeehh8el5lcjwk72y
</div>
</div>
<div
class="sc-hmzhuo kGZSNO"
>
<button
class="sc-frDJqD sc-kvZOFW hqFdLP"
>
OK
</button>
<button
class="sc-frDJqD sc-hqyNC jiWVmp"
>
Cancel
</button>
</div>
</div>
<div
class="sc-dNLxif fgSFMj"
/>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA ekzRpS"
name="address"
placeholder="Address"
value="ecash:qphlhe78677sz227k83hrh542qeehh8el5lcjwk72y"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
</div>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA ekzRpS"
name="amount"
placeholder="Amount"
step="0.01"
type="number"
value="55"
/>
<select
class="sc-iELTvK sc-cmTdod jhSain"
data-testid="currency-select-dropdown"
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
<button
class="sc-cIShpX bOdRSs"
>
max
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
55 tXEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 0.00 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz hBLfGp"
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Configure/__tests__/Configure.test.js:222:26)
====== CashTab Unit Tests: <Configure /> "ABSOLUTE MINIMUM fees" setting is available and effective if wallet holds exactly required balance of Cachet ======
Error: Unable to find an element with the text: eCash sent. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
>
<div
class="Toastify__toast-container Toastify__toast-container--top-right sc-gacfCG idLnKJ"
>
<div
class="Toastify__toast Toastify__toast-theme--light Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
data-in="true"
id="1"
>
<div
class="Toastify__toast-body"
role="alert"
>
<div
class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
>
<svg
fill="var(--toastify-icon-color-error)"
height="100%"
viewBox="0 0 24 24"
width="100%"
>
<path
d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
/>
</svg>
</div>
<div>
Insufficient funds
</div>
</div>
<button
aria-label="close"
class="Toastify__close-button Toastify__close-button--light"
type="button"
>
<svg
aria-hidden="true"
viewBox="0 0 14 16"
>
<path
d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
fill-rule="evenodd"
/>
</svg>
</button>
<div
class="Toastify__progress-bar--wrp"
data-hidden="false"
>
<div
class="Toastify__progress-bar--bg Toastify__progress-bar-theme--light Toastify__progress-bar--error"
/>
<div
aria-hidden="false"
aria-label="notification timer"
class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--light Toastify__progress-bar--error"
role="progressbar"
style="animation-duration: 5000ms; animation-play-state: paused;"
/>
</div>
</div>
</div>
</div>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObd...
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Configure/__tests__/Configure.test.js:406:52)
====== CashTab Unit Tests: <Configure /> Setting "ABSOLUTE MINIMUM fees" settings will reduce fees to absolute min ======
Error: Unable to find an element with the text: eCash sent. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
>
<div
class="Toastify__toast-container Toastify__toast-container--top-right sc-gacfCG idLnKJ"
>
<div
class="Toastify__toast Toastify__toast-theme--light Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
data-in="true"
id="2"
>
<div
class="Toastify__toast-body"
role="alert"
>
<div
class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
>
<svg
fill="var(--toastify-icon-color-error)"
height="100%"
viewBox="0 0 24 24"
width="100%"
>
<path
d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
/>
</svg>
</div>
<div>
Insufficient funds
</div>
</div>
<button
aria-label="close"
class="Toastify__close-button Toastify__close-button--light"
type="button"
>
<svg
aria-hidden="true"
viewBox="0 0 14 16"
>
<path
d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
fill-rule="evenodd"
/>
</svg>
</button>
<div
class="Toastify__progress-bar--wrp"
data-hidden="false"
>
<div
class="Toastify__progress-bar--bg Toastify__progress-bar-theme--light Toastify__progress-bar--error"
/>
<div
aria-hidden="false"
aria-label="notification timer"
class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--light Toastify__progress-bar--error"
role="progressbar"
style="animation-duration: 5000ms; animation-play-state: paused;"
/>
</div>
</div>
</div>
</div>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObd...
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Configure/__tests__/Configure.test.js:506:52)
====== CashTab Unit Tests: <Configure /> We can choose a new fiat currency ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
1 XEC = 0.00002000 GBP
Received:
1 tXEC = 0.00002000 GBP
at Object.toHaveTextContent (/work/cashtab/src/components/Configure/__tests__/Configure.test.js:586:62)
====== CashTab Unit Tests: <App /> Adding a contact to to a new contactList by clicking on tx history adds it to localforage and wallet context ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
10,000.00 XEC
Received:
10,000.00 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:417:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <App /> Adding a contact to an existing contactList by clicking on tx history adds it to localforage and wallet context ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
10,000.00 XEC
Received:
10,000.00 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:480:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <App /> Clicking "reply" on a Cashtab Msg correctly populates the SendXec to address and amount fields ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
10,000.00 XEC
Received:
10,000.00 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:554:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <App /> A new user can import a mnemonic of a wallet with a balance ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
9,513.12 XEC
Received:
9,513.12 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:734:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <App /> Migrating from wallet/savedWallet keys (version < 1.6.0): A user with an invalid Cashtab wallet as the active wallet is migrated on startup ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
9,513.12 XEC
Received:
9,513.12 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:784:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <App /> Migrating from wallet/savedWallet keys (version < 1.6.0): A user with pre-2.1.0 valid wallets in savedWallets has them all migrated to new storage keys and new shape ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
9,513.12 XEC
Received:
9,513.12 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:822:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <App /> Migrating (version >= 1.6.0 and < 2.1.0): A user with an invalid wallet stored at wallets key has that wallet migrated ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
9,513.12 XEC
Received:
9,513.12 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:862:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <App /> Migrating (version >= 1.6.0 and < 2.1.0): A user with multiple invalid wallets stored at wallets key has them migrated ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
9,513.12 XEC
Received:
9,513.12 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:906:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <App /> Cashtab version >= 1.6.0 and < 2.1.0: A user with an invalid Cashtab wallet as the active wallet is migrated on startup ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
9,513.12 XEC
Received:
9,513.12 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:938:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <App /> A user with all valid wallets stored at wallets key does not have any wallets migrated ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
9,513.12 XEC
Received:
9,513.12 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:965:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <App /> Migrating (version < 2.9.0): A user with multiple invalid wallets stored at wallets key has them migrated ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
9,513.12 XEC
Received:
9,513.12 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:1007:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <App /> Migrating (version < 2.9.0): A user with an invalid Cashtab wallet as the active wallet is migrated on startup ======
Error: expect(element).toHaveTextContent()
Expected element to have text content:
9,513.12 XEC
Received:
9,513.12 tXEC
at Object.toHaveTextContent (/work/cashtab/src/components/App/__tests__/App.test.js:1039:60)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <SendXec /> Renders the SendXec screen with send address input ======
Error: expect(received).toHaveProperty(path, value)
Expected path: "disabled"
Expected value: false
Received value: true
at Object.toHaveProperty (/work/cashtab/src/components/Send/__tests__/SendXec.test.js:118:31)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:545:9)
at processTimers (node:internal/timers:519:7)
====== CashTab Unit Tests: <SendXec /> Pass a valid address and bip21 query string with invalid amount param (dust) to Send To field ======
TestingLibraryElementError: Unable to find an element with the text: Send amount must be at least 5.46 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA ekzRpS"
name="address"
placeholder="Address"
value="ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6?amount=5"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
</div>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf EKHPD"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="amount"
placeholder="Amount"
step="0.01"
type="number"
value="5"
/>
<select
class="sc-iELTvK sc-cmTdod iEdEXA"
data-testid="currency-select-dropdown"
disabled=""
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
<button
class="sc-cIShpX gJZnWf"
disabled=""
>
max
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
>
Send amount must be at least 5.46 tXEC
</div>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
5 tXEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 0.00 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz OqSfl"
disabled=""
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
at Object.getByText (/work/cashtab/src/components/Send/__tests__/SendXec.test.js:721:20)
====== CashTab Unit Tests: <SendXec /> Valid address with valid bip21 query string with valid amount param rejected if amount exceeds wallet balance ======
TestingLibraryElementError: Unable to find an element with the text: Amount 1,000,000.00 XEC exceeds wallet balance of 9,513.12 XEC. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA ekzRpS"
name="address"
placeholder="Address"
value="ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6?amount=1000000"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
</div>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf EKHPD"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="amount"
placeholder="Amount"
step="0.01"
type="number"
value="1000000"
/>
<select
class="sc-iELTvK sc-cmTdod iEdEXA"
data-testid="currency-select-dropdown"
disabled=""
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
<button
class="sc-cIShpX gJZnWf"
disabled=""
>
max
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
>
Amount 1,000,000.00 tXEC exceeds wallet balance of 9,513.12 tXEC
</div>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
1,000,000 tXEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 30.00 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz OqSfl"
disabled=""
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
at Object.getByText (/work/cashtab/src/components/Send/__tests__/SendXec.test.js:775:20)
====== CashTab Unit Tests: <SendXec /> Pass a valid alias and bip21 query string with invalid amount param (too many decimals) to Send To field ======
TestingLibraryElementError: Unable to find an element with the text: XEC transactions do not support more than 2 decimal places. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
/>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObdq"
title="Balance in XEC"
>
9,513.12
tXEC
</div>
<div
class="sc-bIqbHp eQIbJZ"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-jxGEyO dzLOSG"
title="Price in Local Currency"
>
1
tXEC
=
0.00003000
USD
</p>
</div>
<div
class="sc-iuDHTM bRkhcV"
>
<div
class="sc-VJcYb Uszwj"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gYUTVy"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Multisend"
name="Toggle Multisend"
title="Toggle Multisend"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Multisend"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="Send to one"
data-on="Send to many"
/>
<span
class="sc-fhYwyz cnLmNg"
/>
</label>
</div>
</div>
</div>
<div
class="sc-jtggT cVUzSi"
>
<div
class="sc-ipZHIp jSDPgp"
>
<div
class="sc-bmyXtO fetwxd"
>
<div
class="sc-dEoRIm bvGLHm"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf iMOzHB"
>
<input
class="sc-fYxtnH sc-ktHwxA ekzRpS"
name="address"
placeholder="Address"
value="chicken.xec?amount=500.123"
/>
<button
class="sc-jqCOkK hZNrJH"
title="Scan QR Code"
>
<svg />
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
/>
</div>
<div
class="sc-hmXxxW frxJjy"
>
<a
class="sc-iuJeZd ncRQs"
href="https://explorer.e.cash/address/ecash:qpmytrdsakt0axrrlswvaj069nat3p9s7cjctmjasj"
rel="noreferrer"
target="_blank"
>
ecash:qpmy...mjasj
</a>
</div>
</div>
<div
class="sc-gGBfsJ bcyGFW"
>
<div
class="sc-jnlKLf EKHPD"
>
<input
class="sc-fYxtnH sc-ktHwxA dxPESR"
disabled=""
name="amount"
placeholder="Amount"
step="0.01"
type="number"
value="500.123"
/>
<select
class="sc-iELTvK sc-cmTdod iEdEXA"
data-testid="currency-select-dropdown"
disabled=""
>
<option
class="sc-btzYZH dfuDxf"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-btzYZH dfuDxf"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
<button
class="sc-cIShpX gJZnWf"
disabled=""
>
max
</button>
</div>
<div
class="sc-lhVmIH kOeoRj"
>
tXEC transactions do not support more than 2 decimal places
</div>
</div>
</div>
</div>
<div
class="sc-iGrrsa jIFmiZ"
>
<div
class="sc-gGBfsJ bcyGFW"
>
<textarea
class="sc-hEsumM kttucH"
height="142"
name="multiAddressInput"
placeholder="One address & amount per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
/>
<div
class="sc-kTUwUJ inNpAB"
>
<div
class="sc-dqBHgY foXbGf"
/>
</div>
</div>
</div>
</div>
<div
class="sc-jVODtj iheIHG"
>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle Cashtab Msg"
name="Toggle Cashtab Msg"
title="Toggle Cashtab Msg"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle Cashtab Msg"
>
<span
class="sc-gFaPwZ hktLQl"
data-off="✉️"
data-on="✉️"
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
Cashtab Msg
</div>
</div>
</div>
<div
class="sc-kUaPvJ gjMMZr"
>
<div
class="sc-giadOv cbmuSd"
>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo bckJer"
>
<input
class="sc-jzgbtB jgfSAg"
disabled=""
id="Toggle op_return_raw"
name="Toggle op_return_raw"
title="Toggle op_return_raw"
type="checkbox"
/>
<label
class="sc-bnXvFD jrCFus"
disabled=""
for="Toggle op_return_raw"
>
<span
class="sc-gFaPwZ hktLQl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz dqlgzj"
/>
</label>
</div>
</div>
<div
class="sc-fONwsr dGcugg"
>
op_return_raw
</div>
</div>
</div>
</div>
<div
class="sc-cqCuEk fZNZTU"
>
<div
class="sc-iqzUVk cugiDL"
>
500.12 tXEC
</div>
<div
class="sc-hMFtBS hcwxtD"
>
=
$ 0.02 USD
</div>
</div>
<button
class="sc-bwCtUz sc-eTuwsz OqSfl"
disabled=""
style="margin-top: 12px;"
>
Send
</button>
</div>
</div>
<div
class="sc-yZwTr cWMKbM"
>
<button
class="sc-FQuPU doSOrh"
>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-FQuPU eSnnLf"
style="padding-bottom: 10px;"
>
<div
class="sc-iwsKbI cuDgAv"
>
<svg
title="tx-sent"
/>
</div>
</button>
<button
aria-label="Tokens"
class="sc-FQuPU doSOrh"
>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-FQuPU doSOrh"
>
<svg
title="tx-received"
/>
</button>
<div
class="sc-fjhmcy jOtBOs"
title="Show Other Screens"
>
<span
class="sc-hwcHae jiKkID"
/>
<div
class="sc-lnmtFM dXSWsQ"
title="Other Screens"
>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Swap
</p>
<svg
title="swap"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-erNlkL jUqjSc"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
at Object.getByText (/work/cashtab/src/components/Send/__tests__/SendXec.test.js:852:20)
====== CashTab Unit Tests: <SendXec /> Clicking "Send" will send a valid tx with op_return_raw after entry of a valid address and bip21 query string with valid amount and op_return_raw params to Send To field ======
Error: Unable to find an element with the text: eCash sent. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
>
<div
class="Toastify__toast-container Toastify__toast-container--top-right sc-gacfCG idLnKJ"
>
<div
class="Toastify__toast Toastify__toast-theme--light Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
data-in="true"
id="1"
>
<div
class="Toastify__toast-body"
role="alert"
>
<div
class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
>
<svg
fill="var(--toastify-icon-color-error)"
height="100%"
viewBox="0 0 24 24"
width="100%"
>
<path
d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
/>
</svg>
</div>
<div>
Insufficient funds
</div>
</div>
<button
aria-label="close"
class="Toastify__close-button Toastify__close-button--light"
type="button"
>
<svg
aria-hidden="true"
viewBox="0 0 14 16"
>
<path
d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
fill-rule="evenodd"
/>
</svg>
</button>
<div
class="Toastify__progress-bar--wrp"
data-hidden="false"
>
<div
class="Toastify__progress-bar--bg Toastify__progress-bar-theme--light Toastify__progress-bar--error"
/>
<div
aria-hidden="false"
aria-label="notification timer"
class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--light Toastify__progress-bar--error"
role="progressbar"
style="animation-duration: 5000ms; animation-play-state: paused;"
/>
</div>
</div>
</div>
</div>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObd...
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendXec.test.js:1256:52)
====== CashTab Unit Tests: <SendXec /> We can calculate max send amount with and without a cashtab msg, and send a max sat tx with a cashtab msg ======
Error: Unable to find an element with the text: eCash sent. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
>
<div
class="Toastify__toast-container Toastify__toast-container--top-right sc-gacfCG idLnKJ"
>
<div
class="Toastify__toast Toastify__toast-theme--light Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
data-in="true"
id="2"
>
<div
class="Toastify__toast-body"
role="alert"
>
<div
class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
>
<svg
fill="var(--toastify-icon-color-error)"
height="100%"
viewBox="0 0 24 24"
width="100%"
>
<path
d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
/>
</svg>
</div>
<div>
Insufficient funds
</div>
</div>
<button
aria-label="close"
class="Toastify__close-button Toastify__close-button--light"
type="button"
>
<svg
aria-hidden="true"
viewBox="0 0 14 16"
>
<path
d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
fill-rule="evenodd"
/>
</svg>
</button>
<div
class="Toastify__progress-bar--wrp"
data-hidden="false"
>
<div
class="Toastify__progress-bar--bg Toastify__progress-bar-theme--light Toastify__progress-bar--error"
/>
<div
aria-hidden="false"
aria-label="notification timer"
class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--light Toastify__progress-bar--error"
role="progressbar"
style="animation-duration: 5000ms; animation-play-state: paused;"
/>
</div>
</div>
</div>
</div>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObd...
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendXec.test.js:1383:52)
====== CashTab Unit Tests: <SendXec /> If the user has minFeeSends set to true but no longer has the right token amount, the feature is disabled ======
Error: Unable to find an element with the text: eCash sent. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
>
<div
class="Toastify__toast-container Toastify__toast-container--top-right sc-gacfCG idLnKJ"
>
<div
class="Toastify__toast Toastify__toast-theme--light Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
data-in="true"
id="3"
>
<div
class="Toastify__toast-body"
role="alert"
>
<div
class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
>
<svg
fill="var(--toastify-icon-color-error)"
height="100%"
viewBox="0 0 24 24"
width="100%"
>
<path
d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
/>
</svg>
</div>
<div>
Insufficient funds
</div>
</div>
<button
aria-label="close"
class="Toastify__close-button Toastify__close-button--light"
type="button"
>
<svg
aria-hidden="true"
viewBox="0 0 14 16"
>
<path
d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
fill-rule="evenodd"
/>
</svg>
</button>
<div
class="Toastify__progress-bar--wrp"
data-hidden="false"
>
<div
class="Toastify__progress-bar--bg Toastify__progress-bar-theme--light Toastify__progress-bar--error"
/>
<div
aria-hidden="false"
aria-label="notification timer"
class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--light Toastify__progress-bar--error"
role="progressbar"
style="animation-duration: 5000ms; animation-play-state: paused;"
/>
</div>
</div>
</div>
</div>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObd...
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendXec.test.js:1499:52)
====== CashTab Unit Tests: <SendXec /> If we type a Cashtab msg, then disable the switch, we send a tx without our typed Cashtab message ======
Error: Unable to find an element with the text: eCash sent. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
>
<div
class="Toastify__toast-container Toastify__toast-container--top-right sc-gacfCG idLnKJ"
>
<div
class="Toastify__toast Toastify__toast-theme--light Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
data-in="true"
id="6"
>
<div
class="Toastify__toast-body"
role="alert"
>
<div
class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
>
<svg
fill="var(--toastify-icon-color-error)"
height="100%"
viewBox="0 0 24 24"
width="100%"
>
<path
d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
/>
</svg>
</div>
<div>
Insufficient funds
</div>
</div>
<button
aria-label="close"
class="Toastify__close-button Toastify__close-button--light"
type="button"
>
<svg
aria-hidden="true"
viewBox="0 0 14 16"
>
<path
d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
fill-rule="evenodd"
/>
</svg>
</button>
<div
class="Toastify__progress-bar--wrp"
data-hidden="false"
>
<div
class="Toastify__progress-bar--bg Toastify__progress-bar-theme--light Toastify__progress-bar--error"
/>
<div
aria-hidden="false"
aria-label="notification timer"
class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--light Toastify__progress-bar--error"
role="progressbar"
style="animation-duration: 5000ms; animation-play-state: paused;"
/>
</div>
</div>
</div>
</div>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObd...
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendXec.test.js:1767:52)
====== CashTab Unit Tests: <SendXec /> Entering a valid bip21 query string with multiple outputs and op_return_raw will correctly populate UI fields, and the tx can be sent ======
Error: Unable to find an element with the text: eCash sent. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-dEfkYy gCfMiu"
>
<div
class="Toastify"
>
<div
class="Toastify__toast-container Toastify__toast-container--top-right sc-gacfCG idLnKJ"
>
<div
class="Toastify__toast Toastify__toast-theme--light Toastify__toast--error Toastify__toast--close-on-click Toastify--animate Toastify__bounce-enter--top-right"
data-in="true"
id="7"
>
<div
class="Toastify__toast-body"
role="alert"
>
<div
class="Toastify__toast-icon Toastify--animate-icon Toastify__zoom-enter"
>
<svg
fill="var(--toastify-icon-color-error)"
height="100%"
viewBox="0 0 24 24"
width="100%"
>
<path
d="M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"
/>
</svg>
</div>
<div>
Insufficient funds
</div>
</div>
<button
aria-label="close"
class="Toastify__close-button Toastify__close-button--light"
type="button"
>
<svg
aria-hidden="true"
viewBox="0 0 14 16"
>
<path
d="M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"
fill-rule="evenodd"
/>
</svg>
</button>
<div
class="Toastify__progress-bar--wrp"
data-hidden="false"
>
<div
class="Toastify__progress-bar--bg Toastify__progress-bar-theme--light Toastify__progress-bar--error"
/>
<div
aria-hidden="false"
aria-label="notification timer"
class="Toastify__progress-bar Toastify__progress-bar--animated Toastify__progress-bar-theme--light Toastify__progress-bar--error"
role="progressbar"
style="animation-duration: 5000ms; animation-play-state: paused;"
/>
</div>
</div>
</div>
</div>
<div
class="sc-cqPOvA clVrIX"
>
<div
class="sc-gNJABI jWsBXr"
>
<div
class="sc-kEmuub hIthwo"
>
<img
alt="cashtab"
class="sc-bbkauy jKzBhk"
src="test-file-stub"
/>
</div>
<div
class="sc-eNNmBn edTXfc"
>
<select
class="sc-eEieub iBVdYg"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-RbTVP hMcPpG"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-eopZyb iDutwN"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-iQNlJl dQNUoI"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-cpmLhU dyeBXy"
>
<div
class="sc-dymIpo gyYfmt"
>
<input
checked=""
class="sc-jzgbtB jgfSAg"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-bnXvFD hBMwJl"
for="show-hide-balance"
>
<span
class="sc-gFaPwZ jegjwl"
data-off=""
data-on=""
/>
<span
class="sc-fhYwyz jdgzKk"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-dznXNo epBKIx"
title="Wallet Info"
>
<div
class="sc-drlKqa gzObd...
at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33
at Object.findByText (/work/cashtab/src/components/Send/__tests__/SendXec.test.js:1885:52)Each failure log is accessible here:
CashTab Unit Tests: Cashtab validation functions Parses user input address strings with parseAddressInput parseAddressInput: Valid address with valid amount param exceeding user balance by one satoshi, no decimals
CashTab Unit Tests: Cashtab validation functions Parses user input address strings with parseAddressInput parseAddressInput: Valid address with invalid amount param (too many decimal places)
CashTab Unit Tests: Cashtab validation functions Parses user input address strings with parseAddressInput parseAddressInput: Valid primary address & amount, invalid secondary amount
CashTab Unit Tests: Cashtab validation functions Determines if a user input send amount is valid isValidXecSendAmount: A fiat value that converts to one satoshi more than the user total balance is rejected
CashTab Unit Tests: Cashtab validation functions Determines if a user input multi-send CSV is valid isValidMultiSendUserInput: Rejects correctly formed multisend output for amount exceeding wallet total balance by 1 satoshi
CashTab Unit Tests: Cashtab validation functions Determines if a user input multi-send CSV is valid isValidMultiSendUserInput: Returns expected error msg for invalid value (dust)
CashTab Unit Tests: Cashtab validation functions Determines if a user input multi-send CSV is valid isValidMultiSendUserInput: Returns expected error msg and line numberfor invalid value (too many decimal places)
CashTab Unit Tests: <Home /> Renders the loading component while loading, then the Home screen
CashTab Unit Tests: <Nfts /> If we switch wallets, listings that were previously organized as "My Listing" are instead organized as for sale
CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Address and value keys are set and valid.
CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Address and value keys are set and valid. Invalid bip21 string is ignored.
CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Address field is populated + disabled while value field is empty + enabled if legacy url params have address defined and value present as undefined
CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Address field is populated + disabled while value field is empty + enabled if legacy url params have address defined and no value key present
CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Params are ignored if only value param is present
CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params. Params are ignored if param is duplicated
CashTab Unit Tests: <SendXec /> rendered with params in URL Legacy params are not parsed as bip21 even if the bip21 param appears in the string
CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - valid bip21 param with amount and op_return_raw is parsed as expected
CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - an invalid bip21 param shows validation errors but cannot be changed
CashTab Unit Tests: <SendXec /> rendered with params in URL No params. Send screen loads normally with no rendered input.
CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - valid bip21 param with amount, op_return_raw, and additional output with amount is parsed as expected
CashTab Unit Tests: <BalanceHeader /> Renders the BalanceHeader component correctly with default locale en-US
CashTab Unit Tests: <BalanceHeader /> Renders the BalanceHeader component correctly with fr-FR locale
CashTab Unit Tests: <BalanceHeader /> Balance is hidden if cashtabSettings.balanceVisible is false
CashTab Unit Tests: <BalanceHeader /> Renders fiat price for a non-USD currency
CashTab Unit Tests: <BalanceHeader /> Fiat price and forex are not displayed if fiatPrice is unavailable
CashTab Unit Tests: <Receive /> Renders as expected on desktop, including copy paste functionality of clicking on the QR code
CashTab Unit Tests: <Token /> available actions rendered We can list an SLP1 NFT
CashTab Unit Tests: <CreateToken /> If wallet has insufficient XEC, renders component but does not render CreateTokenForm
CashTab Unit Tests: <CashtabTestWrapper /> With default props, renders App component
CashTab Unit Tests: <Configure /> Setting "Send Confirmations" settings will show send confirmations
CashTab Unit Tests: <Configure /> "ABSOLUTE MINIMUM fees" setting is available and effective if wallet holds exactly required balance of Cachet
CashTab Unit Tests: <Configure /> Setting "ABSOLUTE MINIMUM fees" settings will reduce fees to absolute min
CashTab Unit Tests: <Configure /> We can choose a new fiat currency
CashTab Unit Tests: <App /> Adding a contact to to a new contactList by clicking on tx history adds it to localforage and wallet context
CashTab Unit Tests: <App /> Adding a contact to an existing contactList by clicking on tx history adds it to localforage and wallet context
CashTab Unit Tests: <App /> Clicking "reply" on a Cashtab Msg correctly populates the SendXec to address and amount fields
CashTab Unit Tests: <App /> A new user can import a mnemonic of a wallet with a balance
CashTab Unit Tests: <App /> Migrating from wallet/savedWallet keys (version < 1.6.0): A user with an invalid Cashtab wallet as the active wallet is migrated on startup
CashTab Unit Tests: <App /> Migrating from wallet/savedWallet keys (version < 1.6.0): A user with pre-2.1.0 valid wallets in savedWallets has them all migrated to new storage keys and new shape
CashTab Unit Tests: <App /> Migrating (version >= 1.6.0 and < 2.1.0): A user with an invalid wallet stored at wallets key has that wallet migrated
CashTab Unit Tests: <App /> Migrating (version >= 1.6.0 and < 2.1.0): A user with multiple invalid wallets stored at wallets key has them migrated
CashTab Unit Tests: <App /> Cashtab version >= 1.6.0 and < 2.1.0: A user with an invalid Cashtab wallet as the active wallet is migrated on startup
CashTab Unit Tests: <App /> A user with all valid wallets stored at wallets key does not have any wallets migrated
CashTab Unit Tests: <App /> Migrating (version < 2.9.0): A user with multiple invalid wallets stored at wallets key has them migrated
CashTab Unit Tests: <App /> Migrating (version < 2.9.0): A user with an invalid Cashtab wallet as the active wallet is migrated on startup
CashTab Unit Tests: <SendXec /> Renders the SendXec screen with send address input
CashTab Unit Tests: <SendXec /> Pass a valid address and bip21 query string with invalid amount param (dust) to Send To field
CashTab Unit Tests: <SendXec /> Valid address with valid bip21 query string with valid amount param rejected if amount exceeds wallet balance
CashTab Unit Tests: <SendXec /> Pass a valid alias and bip21 query string with invalid amount param (too many decimals) to Send To field
CashTab Unit Tests: <SendXec /> Clicking "Send" will send a valid tx with op_return_raw after entry of a valid address and bip21 query string with valid amount and op_return_raw params to Send To field
CashTab Unit Tests: <SendXec /> We can calculate max send amount with and without a cashtab msg, and send a max sat tx with a cashtab msg
CashTab Unit Tests: <SendXec /> If the user has minFeeSends set to true but no longer has the right token amount, the feature is disabled
CashTab Unit Tests: <SendXec /> If we type a Cashtab msg, then disable the switch, we send a tx without our typed Cashtab message
CashTab Unit Tests: <SendXec /> Entering a valid bip21 query string with multiple outputs and op_return_raw will correctly populate UI fields, and the tx can be sent
if testnet --- disable price api, disable token rewards, disable xec rewards, use test ticker
| cashtab/src/components/Home/Home.js | ||
|---|---|---|
| 286 | do not show xec or cachet rewards on new wallet creation for testnet | |
| cashtab/src/components/Receive/Receive.js | ||
| 58 | wallet address ectest if testnet | |
| cashtab/src/components/Rewards/index.js | ||
| 173 | do not show token rewards if testnet | |
| cashtab/src/config/app.js | ||
| 11 | modified ticker for testnet | |
| cashtab/src/config/chronik.js | ||
| 10 | array of testnet chronik urls | |
| cashtab/src/wallet/useWallet.js | ||
| 721 | we do not bother with a periodic exchange rate update if testnet. hardcode 0 | |
The address handling seems incomplete but otherwise looks ok
| cashtab/src/components/Receive/Receive.js | ||
|---|---|---|
| 58 | This is not enough here, e.g. the copy address button still shows the ecash: prefix.
This way you avoid duplicated code and it's easier to add missing conversions when noticed. | |
| cashtab/src/config/app.js | ||
| 14 | Unrelated: is that still in use anywhere ? | |
| cashtab/src/config/chronik.js | ||
| 12 | Unrelated: please use ours first (or even only ours) | |
| cashtab/src/config/app.js | ||
|---|---|---|
| 14 | no; renamed 'prefix' and used in this diff as ecash or ectest | |
| cashtab/.env | ||
|---|---|---|
| 3 ↗ | (On Diff #50109) | Wouldn't it make more sense to have a REACT_APP_NETWORK: 'main' | 'test' variable, such that we can add support for e.g. regtest in the future? |
| cashtab/.env | ||
|---|---|---|
| 3 ↗ | (On Diff #50109) | It's a good idea. Can be a follow up so we don't have to review this diff again |