File indexing completed on 2025-01-12 10:31:46
0001 /* 0002 SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "rolestest.h" 0008 #include "roles/roles.h" 0009 #include "ruqola_autotest_helper.h" 0010 0011 QTEST_GUILESS_MAIN(RolesTest) 0012 0013 RolesTest::RolesTest(QObject *parent) 0014 : QObject(parent) 0015 { 0016 } 0017 0018 void RolesTest::shouldHaveDefaultValue() 0019 { 0020 Roles r; 0021 QVERIFY(r.roles().isEmpty()); 0022 QVERIFY(r.isEmpty()); 0023 } 0024 0025 void RolesTest::shouldFindRoles() 0026 { 0027 Roles r; 0028 0029 QVector<Role> v; 0030 0031 Role r1; 0032 r1.setIsOwner(true); 0033 r1.setIsLeader(true); 0034 r1.setUserId(QStringLiteral("r1")); 0035 v.append(std::move(r1)); 0036 0037 Role r2; 0038 r2.setIsOwner(true); 0039 r2.setIsLeader(false); 0040 r2.setUserId(QStringLiteral("r2")); 0041 v.append(std::move(r2)); 0042 0043 r.setRoles(v); 0044 0045 Role result = r.findRoleByUserId(QStringLiteral("r1")); 0046 QVERIFY(result.isValid()); 0047 QVERIFY(result.isOwner()); 0048 QVERIFY(result.isLeader()); 0049 QVERIFY(!result.isModerator()); 0050 0051 result = r.findRoleByUserId(QStringLiteral("r7")); 0052 QVERIFY(!result.isValid()); 0053 } 0054 0055 void RolesTest::shouldLoadRoles_data() 0056 { 0057 QTest::addColumn<QString>("name"); 0058 QTest::addColumn<int>("rolesCount"); 0059 0060 QTest::addRow("roles1") << QStringLiteral("roles1") << 3; 0061 } 0062 0063 void RolesTest::shouldLoadRoles() 0064 { 0065 QFETCH(QString, name); 0066 QFETCH(int, rolesCount); 0067 const QString originalJsonFile = QLatin1String(RUQOLA_DATA_DIR) + QLatin1String("/rolesforroom/") + name + QLatin1String(".json"); 0068 const QJsonObject obj = AutoTestHelper::loadJsonObject(originalJsonFile); 0069 0070 Roles r; 0071 r.parseRole(obj); 0072 QCOMPARE(r.roles().count(), rolesCount); 0073 } 0074 0075 #include "moc_rolestest.cpp"