File indexing completed on 2024-12-01 04:35:22

0001 /*
0002    SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 #include "bannerinfotest.h"
0007 #include "bannerinfo/bannerinfo.h"
0008 #include "ruqola_autotest_helper.h"
0009 
0010 QTEST_GUILESS_MAIN(BannerInfoTest)
0011 BannerInfoTest::BannerInfoTest(QObject *parent)
0012     : QObject{parent}
0013 {
0014 }
0015 
0016 void BannerInfoTest::shouldHaveDefaultValues()
0017 {
0018     BannerInfo w;
0019     QVERIFY(!w.read());
0020     QVERIFY(w.text().isEmpty());
0021     QVERIFY(w.title().isEmpty());
0022     QVERIFY(w.link().isEmpty());
0023     QVERIFY(w.textArguments().isEmpty());
0024     QVERIFY(w.identifier().isEmpty());
0025     QCOMPARE(w.priority(), -1);
0026 }
0027 
0028 void BannerInfoTest::shouldBannerInfo()
0029 {
0030     QFETCH(QString, name);
0031     QFETCH(BannerInfo, bannerInfo);
0032     const QString originalJsonFile = QLatin1String(RUQOLA_DATA_DIR) + QLatin1String("/bannerinfo/") + name + QLatin1String(".json");
0033     const QJsonObject obj = AutoTestHelper::loadJsonObject(originalJsonFile);
0034 
0035     BannerInfo result;
0036     result.parseBannerInfo(obj);
0037     const bool equal = result == bannerInfo;
0038     if (!equal) {
0039         qDebug() << " result " << result;
0040         qDebug() << " bannerInfo " << bannerInfo;
0041     }
0042     QVERIFY(equal);
0043 }
0044 
0045 void BannerInfoTest::shouldBannerInfo_data()
0046 {
0047     QTest::addColumn<QString>("name");
0048     QTest::addColumn<BannerInfo>("bannerInfo");
0049     QTest::addRow("bannerinfoempty") << QStringLiteral("bannerinfoempty") << BannerInfo();
0050     {
0051         BannerInfo info;
0052         info.setIdentifier(QStringLiteral("alert-5fcc1f02f5204d09050943d2"));
0053         info.setLink(QStringLiteral("https://github.com/RocketChat/Rocket.Chat/releases/tag/3.9.1"));
0054         info.setPriority(10);
0055         info.setRead(true);
0056         info.setText(QStringLiteral("For all installations using SAML Please upgrade as soon as possible.  3.9.1 / 3.8.3 / 3.7.3 / 2.4.13 / 1.3.4 / 0.74.4"));
0057         info.setTitle(QStringLiteral("Attn: Important Security fix"));
0058         QTest::addRow("bannerinfo1") << QStringLiteral("bannerinfo1") << info;
0059     }
0060     {
0061         BannerInfo info;
0062         info.setIdentifier(QStringLiteral("versionUpdate-4_4_1"));
0063         info.setLink(QStringLiteral("https://github.com/RocketChat/Rocket.Chat/releases/tag/4.4.1"));
0064         info.setPriority(10);
0065         info.setText(QStringLiteral("New_version_available_(s)"));
0066         info.setTextArguments(QStringList({QStringLiteral("4.4.1")}));
0067         info.setTitle(QStringLiteral("Update_your_RocketChat"));
0068         QTest::addRow("bannerinfo2") << QStringLiteral("bannerinfo2") << info;
0069     }
0070 }
0071 
0072 #include "moc_bannerinfotest.cpp"