@ -13,6 +13,10 @@
@@ -13,6 +13,10 @@
# include "test/test_bitcoin.h"
# include "validation.h"
# include "wallet/wallet.h"
# include "qt/overviewpage.h"
# include "qt/receivecoinsdialog.h"
# include "qt/recentrequeststablemodel.h"
# include "qt/receiverequestdialog.h"
# include <QAbstractButton>
# include <QAction>
@ -21,6 +25,9 @@
@@ -21,6 +25,9 @@
# include <QPushButton>
# include <QTimer>
# include <QVBoxLayout>
# include <QTextEdit>
# include <QListView>
# include <QDialogButtonBox>
namespace
{
@ -140,7 +147,7 @@ void BumpFee(TransactionView& view, const uint256& txid, bool expectDisabled, st
@@ -140,7 +147,7 @@ void BumpFee(TransactionView& view, const uint256& txid, bool expectDisabled, st
// src/qt/test/test_bitcoin-qt -platform xcb # Linux
// src/qt/test/test_bitcoin-qt -platform windows # Windows
// src/qt/test/test_bitcoin-qt -platform cocoa # macOS
void TestSendCoins ( )
void TestGUI ( )
{
// Set up wallet and chain with 105 blocks (5 mature blocks for spending).
TestChain100Setup test ;
@ -184,6 +191,68 @@ void TestSendCoins()
@@ -184,6 +191,68 @@ void TestSendCoins()
BumpFee ( transactionView , txid2 , false /* expect disabled */ , { } /* expected error */ , false /* cancel */ ) ;
BumpFee ( transactionView , txid2 , true /* expect disabled */ , " already bumped " /* expected error */ , false /* cancel */ ) ;
// Check current balance on OverviewPage
OverviewPage overviewPage ( platformStyle . get ( ) ) ;
overviewPage . setWalletModel ( & walletModel ) ;
QLabel * balanceLabel = overviewPage . findChild < QLabel * > ( " labelBalance " ) ;
QString balanceText = balanceLabel - > text ( ) ;
int unit = walletModel . getOptionsModel ( ) - > getDisplayUnit ( ) ;
CAmount balance = walletModel . getBalance ( ) ;
QString balanceComparison = BitcoinUnits : : formatWithUnit ( unit , balance , false , BitcoinUnits : : separatorAlways ) ;
QCOMPARE ( balanceText , balanceComparison ) ;
// Check Request Payment button
ReceiveCoinsDialog receiveCoinsDialog ( platformStyle . get ( ) ) ;
receiveCoinsDialog . setModel ( & walletModel ) ;
RecentRequestsTableModel * requestTableModel = walletModel . getRecentRequestsTableModel ( ) ;
// Label input
QLineEdit * labelInput = receiveCoinsDialog . findChild < QLineEdit * > ( " reqLabel " ) ;
labelInput - > setText ( " TEST_LABEL_1 " ) ;
// Amount input
BitcoinAmountField * amountInput = receiveCoinsDialog . findChild < BitcoinAmountField * > ( " reqAmount " ) ;
amountInput - > setValue ( 1 ) ;
// Message input
QLineEdit * messageInput = receiveCoinsDialog . findChild < QLineEdit * > ( " reqMessage " ) ;
messageInput - > setText ( " TEST_MESSAGE_1 " ) ;
int initialRowCount = requestTableModel - > rowCount ( { } ) ;
QPushButton * requestPaymentButton = receiveCoinsDialog . findChild < QPushButton * > ( " receiveButton " ) ;
requestPaymentButton - > click ( ) ;
for ( QWidget * widget : QApplication : : topLevelWidgets ( ) ) {
if ( widget - > inherits ( " ReceiveRequestDialog " ) ) {
ReceiveRequestDialog * receiveRequestDialog = qobject_cast < ReceiveRequestDialog * > ( widget ) ;
QTextEdit * rlist = receiveRequestDialog - > QObject : : findChild < QTextEdit * > ( " outUri " ) ;
QString paymentText = rlist - > toPlainText ( ) ;
QStringList paymentTextList = paymentText . split ( ' \n ' ) ;
QCOMPARE ( paymentTextList . at ( 0 ) , QString ( " Payment information " ) ) ;
QVERIFY ( paymentTextList . at ( 1 ) . indexOf ( QString ( " URI: bitcoin: " ) ) ! = - 1 ) ;
QVERIFY ( paymentTextList . at ( 2 ) . indexOf ( QString ( " Address: " ) ) ! = - 1 ) ;
QCOMPARE ( paymentTextList . at ( 3 ) , QString ( " Amount: 0.00000001 " ) + QString : : fromStdString ( CURRENCY_UNIT ) ) ;
QCOMPARE ( paymentTextList . at ( 4 ) , QString ( " Label: TEST_LABEL_1 " ) ) ;
QCOMPARE ( paymentTextList . at ( 5 ) , QString ( " Message: TEST_MESSAGE_1 " ) ) ;
}
}
// Clear button
QPushButton * clearButton = receiveCoinsDialog . findChild < QPushButton * > ( " clearButton " ) ;
clearButton - > click ( ) ;
QCOMPARE ( labelInput - > text ( ) , QString ( " " ) ) ;
QCOMPARE ( amountInput - > value ( ) , CAmount ( 0 ) ) ;
QCOMPARE ( messageInput - > text ( ) , QString ( " " ) ) ;
// Check addition to history
int currentRowCount = requestTableModel - > rowCount ( { } ) ;
QCOMPARE ( currentRowCount , initialRowCount + 1 ) ;
// Check Remove button
QTableView * table = receiveCoinsDialog . findChild < QTableView * > ( " recentRequestsView " ) ;
table - > selectRow ( currentRowCount - 1 ) ;
QPushButton * removeRequestButton = receiveCoinsDialog . findChild < QPushButton * > ( " removeRequestButton " ) ;
removeRequestButton - > click ( ) ;
QCOMPARE ( requestTableModel - > rowCount ( { } ) , currentRowCount - 1 ) ;
bitdb . Flush ( true ) ;
bitdb . Reset ( ) ;
}
@ -192,5 +261,5 @@ void TestSendCoins()
@@ -192,5 +261,5 @@ void TestSendCoins()
void WalletTests : : walletTests ( )
{
TestSendCoins ( ) ;
TestGUI ( ) ;
}