File indexing completed on 2024-12-01 04:36:35
0001 /* 0002 SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "ruqolaloginwidgettest.h" 0008 #include "misc/passwordlineeditwidget.h" 0009 #include "ruqolaloginwidget.h" 0010 #include <KBusyIndicatorWidget> 0011 #include <KPasswordLineEdit> 0012 #include <QCheckBox> 0013 #include <QFormLayout> 0014 #include <QLabel> 0015 #include <QLineEdit> 0016 #include <QPushButton> 0017 #include <QTest> 0018 0019 QTEST_MAIN(RuqolaLoginWidgetTest) 0020 RuqolaLoginWidgetTest::RuqolaLoginWidgetTest(QObject *parent) 0021 : QObject(parent) 0022 { 0023 } 0024 0025 void RuqolaLoginWidgetTest::shouldHaveDefaultValues() 0026 { 0027 RuqolaLoginWidget w; 0028 0029 auto mainLayout = w.findChild<QFormLayout *>(QStringLiteral("mainLayout")); 0030 QVERIFY(mainLayout); 0031 0032 auto mAccountName = w.findChild<QLineEdit *>(QStringLiteral("mAccountName")); 0033 QVERIFY(mAccountName); 0034 QVERIFY(mAccountName->text().isEmpty()); 0035 0036 auto mServerUrl = w.findChild<QLineEdit *>(QStringLiteral("mServerUrl")); 0037 QVERIFY(mServerUrl); 0038 QVERIFY(mServerUrl->text().isEmpty()); 0039 0040 auto mUserName = w.findChild<QLineEdit *>(QStringLiteral("mUserName")); 0041 QVERIFY(mUserName); 0042 QVERIFY(mUserName->text().isEmpty()); 0043 0044 auto mPasswordLineEditWidget = w.findChild<PasswordLineEditWidget *>(QStringLiteral("mPasswordLineEditWidget")); 0045 QVERIFY(mPasswordLineEditWidget); 0046 0047 // auto mLdapCheckBox = w.findChild<QCheckBox *>(QStringLiteral("mLdapCheckBox")); 0048 // QVERIFY(mLdapCheckBox); 0049 // QVERIFY(!mLdapCheckBox->isChecked()); 0050 0051 auto mLoginButton = w.findChild<QPushButton *>(QStringLiteral("mLoginButton")); 0052 QVERIFY(mLoginButton); 0053 QVERIFY(!mLoginButton->text().isEmpty()); 0054 0055 auto mBusyIndicatorWidget = w.findChild<KBusyIndicatorWidget *>(QStringLiteral("mBusyIndicatorWidget")); 0056 QVERIFY(mBusyIndicatorWidget); 0057 0058 auto mFailedError = w.findChild<QLabel *>(QStringLiteral("mFailedError")); 0059 QVERIFY(mFailedError); 0060 QVERIFY(mFailedError->text().isEmpty()); 0061 QVERIFY(mFailedError->isHidden()); 0062 QFont font = mFailedError->font(); 0063 QVERIFY(font.bold()); 0064 0065 auto mTwoFactorAuthenticationWidget = w.findChild<QWidget *>(QStringLiteral("mTwoFactorAuthenticationWidget")); 0066 QVERIFY(mTwoFactorAuthenticationWidget); 0067 QVERIFY(!mTwoFactorAuthenticationWidget->isVisible()); 0068 0069 auto twoFactorAuthenticationLayout = w.findChild<QVBoxLayout *>(QStringLiteral("twoFactorAuthenticationLayout")); 0070 QVERIFY(twoFactorAuthenticationLayout); 0071 QCOMPARE(twoFactorAuthenticationLayout->contentsMargins(), QMargins{}); 0072 0073 auto twoFactorAuthenticationLabel = w.findChild<QLabel *>(QStringLiteral("twoFactorAuthenticationLabel")); 0074 QVERIFY(twoFactorAuthenticationLabel); 0075 QVERIFY(!twoFactorAuthenticationLabel->text().isEmpty()); 0076 0077 auto mTwoFactorAuthenticationPasswordLineEdit = w.findChild<KPasswordLineEdit *>(QStringLiteral("mTwoFactorAuthenticationPasswordLineEdit")); 0078 QVERIFY(mTwoFactorAuthenticationPasswordLineEdit); 0079 0080 auto sendNewEmailCode = w.findChild<QPushButton *>(QStringLiteral("sendNewEmailCode")); 0081 QVERIFY(sendNewEmailCode); 0082 QVERIFY(!sendNewEmailCode->text().isEmpty()); 0083 } 0084 0085 void RuqolaLoginWidgetTest::shouldShowLabelError() 0086 { 0087 RuqolaLoginWidget w; 0088 auto mFailedError = w.findChild<QLabel *>(QStringLiteral("mFailedError")); 0089 QVERIFY(mFailedError); 0090 w.showError(QStringLiteral("bla")); 0091 0092 QCOMPARE(mFailedError->text(), QStringLiteral("bla")); 0093 QVERIFY(!mFailedError->isHidden()); 0094 } 0095 0096 #include "moc_ruqolaloginwidgettest.cpp"