File indexing completed on 2024-06-09 04:58:53

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 "fileuploadsettingswidgettest.h"
0008 #include "administratorsettingsdialog/fileupload/fileuploadsettingswidget.h"
0009 #include "settingswidgetshelper.h"
0010 #include <QComboBox>
0011 #include <QFormLayout>
0012 #include <QLineEdit>
0013 #include <QSpinBox>
0014 QTEST_MAIN(FileUploadSettingsWidgetTest)
0015 
0016 FileUploadSettingsWidgetTest::FileUploadSettingsWidgetTest(QObject *parent)
0017     : QObject{parent}
0018 {
0019 }
0020 
0021 void FileUploadSettingsWidgetTest::shouldHaveDefaultValues()
0022 {
0023     FileUploadSettingsWidget w(nullptr);
0024     QVERIFY(w.widgetResizable());
0025 
0026     auto mainLayout = w.findChild<QFormLayout *>(QStringLiteral("mainLayout"));
0027     QVERIFY(mainLayout);
0028 
0029     auto mFileUploadsEnabled = w.findChild<QCheckBox *>(QStringLiteral("mFileUploadsEnabled"));
0030     QVERIFY(mFileUploadsEnabled);
0031     QVERIFY(!mFileUploadsEnabled->isChecked());
0032     QVERIFY(!mFileUploadsEnabled->text().isEmpty());
0033     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mFileUploadsEnabled), QStringLiteral("FileUpload_Enabled"));
0034 
0035     auto mProtectUploadedFiles = w.findChild<QCheckBox *>(QStringLiteral("mProtectUploadedFiles"));
0036     QVERIFY(mProtectUploadedFiles);
0037     QVERIFY(!mProtectUploadedFiles->isChecked());
0038     QVERIFY(!mProtectUploadedFiles->text().isEmpty());
0039     QVERIFY(!mProtectUploadedFiles->toolTip().isEmpty());
0040     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mProtectUploadedFiles), QStringLiteral("FileUpload_ProtectFiles"));
0041 
0042     auto mRotateImagesUpload = w.findChild<QCheckBox *>(QStringLiteral("mRotateImagesUpload"));
0043     QVERIFY(mRotateImagesUpload);
0044     QVERIFY(!mRotateImagesUpload->isChecked());
0045     QVERIFY(!mRotateImagesUpload->text().isEmpty());
0046     QVERIFY(!mRotateImagesUpload->toolTip().isEmpty());
0047     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mRotateImagesUpload), QStringLiteral("FileUpload_RotateImages"));
0048 
0049     auto mRestrictFilesToRooms = w.findChild<QCheckBox *>(QStringLiteral("mRestrictFilesToRooms"));
0050     QVERIFY(mRestrictFilesToRooms);
0051     QVERIFY(!mRestrictFilesToRooms->isChecked());
0052     QVERIFY(!mRestrictFilesToRooms->text().isEmpty());
0053     QVERIFY(!mRestrictFilesToRooms->toolTip().isEmpty());
0054     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mRestrictFilesToRooms), QStringLiteral("FileUpload_Restrict_to_room_members"));
0055 
0056     auto mMaximumFileUploadSize = w.findChild<QSpinBox *>(QStringLiteral("mMaximumFileUploadSize"));
0057     QVERIFY(mMaximumFileUploadSize);
0058     QVERIFY(!mMaximumFileUploadSize->toolTip().isEmpty());
0059     QCOMPARE(mMaximumFileUploadSize->maximum(), 1215752191);
0060     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mMaximumFileUploadSize), QStringLiteral("FileUpload_MaxFileSize"));
0061     SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("FileUpload_MaxFileSize"));
0062 
0063     auto mFileUploadsEnabledDirectMessages = w.findChild<QCheckBox *>(QStringLiteral("mFileUploadsEnabledDirectMessages"));
0064     QVERIFY(mFileUploadsEnabledDirectMessages);
0065     QVERIFY(!mFileUploadsEnabledDirectMessages->isChecked());
0066     QVERIFY(!mFileUploadsEnabledDirectMessages->text().isEmpty());
0067     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mFileUploadsEnabledDirectMessages), QStringLiteral("FileUpload_Enabled_Direct"));
0068 
0069     auto mAcceptedMediaTypes = w.findChild<QLineEdit *>(QStringLiteral("mAcceptedMediaTypes"));
0070     QVERIFY(mAcceptedMediaTypes);
0071     QVERIFY(mAcceptedMediaTypes->text().isEmpty());
0072     QVERIFY(!mAcceptedMediaTypes->toolTip().isEmpty());
0073     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAcceptedMediaTypes), QStringLiteral("FileUpload_MediaTypeWhiteList"));
0074 
0075     auto mBlockedMediaTypes = w.findChild<QLineEdit *>(QStringLiteral("mBlockedMediaTypes"));
0076     QVERIFY(mBlockedMediaTypes);
0077     QVERIFY(mBlockedMediaTypes->text().isEmpty());
0078     QVERIFY(!mBlockedMediaTypes->toolTip().isEmpty());
0079     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mBlockedMediaTypes), QStringLiteral("FileUpload_MediaTypeBlackList"));
0080 
0081     auto mFileUploadJsonWebTokenSecret = w.findChild<QLineEdit *>(QStringLiteral("mFileUploadJsonWebTokenSecret"));
0082     QVERIFY(mFileUploadJsonWebTokenSecret);
0083     QVERIFY(mFileUploadJsonWebTokenSecret->text().isEmpty());
0084     QVERIFY(!mFileUploadJsonWebTokenSecret->toolTip().isEmpty());
0085     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mFileUploadJsonWebTokenSecret), QStringLiteral("FileUpload_json_web_token_secret_for_files"));
0086 
0087     auto mStorageType = w.findChild<QComboBox *>(QStringLiteral("mStorageType"));
0088     QVERIFY(mStorageType);
0089     QCOMPARE(mStorageType->count(), 5);
0090     QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mStorageType), QStringLiteral("FileUpload_Storage_Type"));
0091 }
0092 
0093 #include "moc_fileuploadsettingswidgettest.cpp"