File indexing completed on 2024-05-26 05:05:33
0001 /* 0002 SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 #include "messagesettingswidgettest.h" 0007 #include "administratorsettingsdialog/message/messagesettingswidget.h" 0008 #include "settingswidgetshelper.h" 0009 #include <QCheckBox> 0010 #include <QComboBox> 0011 #include <QFormLayout> 0012 #include <QLabel> 0013 #include <QLineEdit> 0014 #include <QSpinBox> 0015 QTEST_MAIN(MessageSettingsWidgetTest) 0016 0017 MessageSettingsWidgetTest::MessageSettingsWidgetTest(QObject *parent) 0018 : QObject{parent} 0019 { 0020 } 0021 0022 void MessageSettingsWidgetTest::shouldHaveDefaultValues() 0023 { 0024 MessageSettingsWidget w(nullptr); 0025 QVERIFY(w.widgetResizable()); 0026 0027 auto mainLayout = w.findChild<QFormLayout *>(QStringLiteral("mainLayout")); 0028 QVERIFY(mainLayout); 0029 0030 auto mAllowMessageEditing = w.findChild<QCheckBox *>(QStringLiteral("mAllowMessageEditing")); 0031 QVERIFY(mAllowMessageEditing); 0032 QVERIFY(!mAllowMessageEditing->isChecked()); 0033 QVERIFY(!mAllowMessageEditing->text().isEmpty()); 0034 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAllowMessageEditing), QStringLiteral("Message_AllowEditing")); 0035 0036 auto mAllowMessageDeleting = w.findChild<QCheckBox *>(QStringLiteral("mAllowMessageDeleting")); 0037 QVERIFY(mAllowMessageDeleting); 0038 QVERIFY(!mAllowMessageDeleting->isChecked()); 0039 QVERIFY(!mAllowMessageDeleting->text().isEmpty()); 0040 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAllowMessageDeleting), QStringLiteral("Message_AllowDeleting")); 0041 0042 auto mShowEditedStatus = w.findChild<QCheckBox *>(QStringLiteral("mShowEditedStatus")); 0043 QVERIFY(mShowEditedStatus); 0044 QVERIFY(!mShowEditedStatus->isChecked()); 0045 QVERIFY(!mShowEditedStatus->text().isEmpty()); 0046 QVERIFY(!mShowEditedStatus->toolTip().isEmpty()); 0047 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mShowEditedStatus), QStringLiteral("Message_ShowEditedStatus")); 0048 0049 auto mShowDeletedStatus = w.findChild<QCheckBox *>(QStringLiteral("mShowDeletedStatus")); 0050 QVERIFY(mShowDeletedStatus); 0051 QVERIFY(!mShowDeletedStatus->isChecked()); 0052 QVERIFY(!mShowDeletedStatus->text().isEmpty()); 0053 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mShowDeletedStatus), QStringLiteral("Message_ShowDeletedStatus")); 0054 0055 auto mAllowMessagePinning = w.findChild<QCheckBox *>(QStringLiteral("mAllowMessagePinning")); 0056 QVERIFY(mAllowMessagePinning); 0057 QVERIFY(!mAllowMessagePinning->isChecked()); 0058 QVERIFY(!mAllowMessagePinning->text().isEmpty()); 0059 QVERIFY(!mAllowMessagePinning->toolTip().isEmpty()); 0060 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAllowMessagePinning), QStringLiteral("Message_AllowPinning")); 0061 0062 auto mAllowMessageSnippeting = w.findChild<QCheckBox *>(QStringLiteral("mAllowMessageSnippeting")); 0063 QVERIFY(mAllowMessageSnippeting); 0064 QVERIFY(!mAllowMessageSnippeting->isChecked()); 0065 QVERIFY(!mAllowMessageSnippeting->text().isEmpty()); 0066 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAllowMessageSnippeting), QStringLiteral("Message_AllowSnippeting")); 0067 0068 auto mAllowConvertingLongMessageAttachment = w.findChild<QCheckBox *>(QStringLiteral("mAllowConvertingLongMessageAttachment")); 0069 QVERIFY(mAllowConvertingLongMessageAttachment); 0070 QVERIFY(!mAllowConvertingLongMessageAttachment->isChecked()); 0071 QVERIFY(!mAllowConvertingLongMessageAttachment->text().isEmpty()); 0072 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAllowConvertingLongMessageAttachment), QStringLiteral("Message_AllowConvertLongMessagesToAttachment")); 0073 0074 auto mVideoRecorderEnabled = w.findChild<QCheckBox *>(QStringLiteral("mVideoRecorderEnabled")); 0075 QVERIFY(mVideoRecorderEnabled); 0076 QVERIFY(!mVideoRecorderEnabled->isChecked()); 0077 QVERIFY(!mVideoRecorderEnabled->text().isEmpty()); 0078 QVERIFY(!mVideoRecorderEnabled->toolTip().isEmpty()); 0079 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mVideoRecorderEnabled), QStringLiteral("Message_VideoRecorderEnabled")); 0080 0081 auto mBlockMessageEditingAfterMinutes = w.findChild<QSpinBox *>(QStringLiteral("mBlockMessageEditingAfterMinutes")); 0082 QVERIFY(mBlockMessageEditingAfterMinutes); 0083 QVERIFY(!mBlockMessageEditingAfterMinutes->toolTip().isEmpty()); 0084 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mBlockMessageEditingAfterMinutes), QStringLiteral("Message_AllowEditing_BlockEditInMinutes")); 0085 SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("Message_AllowEditing_BlockEditInMinutes")); 0086 0087 auto mBlockMessageDeletingAfterMinutes = w.findChild<QSpinBox *>(QStringLiteral("mBlockMessageDeletingAfterMinutes")); 0088 QVERIFY(mBlockMessageDeletingAfterMinutes); 0089 QVERIFY(!mBlockMessageDeletingAfterMinutes->toolTip().isEmpty()); 0090 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mBlockMessageDeletingAfterMinutes), QStringLiteral("Message_AllowDeleting_BlockDeleteInMinutes")); 0091 SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("Message_AllowDeleting_BlockDeleteInMinutes")); 0092 0093 auto mMaximumAllowedCharactersPerMessage = w.findChild<QSpinBox *>(QStringLiteral("mMaximumAllowedCharactersPerMessage")); 0094 QVERIFY(mMaximumAllowedCharactersPerMessage); 0095 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mMaximumAllowedCharactersPerMessage), QStringLiteral("Message_MaxAllowedSize")); 0096 QCOMPARE(mMaximumAllowedCharactersPerMessage->maximum(), 99999); 0097 SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("Message_MaxAllowedSize")); 0098 0099 auto mSafePort = w.findChild<QLineEdit *>(QStringLiteral("mSafePort")); 0100 QVERIFY(mSafePort); 0101 QVERIFY(mSafePort->text().isEmpty()); 0102 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mSafePort), QStringLiteral("API_EmbedSafePorts")); 0103 0104 auto messageAttachmentsLabel = w.findChild<QLabel *>(QStringLiteral("messageAttachmentsLabel")); 0105 QVERIFY(messageAttachmentsLabel); 0106 QVERIFY(!messageAttachmentsLabel->text().isEmpty()); 0107 0108 auto mRemoveEXIFMetadata = w.findChild<QCheckBox *>(QStringLiteral("mRemoveEXIFMetadata")); 0109 QVERIFY(mRemoveEXIFMetadata); 0110 QVERIFY(!mRemoveEXIFMetadata->isChecked()); 0111 QVERIFY(!mRemoveEXIFMetadata->text().isEmpty()); 0112 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mRemoveEXIFMetadata), QStringLiteral("Message_Attachments_Strip_Exif")); 0113 0114 auto mEnableImageThumbnails = w.findChild<QCheckBox *>(QStringLiteral("mEnableImageThumbnails")); 0115 QVERIFY(mEnableImageThumbnails); 0116 QVERIFY(!mEnableImageThumbnails->isChecked()); 0117 QVERIFY(!mEnableImageThumbnails->text().isEmpty()); 0118 QVERIFY(!mEnableImageThumbnails->toolTip().isEmpty()); 0119 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mEnableImageThumbnails), QStringLiteral("Message_Attachments_Thumbnails_Enabled")); 0120 0121 auto audioMessageLabel = w.findChild<QLabel *>(QStringLiteral("audioMessageLabel")); 0122 QVERIFY(audioMessageLabel); 0123 QVERIFY(!audioMessageLabel->text().isEmpty()); 0124 0125 auto mThumbnailMaxWidth = w.findChild<QSpinBox *>(QStringLiteral("mThumbnailMaxWidth")); 0126 QVERIFY(mThumbnailMaxWidth); 0127 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mThumbnailMaxWidth), QStringLiteral("Message_Attachments_Thumbnails_Width")); 0128 SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("Message_Attachments_Thumbnails_Width")); 0129 0130 auto mThumbnailMaxHeight = w.findChild<QSpinBox *>(QStringLiteral("mThumbnailMaxHeight")); 0131 QVERIFY(mThumbnailMaxHeight); 0132 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mThumbnailMaxHeight), QStringLiteral("Message_Attachments_Thumbnails_Height")); 0133 SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("Message_Attachments_Thumbnails_Height")); 0134 0135 auto mAudioRecorderEnabled = w.findChild<QCheckBox *>(QStringLiteral("mAudioRecorderEnabled")); 0136 QVERIFY(mAudioRecorderEnabled); 0137 QVERIFY(!mAudioRecorderEnabled->isChecked()); 0138 QVERIFY(!mAudioRecorderEnabled->text().isEmpty()); 0139 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAudioRecorderEnabled), QStringLiteral("Message_AudioRecorderEnabled")); 0140 0141 auto mAudioMessageBitRate = w.findChild<QSpinBox *>(QStringLiteral("mAudioMessageBitRate")); 0142 QVERIFY(mAudioMessageBitRate); 0143 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAudioMessageBitRate), QStringLiteral("Message_Audio_bitRate")); 0144 SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("Message_Audio_bitRate")); 0145 0146 auto autoTranslateLabel = w.findChild<QLabel *>(QStringLiteral("autoTranslateLabel")); 0147 QVERIFY(autoTranslateLabel); 0148 QVERIFY(!autoTranslateLabel->text().isEmpty()); 0149 0150 auto mAutoTranslateEnabled = w.findChild<QCheckBox *>(QStringLiteral("mAutoTranslateEnabled")); 0151 QVERIFY(mAutoTranslateEnabled); 0152 QVERIFY(!mAutoTranslateEnabled->isChecked()); 0153 QVERIFY(!mAutoTranslateEnabled->text().isEmpty()); 0154 QVERIFY(mAutoTranslateEnabled->toolTip().isEmpty()); 0155 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAutoTranslateEnabled), QStringLiteral("AutoTranslate_Enabled")); 0156 0157 auto mAutoTranslateServiceProvider = w.findChild<QComboBox *>(QStringLiteral("mAutoTranslateServiceProvider")); 0158 QVERIFY(mAutoTranslateServiceProvider); 0159 QCOMPARE(mAutoTranslateServiceProvider->count(), 3); 0160 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mAutoTranslateServiceProvider), QStringLiteral("AutoTranslate_ServiceProvider")); 0161 0162 auto mDeeplApiKey = w.findChild<QLineEdit *>(QStringLiteral("mDeeplApiKey")); 0163 QVERIFY(mDeeplApiKey); 0164 QVERIFY(mDeeplApiKey->text().isEmpty()); 0165 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mDeeplApiKey), QStringLiteral("AutoTranslate_DeepLAPIKey")); 0166 0167 auto mGoogleApiKey = w.findChild<QLineEdit *>(QStringLiteral("mGoogleApiKey")); 0168 QVERIFY(mGoogleApiKey); 0169 QVERIFY(mGoogleApiKey->text().isEmpty()); 0170 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mGoogleApiKey), QStringLiteral("AutoTranslate_GoogleAPIKey")); 0171 0172 auto mMicrosoftApiKey = w.findChild<QLineEdit *>(QStringLiteral("mMicrosoftApiKey")); 0173 QVERIFY(mMicrosoftApiKey); 0174 QVERIFY(mMicrosoftApiKey->text().isEmpty()); 0175 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mMicrosoftApiKey), QStringLiteral("AutoTranslate_MicrosoftAPIKey")); 0176 0177 auto mGroupingPeriod = w.findChild<QSpinBox *>(QStringLiteral("mGroupingPeriod")); 0178 QVERIFY(mGroupingPeriod); 0179 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mGroupingPeriod), QStringLiteral("Message_GroupingPeriod")); 0180 SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("Message_GroupingPeriod")); 0181 0182 auto mDirectMessageMaxUsers = w.findChild<QSpinBox *>(QStringLiteral("mDirectMessageMaxUsers")); 0183 QVERIFY(mDirectMessageMaxUsers); 0184 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mDirectMessageMaxUsers), QStringLiteral("DirectMesssage_maxUsers")); 0185 SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("DirectMesssage_maxUsers")); 0186 0187 auto mMaximumNumberChainedQuotes = w.findChild<QSpinBox *>(QStringLiteral("mMaximumNumberChainedQuotes")); 0188 QVERIFY(mMaximumNumberChainedQuotes); 0189 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mMaximumNumberChainedQuotes), QStringLiteral("Message_QuoteChainLimit")); 0190 SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("Message_QuoteChainLimit")); 0191 0192 auto mMessageErasureType = w.findChild<QComboBox *>(QStringLiteral("mMessageErasureType")); 0193 QVERIFY(mMessageErasureType); 0194 QCOMPARE(mMessageErasureType->count(), 3); 0195 QVERIFY(!mMessageErasureType->toolTip().isEmpty()); 0196 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mMessageErasureType), QStringLiteral("Message_ErasureType")); 0197 0198 auto mApiEmbed = w.findChild<QCheckBox *>(QStringLiteral("mApiEmbed")); 0199 QVERIFY(mApiEmbed); 0200 QVERIFY(!mApiEmbed->isChecked()); 0201 QVERIFY(!mApiEmbed->text().isEmpty()); 0202 QVERIFY(!mApiEmbed->toolTip().isEmpty()); 0203 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mApiEmbed), QStringLiteral("API_Embed")); 0204 0205 auto mEmbedCacheExpirationDays = w.findChild<QSpinBox *>(QStringLiteral("mEmbedCacheExpirationDays")); 0206 QVERIFY(mEmbedCacheExpirationDays); 0207 QCOMPARE(SettingsWidgetHelper::widgetSettingsName(mEmbedCacheExpirationDays), QStringLiteral("API_EmbedCacheExpirationDays")); 0208 SettingsWidgetHelper::checkLabelToolButton(&w, QStringLiteral("API_EmbedCacheExpirationDays")); 0209 } 0210 0211 #include "moc_messagesettingswidgettest.cpp"