File indexing completed on 2024-12-01 04:35:27
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 "roletest.h" 0008 #include "roles/role.h" 0009 #include "ruqola_autotest_helper.h" 0010 0011 QTEST_GUILESS_MAIN(RoleTest) 0012 0013 RoleTest::RoleTest(QObject *parent) 0014 : QObject(parent) 0015 { 0016 } 0017 0018 void RoleTest::shouldHaveDefaultValue() 0019 { 0020 Role r; 0021 QVERIFY(!r.isOwner()); 0022 QVERIFY(!r.isModerator()); 0023 QVERIFY(!r.isLeader()); 0024 QVERIFY(r.userId().isEmpty()); 0025 QVERIFY(r.userName().isEmpty()); 0026 QVERIFY(!r.isValid()); 0027 QVERIFY(!r.hasARole()); 0028 } 0029 0030 void RoleTest::shouldBeValid() 0031 { 0032 Role r; 0033 QVERIFY(!r.isValid()); 0034 r.setIsOwner(true); 0035 QVERIFY(!r.isValid()); 0036 r.setIsOwner(false); 0037 QVERIFY(!r.isValid()); 0038 r.setIsLeader(true); 0039 QVERIFY(!r.isValid()); 0040 r.setIsLeader(false); 0041 QVERIFY(!r.isValid()); 0042 r.setIsModerator(true); 0043 QVERIFY(!r.isValid()); 0044 r.setIsModerator(false); 0045 QVERIFY(!r.isValid()); 0046 r.setUserId(QStringLiteral("foo")); 0047 QVERIFY(r.isValid()); 0048 r.setUserId(QString()); 0049 QVERIFY(!r.isValid()); 0050 } 0051 0052 void RoleTest::shouldLoadRoles_data() 0053 { 0054 QTest::addColumn<QString>("name"); 0055 QTest::addColumn<Role>("role"); 0056 0057 Role r; 0058 r.setUserId(QStringLiteral("id1")); 0059 r.setIsOwner(true); 0060 r.setIsModerator(true); 0061 r.setIsLeader(true); 0062 r.setUserName(QStringLiteral("bla")); 0063 QTest::addRow("role1") << QStringLiteral("role1") << r; 0064 Role r2; 0065 r2.setUserId(QStringLiteral("id2")); 0066 r2.setIsOwner(true); 0067 r2.setIsLeader(true); 0068 r2.setUserName(QStringLiteral("bla")); 0069 QTest::addRow("role2") << QStringLiteral("role2") << r2; 0070 } 0071 0072 void RoleTest::shouldLoadRoles() 0073 { 0074 QFETCH(QString, name); 0075 QFETCH(Role, role); 0076 const QString originalJsonFile = QLatin1String(RUQOLA_DATA_DIR) + QLatin1String("/rolesforroom/") + name + QLatin1String(".json"); 0077 const QJsonObject obj = AutoTestHelper::loadJsonObject(originalJsonFile); 0078 0079 Role r; 0080 r.parseRole(obj); 0081 QCOMPARE(r, role); 0082 } 0083 0084 void RoleTest::shouldVerifyHasRoles() 0085 { 0086 Role r; 0087 r.setUserId(QStringLiteral("foo")); 0088 QVERIFY(!r.hasARole()); 0089 r.setIsOwner(true); 0090 QVERIFY(r.hasARole()); 0091 r.setIsLeader(true); 0092 QVERIFY(r.hasARole()); 0093 r.setIsModerator(true); 0094 QVERIFY(r.hasARole()); 0095 r.setIsOwner(false); 0096 QVERIFY(r.hasARole()); 0097 r.setIsLeader(false); 0098 QVERIFY(r.hasARole()); 0099 r.setIsModerator(false); 0100 QVERIFY(!r.hasARole()); 0101 } 0102 0103 // Create autotest for updateRoless 0104 0105 #include "moc_roletest.cpp"