Warning, file /network/tokodon/src/autotests/federationtooltest.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // SPDX-FileCopyrightText: 2023 Rishi Kumar <rsi.dev17@gmail.com>
0002 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0003 
0004 #include "account/accountmanager.h"
0005 #include "admin/federationtoolmodel.h"
0006 #include "helperreply.h"
0007 #include "mockaccount.h"
0008 
0009 #include <QtTest/QtTest>
0010 
0011 class FederationToolTest : public QObject
0012 {
0013     Q_OBJECT
0014 
0015 private Q_SLOTS:
0016     void initTestCase()
0017     {
0018         account = new MockAccount();
0019         AccountManager::instance().addAccount(account, false);
0020         AccountManager::instance().selectAccount(account);
0021     }
0022 
0023     void cleanupTestCase()
0024     {
0025         AccountManager::instance().removeAccount(account);
0026     }
0027 
0028     void testModel()
0029     {
0030         QUrl url = account->apiUrl(QStringLiteral("/api/v1/admin/domain_blocks"));
0031         account->registerGet(url, new TestReply(QStringLiteral("federation-info.json"), account));
0032 
0033         FederationToolModel federationToolModel;
0034         QCOMPARE(federationToolModel.rowCount({}), 2);
0035         QCOMPARE(federationToolModel.data(federationToolModel.index(0, 0), FederationToolModel::IdRole).toInt(), 1);
0036         QCOMPARE(federationToolModel.data(federationToolModel.index(0, 0), FederationToolModel::DomainRole).toUrl(), QUrl(QStringLiteral("kde.org")));
0037         Q_ASSERT(federationToolModel.data(federationToolModel.index(0, 0), FederationToolModel::CreatedAtRole).isValid());
0038         QCOMPARE(federationToolModel.data(federationToolModel.index(0, 0), FederationToolModel::SeverityRole).toString(), QStringLiteral("silence"));
0039         QCOMPARE(federationToolModel.data(federationToolModel.index(0, 0), FederationToolModel::RejectMediaRole).toBool(), false);
0040         QCOMPARE(federationToolModel.data(federationToolModel.index(0, 0), FederationToolModel::RejectReportsRole).toBool(), false);
0041         QCOMPARE(federationToolModel.data(federationToolModel.index(0, 0), FederationToolModel::PrivateCommentRole).toString(),
0042                  QStringLiteral("This is a private comment"));
0043         QCOMPARE(federationToolModel.data(federationToolModel.index(0, 0), FederationToolModel::PublicCommentRole).toString(),
0044                  QStringLiteral("This is a public comment"));
0045         QCOMPARE(federationToolModel.data(federationToolModel.index(0, 0), FederationToolModel::ObfuscateRole).toBool(), false);
0046     }
0047 
0048 private:
0049     MockAccount *account = nullptr;
0050 };
0051 
0052 QTEST_MAIN(FederationToolTest)
0053 #include "federationtooltest.moc"