File indexing completed on 2024-04-28 05:02:16

0001 // SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 #include <QtTest/QtTest>
0005 
0006 #include "conversation/conversationmodel.h"
0007 #include "helperreply.h"
0008 #include "mockaccount.h"
0009 
0010 class ConversationModelTest : public QObject
0011 {
0012     Q_OBJECT
0013 
0014 private Q_SLOTS:
0015     void initTestCase()
0016     {
0017     }
0018 
0019     void testModel()
0020     {
0021         auto account = new MockAccount();
0022         AccountManager::instance().addAccount(account, false);
0023         AccountManager::instance().selectAccount(account);
0024         QUrl url = account->apiUrl(QStringLiteral("/api/v1/conversations"));
0025         account->registerGet(url, new TestReply(QStringLiteral("conversation-result.json"), account));
0026 
0027         ConversationModel conversationModel;
0028 
0029         QCOMPARE(conversationModel.rowCount({}), 1);
0030         QCOMPARE(conversationModel.data(conversationModel.index(0, 0), AbstractTimelineModel::AuthorIdentityRole).value<Identity *>()->avatarUrl(),
0031                  QUrl(QStringLiteral("https://files.mastodon.social/accounts/avatars/000/000/001/original/d96d39a0abb45b92.jpg")));
0032         QCOMPARE(conversationModel.data(conversationModel.index(0, 0), AbstractTimelineModel::AuthorIdentityRole).value<Identity *>()->account(),
0033                  QStringLiteral("Gargron"));
0034         QCOMPARE(conversationModel.data(conversationModel.index(0, 0), ConversationModel::ConversationIdRole).toString(), QStringLiteral("418374"));
0035         QCOMPARE(conversationModel.data(conversationModel.index(0, 0), ConversationModel::UnreadRole), false);
0036         QCOMPARE(conversationModel.data(conversationModel.index(0, 0), AbstractTimelineModel::ContentRole), QStringLiteral("LOREM"));
0037         QCOMPARE(conversationModel.data(conversationModel.index(0, 0), AbstractTimelineModel::AuthorIdentityRole).value<Identity *>()->displayName(),
0038                  QStringLiteral("Eugen"));
0039     }
0040 };
0041 
0042 QTEST_MAIN(ConversationModelTest)
0043 #include "conversationmodeltest.moc"