File indexing completed on 2024-05-12 05:13:44
0001 /* 0002 SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org> 0003 SPDX-License-Identifier: LGPL-2.0-or-later 0004 */ 0005 0006 #include "calendarhelper.h" 0007 #include "transfer.h" 0008 0009 #include <KPublicTransport/Journey> 0010 0011 #include <KCalendarCore/ICalFormat> 0012 0013 #include <QtTest/qtest.h> 0014 #include <QStandardPaths> 0015 0016 class CalendarHelperTest : public QObject 0017 { 0018 Q_OBJECT 0019 private Q_SLOTS: 0020 void initTestCase() 0021 { 0022 qputenv("TZ", "UTC"); 0023 QStandardPaths::setTestModeEnabled(true); 0024 } 0025 0026 void testFillPreTransfer() 0027 { 0028 KCalendarCore::Event::Ptr event(new KCalendarCore::Event); 0029 event->setDtStart(QDateTime({2017, 9, 10}, {6, 30}, QTimeZone("Europe/Berlin"))); 0030 0031 Transfer transfer; 0032 transfer.setAlignment(Transfer::Before); 0033 transfer.setState(Transfer::Selected); 0034 transfer.setAnchorTimeDelta(60 * 60); 0035 transfer.setAnchorTime(QDateTime({2017, 9, 10}, {6, 30}, QTimeZone("Europe/Berlin"))); 0036 transfer.setToName(QStringLiteral("Berlin Airport")); 0037 0038 KPublicTransport::Journey jny; 0039 KPublicTransport::JourneySection section; 0040 section.setScheduledDepartureTime(QDateTime({2017, 9, 10}, {5, 0}, QTimeZone("Europe/Berlin"))); 0041 section.setScheduledArrivalTime(QDateTime({2017, 9, 10}, {5, 30}, QTimeZone("Europe/Berlin"))); 0042 jny.setSections({section}); 0043 transfer.setJourney(jny); 0044 0045 CalendarHelper::fillPreTransfer(event, transfer); 0046 KCalendarCore::ICalFormat format; 0047 qDebug().noquote() << format.toString(event); 0048 0049 QCOMPARE(event->nonKDECustomProperty("X-APPLE-TRAVEL-DURATION"), QLatin1StringView("PT1H30M")); 0050 QCOMPARE(event->alarms().size(), 1); 0051 const auto alarm = event->alarms().at(0); 0052 QCOMPARE(alarm->startOffset().asSeconds(), -5700); 0053 } 0054 }; 0055 0056 QTEST_GUILESS_MAIN(CalendarHelperTest) 0057 0058 #include "calendarhelpertest.moc"