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

0001 /*
0002  * SPDX-FileCopyrightText: 2020-2021 Han Young <hanyoung@protonmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 #include "sunrisesourcetest.h"
0007 
0008 void SunriseSourceTest::initTestCase()
0009 {
0010     // Hangzhou, which has static offset from UTC so we can hardcode it here
0011     d = new SunriseSource(30.29, 120.16, QStringLiteral("Asia/Shanghai"));
0012     finished_spy = new QSignalSpy(d, &SunriseSource::finished);
0013     networkError_spy = new QSignalSpy(d, &SunriseSource::networkError);
0014 
0015     d->requestData();
0016 }
0017 
0018 void SunriseSourceTest::testFetch()
0019 {
0020     auto ret = finished_spy->wait(30000);
0021 
0022     if (ret) {
0023         auto data = d->value();
0024         QVERIFY(data.size() > 0);
0025 
0026         auto count = finished_spy->size();
0027 
0028         // fetch again, this should return immediately
0029         d->requestData();
0030         QVERIFY(count < finished_spy->size());
0031     } else {
0032         QVERIFY(networkError_spy->count() > 0);
0033     }
0034 }
0035 QTEST_MAIN(SunriseSourceTest)