File indexing completed on 2024-04-28 16:01:12

0001 /*
0002  * SPDX-FileCopyrightText: 2020-2021 Han Young <hanyoung@protonmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 #include "locationquerytest.h"
0007 
0008 void LocationQueryTest::testLocate()
0009 {
0010     qRegisterMetaType<LocationQueryResult>("LocationQueryResult");
0011     qRegisterMetaType<std::vector<LocationQueryResult>>(
0012         "std::vector<LocationQueryResult>");
0013     finished_spy = new QSignalSpy(d, &LocationQuery::located);
0014     d->locate();
0015 
0016     auto ret = finished_spy->wait(30000);
0017 
0018     // if failed to located, abort
0019     if (!ret)
0020         return;
0021 
0022     auto location =
0023         finished_spy->takeFirst().at(0).value<LocationQueryResult>();
0024     QVERIFY(!location.name().isEmpty());
0025 }
0026 
0027 void LocationQueryTest::testQuery()
0028 {
0029     d->query(QStringLiteral("London"));
0030 
0031     finished_spy = new QSignalSpy(d, &LocationQuery::queryFinished);
0032     networkError_spy = new QSignalSpy(d, &LocationQuery::queryError);
0033 
0034     auto ret = finished_spy->wait(30000);
0035 
0036     if (ret) {
0037         QVERIFY(finished_spy->takeFirst()
0038                     .at(0)
0039                     .value<std::vector<LocationQueryResult>>()
0040                     .size() > 0);
0041     } else {
0042         QVERIFY(networkError_spy->count() > 0);
0043     }
0044 }
0045 QTEST_MAIN(LocationQueryTest)