File indexing completed on 2024-05-12 16:25:31

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"