qt, test: Add tests for searching in AddressBookPage dialog

This commit is contained in:
Hennadii Stepanov 2022-04-23 20:46:10 +02:00
parent 640eb772e5
commit 5c5d8f2465
No known key found for this signature in database
GPG key ID: 410108112E7EA81F

View file

@ -24,6 +24,7 @@
#include <chrono>
#include <QApplication>
#include <QLineEdit>
#include <QMessageBox>
#include <QTableView>
#include <QTimer>
@ -102,11 +103,13 @@ void TestAddAddressesToSendBook(interfaces::Node& node)
QString s_label("already here (s)");
// Define a new address (which should add to the address book successfully).
QString new_address;
QString new_address_a;
QString new_address_b;
std::tie(r_key_dest, preexisting_r_address) = build_address();
std::tie(s_key_dest, preexisting_s_address) = build_address();
std::tie(std::ignore, new_address) = build_address();
std::tie(std::ignore, new_address_a) = build_address();
std::tie(std::ignore, new_address_b) = build_address();
{
LOCK(wallet->cs_wallet);
@ -159,9 +162,52 @@ void TestAddAddressesToSendBook(interfaces::Node& node)
// Submit a new address which should add successfully - we expect the
// warning message to be blank.
EditAddressAndSubmit(
&editAddressDialog, QString("new"), new_address, QString(""));
&editAddressDialog, QString("io - new A"), new_address_a, QString(""));
check_addbook_size(3);
QCOMPARE(table_view->model()->rowCount(), 2);
EditAddressAndSubmit(
&editAddressDialog, QString("io - new B"), new_address_b, QString(""));
check_addbook_size(4);
QCOMPARE(table_view->model()->rowCount(), 3);
auto search_line = address_book.findChild<QLineEdit*>("searchLineEdit");
search_line->setText(r_label);
QCOMPARE(table_view->model()->rowCount(), 0);
search_line->setText(s_label);
QCOMPARE(table_view->model()->rowCount(), 1);
search_line->setText("io");
QCOMPARE(table_view->model()->rowCount(), 2);
// Check wilcard "?".
search_line->setText("io?new");
QCOMPARE(table_view->model()->rowCount(), 0);
search_line->setText("io???new");
QCOMPARE(table_view->model()->rowCount(), 2);
// Check wilcard "*".
search_line->setText("io*new");
QCOMPARE(table_view->model()->rowCount(), 2);
search_line->setText("*");
QCOMPARE(table_view->model()->rowCount(), 3);
search_line->setText(preexisting_r_address);
QCOMPARE(table_view->model()->rowCount(), 0);
search_line->setText(preexisting_s_address);
QCOMPARE(table_view->model()->rowCount(), 1);
search_line->setText(new_address_a);
QCOMPARE(table_view->model()->rowCount(), 1);
search_line->setText(new_address_b);
QCOMPARE(table_view->model()->rowCount(), 1);
search_line->setText("");
QCOMPARE(table_view->model()->rowCount(), 3);
}
} // namespace