File indexing completed on 2025-02-16 04:56:07

0001 /*
0002    SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "vacationmailactionwidgettest.h"
0008 #include "../vacationmailactionwidget.h"
0009 #include "ksieveui/abstractselectemaillineedit.h"
0010 #include <KSieveUi/AbstractMoveImapFolderWidget>
0011 #include <QHBoxLayout>
0012 #include <QStackedWidget>
0013 #include <QTest>
0014 
0015 QTEST_MAIN(VacationMailActionWidgetTest)
0016 
0017 VacationMailActionWidgetTest::VacationMailActionWidgetTest(QObject *parent)
0018     : QObject(parent)
0019 {
0020 }
0021 
0022 void VacationMailActionWidgetTest::shouldHaveDefaultValue()
0023 {
0024     KSieveUi::VacationMailActionWidget w;
0025 
0026     auto mainLayout = w.findChild<QHBoxLayout *>(QStringLiteral("mainlayout"));
0027     QVERIFY(mainLayout);
0028     QCOMPARE(mainLayout->contentsMargins(), QMargins(0, 0, 0, 0));
0029 
0030     auto mStackedWidget = w.findChild<QStackedWidget *>(QStringLiteral("stackedWidget"));
0031     QVERIFY(mStackedWidget);
0032 
0033     QCOMPARE(mStackedWidget->count(), 3);
0034     QWidget *mMailActionRecipient = mStackedWidget->widget(0);
0035     QVERIFY(mMailActionRecipient);
0036     QCOMPARE(mMailActionRecipient->objectName(), QStringLiteral("mailActionRecipient"));
0037     QVERIFY(!mMailActionRecipient->isEnabled());
0038 
0039     QCOMPARE(mStackedWidget->currentIndex(), 0);
0040 
0041     QWidget *mMoveImapFolderWidget = mStackedWidget->widget(1);
0042     QVERIFY(mMoveImapFolderWidget);
0043     auto *abstractMoveImapFolderWidget = dynamic_cast<KSieveUi::AbstractMoveImapFolderWidget *>(mMoveImapFolderWidget);
0044     QVERIFY(abstractMoveImapFolderWidget);
0045     QCOMPARE(abstractMoveImapFolderWidget->objectName(), QStringLiteral("moveImapFolderWidget"));
0046 
0047     QWidget *mSelectEmailLineEdit = mStackedWidget->widget(2);
0048     QVERIFY(mSelectEmailLineEdit);
0049 
0050     auto *abstractSelectEmailWidget = dynamic_cast<KSieveUi::AbstractSelectEmailLineEdit *>(mSelectEmailLineEdit);
0051     QVERIFY(abstractSelectEmailWidget);
0052     QCOMPARE(abstractSelectEmailWidget->objectName(), QStringLiteral("selectEmailLineEdit"));
0053 
0054     bool ok;
0055     QVERIFY(w.mailActionRecipient(ok).isEmpty());
0056 }
0057 
0058 void VacationMailActionWidgetTest::shouldSwitchComponents()
0059 {
0060     KSieveUi::VacationMailActionWidget w;
0061     auto mStackedWidget = w.findChild<QStackedWidget *>(QStringLiteral("stackedWidget"));
0062 
0063     w.mailActionChanged(KSieveCore::VacationUtils::Keep);
0064     QCOMPARE(mStackedWidget->currentIndex(), 0);
0065     bool ok;
0066     QVERIFY(w.mailActionRecipient(ok).isEmpty());
0067     QVERIFY(!w.isEnabled());
0068 
0069     w.mailActionChanged(KSieveCore::VacationUtils::CopyTo);
0070     QCOMPARE(mStackedWidget->currentIndex(), 1);
0071     QVERIFY(w.mailActionRecipient(ok).isEmpty());
0072     QVERIFY(w.isEnabled());
0073 
0074     w.mailActionChanged(KSieveCore::VacationUtils::Discard);
0075     QCOMPARE(mStackedWidget->currentIndex(), 0);
0076     QVERIFY(w.mailActionRecipient(ok).isEmpty());
0077     QVERIFY(!w.isEnabled());
0078 
0079     w.mailActionChanged(KSieveCore::VacationUtils::Sendto);
0080     QCOMPARE(mStackedWidget->currentIndex(), 2);
0081     QVERIFY(w.mailActionRecipient(ok).isEmpty());
0082     QVERIFY(w.isEnabled());
0083 }
0084 
0085 #include "moc_vacationmailactionwidgettest.cpp"