File indexing completed on 2025-02-16 04:49:29

0001 /*
0002    SPDX-FileCopyrightText: 2016-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "checkbeforesendconfigurewidgettest.h"
0008 #include "../configurewidget/checkbeforesendconfigurewidget.h"
0009 #include <QCheckBox>
0010 #include <QStandardPaths>
0011 #include <QTest>
0012 #include <QVBoxLayout>
0013 
0014 CheckBeforeSendConfigureWidgetTest::CheckBeforeSendConfigureWidgetTest(QObject *parent)
0015     : QObject(parent)
0016 {
0017     QStandardPaths::setTestModeEnabled(true);
0018 }
0019 
0020 CheckBeforeSendConfigureWidgetTest::~CheckBeforeSendConfigureWidgetTest() = default;
0021 
0022 void CheckBeforeSendConfigureWidgetTest::shouldHaveDefaultValue()
0023 {
0024     CheckBeforeSendConfigureWidget w(nullptr);
0025     auto vboxlayout = w.findChild<QVBoxLayout *>(QStringLiteral("mainlayout"));
0026     QVERIFY(vboxlayout);
0027 
0028     auto mCheckPlainTextMail = w.findChild<QCheckBox *>(QStringLiteral("checkplaintext"));
0029     QVERIFY(mCheckPlainTextMail);
0030     QVERIFY(!mCheckPlainTextMail->text().isEmpty());
0031     QVERIFY(!mCheckPlainTextMail->isChecked());
0032 
0033     auto mCheckMailTransport = w.findChild<QCheckBox *>(QStringLiteral("smtpdefinedinidentity"));
0034     QVERIFY(mCheckMailTransport);
0035     QVERIFY(!mCheckMailTransport->text().isEmpty());
0036     QVERIFY(!mCheckMailTransport->isChecked());
0037 
0038     auto mCheckDuplicateEmails = w.findChild<QCheckBox *>(QStringLiteral("checkduplicatedemailsaddresses"));
0039     QVERIFY(mCheckDuplicateEmails);
0040     QVERIFY(!mCheckDuplicateEmails->text().isEmpty());
0041     QVERIFY(!mCheckDuplicateEmails->isChecked());
0042 
0043     auto mCheckSendAttachments = w.findChild<QCheckBox *>(QStringLiteral("checksendattachment"));
0044     QVERIFY(mCheckSendAttachments);
0045     QVERIFY(!mCheckSendAttachments->text().isEmpty());
0046     QVERIFY(!mCheckSendAttachments->isChecked());
0047 }
0048 
0049 void CheckBeforeSendConfigureWidgetTest::shouldResetValue()
0050 {
0051     CheckBeforeSendConfigureWidget w(nullptr);
0052 
0053     auto mCheckPlainTextMail = w.findChild<QCheckBox *>(QStringLiteral("checkplaintext"));
0054     auto mCheckMailTransport = w.findChild<QCheckBox *>(QStringLiteral("smtpdefinedinidentity"));
0055     auto mCheckDuplicateEmails = w.findChild<QCheckBox *>(QStringLiteral("checkduplicatedemailsaddresses"));
0056     auto mCheckSendAttachments = w.findChild<QCheckBox *>(QStringLiteral("checksendattachment"));
0057 
0058     mCheckMailTransport->setChecked(true);
0059     mCheckDuplicateEmails->setChecked(true);
0060     mCheckSendAttachments->setChecked(true);
0061     mCheckPlainTextMail->setChecked(true);
0062 
0063     QVERIFY(mCheckPlainTextMail->isChecked());
0064     QVERIFY(mCheckMailTransport->isChecked());
0065     QVERIFY(mCheckDuplicateEmails->isChecked());
0066     QVERIFY(mCheckSendAttachments->isChecked());
0067 
0068     mCheckMailTransport->setChecked(false);
0069     mCheckDuplicateEmails->setChecked(false);
0070     mCheckSendAttachments->setChecked(false);
0071     mCheckPlainTextMail->setChecked(false);
0072 
0073     QVERIFY(!mCheckPlainTextMail->isChecked());
0074     QVERIFY(!mCheckMailTransport->isChecked());
0075     QVERIFY(!mCheckDuplicateEmails->isChecked());
0076     QVERIFY(!mCheckSendAttachments->isChecked());
0077 
0078     mCheckMailTransport->setChecked(true);
0079     mCheckDuplicateEmails->setChecked(true);
0080     mCheckSendAttachments->setChecked(true);
0081     mCheckPlainTextMail->setChecked(true);
0082 
0083     w.resetSettings();
0084     QVERIFY(!mCheckPlainTextMail->isChecked());
0085     QVERIFY(!mCheckMailTransport->isChecked());
0086     QVERIFY(!mCheckDuplicateEmails->isChecked());
0087     QVERIFY(!mCheckSendAttachments->isChecked());
0088 }
0089 
0090 QTEST_MAIN(CheckBeforeSendConfigureWidgetTest)
0091 
0092 #include "moc_checkbeforesendconfigurewidgettest.cpp"