Warning, file /pim/incidenceeditor/autotests/testindividualmaildialog.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002 SPDX-FileCopyrightText: 2014 Sandro Knauß <knauss@kolabsys.com>
0003 
0004 SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #include "individualmaildialog.h"
0008 
0009 #include <KGuiItem>
0010 
0011 #include <QComboBox>
0012 #include <QObject>
0013 #include <QTest>
0014 
0015 using namespace IncidenceEditorNG;
0016 
0017 class TestIndividualMailDialog : public QObject
0018 {
0019     Q_OBJECT
0020 private Q_SLOTS:
0021     void testDialog()
0022     {
0023         KCalendarCore::Attendee::List attendees;
0024         KGuiItem buttonYes = KGuiItem(QStringLiteral("Send Email"));
0025         KGuiItem buttonNo = KGuiItem(QStringLiteral("Do not send"));
0026 
0027         KCalendarCore::Attendee attendee1(QStringLiteral("test1"), QStringLiteral("test1@example.com"));
0028         KCalendarCore::Attendee attendee2(QStringLiteral("test2"), QStringLiteral("test2@example.com"));
0029         KCalendarCore::Attendee attendee3(QStringLiteral("test3"), QStringLiteral("test3@example.com"));
0030 
0031         attendees << attendee1 << attendee2 << attendee3;
0032 
0033         IndividualMailDialog dialog(QStringLiteral("title"), attendees, buttonYes, buttonNo, nullptr);
0034 
0035         QCOMPARE(dialog.editAttendees().count(), 0);
0036         QCOMPARE(dialog.updateAttendees().count(), 3);
0037 
0038         // Just make sure, that the QCombobox is sorted like we think
0039         QComboBox *first = dialog.mAttendeeDecision[0].second;
0040         QCOMPARE((IndividualMailDialog::Decisions)first->itemData(0, Qt::UserRole).toInt(), IndividualMailDialog::Update);
0041         QCOMPARE((IndividualMailDialog::Decisions)first->itemData(1, Qt::UserRole).toInt(), IndividualMailDialog::NoUpdate);
0042         QCOMPARE((IndividualMailDialog::Decisions)first->itemData(2, Qt::UserRole).toInt(), IndividualMailDialog::Edit);
0043 
0044         // No update for first attendee, other default
0045         first->setCurrentIndex(1);
0046         QCOMPARE(dialog.editAttendees().count(), 0);
0047         QCOMPARE(dialog.updateAttendees().count(), 2);
0048         QVERIFY(dialog.updateAttendees().contains(attendee2));
0049         QVERIFY(dialog.updateAttendees().contains(attendee3));
0050 
0051         // edit for first attendee, other default
0052         first->setCurrentIndex(2);
0053         QCOMPARE(dialog.editAttendees().count(), 1);
0054         QCOMPARE(dialog.updateAttendees().count(), 2);
0055         QCOMPARE(dialog.editAttendees().constFirst(), attendee1);
0056     }
0057 };
0058 
0059 QTEST_MAIN(TestIndividualMailDialog)
0060 
0061 #include "testindividualmaildialog.moc"