diff --git a/cashtab/package-lock.json b/cashtab/package-lock.json
--- a/cashtab/package-lock.json
+++ b/cashtab/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "cashtab",
- "version": "2.23.3",
+ "version": "2.23.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cashtab",
- "version": "2.23.3",
+ "version": "2.23.4",
"dependencies": {
"@ant-design/icons": "^5.3.0",
"@bitgo/utxo-lib": "^9.33.0",
diff --git a/cashtab/package.json b/cashtab/package.json
--- a/cashtab/package.json
+++ b/cashtab/package.json
@@ -1,6 +1,6 @@
{
"name": "cashtab",
- "version": "2.23.3",
+ "version": "2.23.4",
"private": true,
"scripts": {
"start": "node scripts/start.js",
diff --git a/cashtab/src/components/Contacts/__tests__/index.test.js b/cashtab/src/components/Contacts/__tests__/index.test.js
--- a/cashtab/src/components/Contacts/__tests__/index.test.js
+++ b/cashtab/src/components/Contacts/__tests__/index.test.js
@@ -276,4 +276,31 @@
).toBeInTheDocument();
});
});
+ it('We can send a tx to an address in contacts', async () => {
+ // localforage defaults
+ const mockedChronik = await initializeCashtabStateForTests(
+ walletWithXecAndTokens,
+ localforage,
+ );
+
+ // Custom contact list
+ await localforage.setItem('contactList', populatedContactList);
+
+ render(
+ ,
+ );
+
+ // Wait for the app to load
+ await waitFor(() =>
+ expect(screen.queryByTestId('loading-ctn')).not.toBeInTheDocument(),
+ );
+
+ // Click the first row Send button
+ await user.click(screen.getAllByTestId('send-to-contact')[0]);
+
+ // Now we are on the SendXec page and the address field is filled out
+ expect(screen.getByPlaceholderText('Address')).toHaveValue(
+ populatedContactList[0].address,
+ );
+ });
});
diff --git a/cashtab/src/components/Contacts/index.js b/cashtab/src/components/Contacts/index.js
--- a/cashtab/src/components/Contacts/index.js
+++ b/cashtab/src/components/Contacts/index.js
@@ -314,6 +314,7 @@
}
/>