File indexing completed on 2025-01-12 13:02:39
0001 /* 0002 SPDX-FileCopyrightText: 2021-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "inviteinfotest.h" 0008 #include "invite/inviteinfo.h" 0009 #include "ruqola_autotest_helper.h" 0010 0011 QTEST_GUILESS_MAIN(InviteInfoTest) 0012 0013 InviteInfoTest::InviteInfoTest(QObject *parent) 0014 : QObject(parent) 0015 { 0016 } 0017 0018 void InviteInfoTest::shouldHaveDefaultValues() 0019 { 0020 InviteInfo w; 0021 QVERIFY(w.identifier().isEmpty()); 0022 QVERIFY(w.userIdentifier().isEmpty()); 0023 QVERIFY(w.roomId().isEmpty()); 0024 QCOMPARE(w.maxUses(), 0); 0025 QCOMPARE(w.uses(), 0); 0026 QVERIFY(!w.expireDateTime().isValid()); 0027 QVERIFY(!w.createDateTime().isValid()); 0028 } 0029 0030 void InviteInfoTest::shouldParseInviteInfo_data() 0031 { 0032 QTest::addColumn<QString>("fileName"); 0033 QTest::addColumn<InviteInfo>("expectedInvite"); 0034 { 0035 // RestAPI 0036 InviteInfo expected; 0037 0038 expected.setIdentifier(QStringLiteral("D2F6of")); 0039 expected.setMaxUses(25); 0040 expected.setUserIdentifier(QStringLiteral("H7Q9djXQ4iShzD9T2")); 0041 expected.setRoomId(QStringLiteral("n2GWePY4zjG48g7qA")); 0042 expected.setUses(0); 0043 0044 QDateTime expireDateTime; 0045 expireDateTime.setDate(QDate(2021, 04, 8)); 0046 expireDateTime.setTime(QTime(8, 49, 04, 571)); 0047 expireDateTime.setTimeSpec(Qt::LocalTime); 0048 expected.setExpireDateTime(expireDateTime); 0049 0050 QDateTime createDateTime; 0051 createDateTime.setDate(QDate(2021, 04, 7)); 0052 createDateTime.setTime(QTime(8, 49, 04, 571)); 0053 createDateTime.setTimeSpec(Qt::LocalTime); 0054 expected.setCreateDateTime(createDateTime); 0055 QTest::newRow("inviteinfo") << QStringLiteral("inviteinfo") << expected; 0056 } 0057 } 0058 0059 void InviteInfoTest::shouldParseInviteInfo() 0060 { 0061 QFETCH(QString, fileName); 0062 QFETCH(InviteInfo, expectedInvite); 0063 const QString originalJsonFile = QLatin1String(RUQOLA_DATA_DIR) + QLatin1String("/json/") + fileName + QLatin1String(".json"); 0064 const QJsonObject fields = AutoTestHelper::loadJsonObject(originalJsonFile); 0065 0066 InviteInfo newFile; 0067 newFile.parseInviteInfo(fields); 0068 const bool equal = (newFile == expectedInvite); 0069 if (!equal) { 0070 qDebug() << " current value " << newFile; 0071 qDebug() << " expected value " << expectedInvite; 0072 } 0073 QVERIFY(equal); 0074 } 0075 0076 #include "moc_inviteinfotest.cpp"