File indexing completed on 2024-05-26 05:05:32

0001 /*
0002    SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "cassettingswidgettest.h"
0008 #include "administratorsettingsdialog/cas/cassettingswidget.h"
0009 #include "settingswidgetshelper.h"
0010 #include <QCheckBox>
0011 #include <QComboBox>
0012 #include <QFormLayout>
0013 #include <QLabel>
0014 #include <QLineEdit>
0015 QTEST_MAIN(CasSettingsWidgetTest)
0016 CasSettingsWidgetTest::CasSettingsWidgetTest(QObject *parent)
0017     : QObject{parent}
0018 {
0019 }
0020 
0021 void CasSettingsWidgetTest::shouldHaveDefaultValues()
0022 {
0023     CasSettingsWidget w(nullptr);
0024     auto mEnabled = w.findChild<QCheckBox *>(QStringLiteral("mEnabled"));
0025     QVERIFY(mEnabled);
0026     QVERIFY(!mEnabled->isChecked());
0027     QVERIFY(!mEnabled->text().isEmpty());
0028     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mEnabled), QStringLiteral("CAS_enabled"));
0029 
0030     auto mTrustCASUsername = w.findChild<QCheckBox *>(QStringLiteral("mTrustCASUsername"));
0031     QVERIFY(mTrustCASUsername);
0032     QVERIFY(!mTrustCASUsername->isChecked());
0033     QVERIFY(!mTrustCASUsername->text().isEmpty());
0034     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mTrustCASUsername), QStringLiteral("CAS_trust_username"));
0035 
0036     auto mAllowUserCreation = w.findChild<QCheckBox *>(QStringLiteral("mAllowUserCreation"));
0037     QVERIFY(mAllowUserCreation);
0038     QVERIFY(!mAllowUserCreation->isChecked());
0039     QVERIFY(!mAllowUserCreation->text().isEmpty());
0040     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAllowUserCreation), QStringLiteral("CAS_Creation_User_Enabled"));
0041 
0042     auto mSSOBaseURL = w.findChild<QLineEdit *>(QStringLiteral("mSSOBaseURL"));
0043     QVERIFY(mSSOBaseURL);
0044     QVERIFY(mSSOBaseURL->text().isEmpty());
0045     QVERIFY(!mSSOBaseURL->toolTip().isEmpty());
0046     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mSSOBaseURL), QStringLiteral("CAS_base_url"));
0047     SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("CAS_base_url"));
0048 
0049     auto mSSOLoginURL = w.findChild<QLineEdit *>(QStringLiteral("mSSOLoginURL"));
0050     QVERIFY(mSSOLoginURL);
0051     QVERIFY(mSSOLoginURL->text().isEmpty());
0052     QVERIFY(!mSSOLoginURL->toolTip().isEmpty());
0053     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mSSOLoginURL), QStringLiteral("CAS_login_url"));
0054     SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("CAS_login_url"));
0055 
0056     auto attributeHandlingLabel = w.findChild<QLabel *>(QStringLiteral("attributeHandlingLabel"));
0057     QVERIFY(attributeHandlingLabel);
0058     QVERIFY(!attributeHandlingLabel->text().isEmpty());
0059 
0060     auto mCASVersion = w.findChild<QComboBox *>(QStringLiteral("mCASVersion"));
0061     QVERIFY(mCASVersion);
0062     QCOMPARE(mCASVersion->count(), 2);
0063     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mCASVersion), QStringLiteral("CAS_version"));
0064 
0065     auto mAlwaysSyncUserData = w.findChild<QCheckBox *>(QStringLiteral("mAlwaysSyncUserData"));
0066     QVERIFY(mAlwaysSyncUserData);
0067     QVERIFY(!mAlwaysSyncUserData->isChecked());
0068     QVERIFY(!mAlwaysSyncUserData->text().isEmpty());
0069     QVERIFY(!mAlwaysSyncUserData->toolTip().isEmpty());
0070     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAlwaysSyncUserData), QStringLiteral("CAS_Sync_User_Data_Enabled"));
0071 
0072     auto mAttributeMap = w.findChild<QLineEdit *>(QStringLiteral("mAttributeMap"));
0073     QVERIFY(mAttributeMap);
0074     QVERIFY(mAttributeMap->text().isEmpty());
0075     QVERIFY(!mAttributeMap->toolTip().isEmpty());
0076     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAttributeMap), QStringLiteral("CAS_Sync_User_Data_FieldMap"));
0077     SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("CAS_Sync_User_Data_FieldMap"));
0078 }
0079 
0080 #include "moc_cassettingswidgettest.cpp"