File: testindividualmaildialog.cpp

package info (click to toggle)
incidenceeditor 25.12.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,100 kB
  • sloc: cpp: 11,933; makefile: 17; xml: 11; sh: 3
file content (61 lines) | stat: -rw-r--r-- 2,323 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
SPDX-FileCopyrightText: 2014 Sandro Knauß <knauss@kolabsys.com>

SPDX-License-Identifier: LGPL-2.0-or-later
 */

#include "individualmaildialog.h"

#include <KGuiItem>

#include <QComboBox>
#include <QObject>
#include <QTest>

using namespace IncidenceEditorNG;
using namespace Qt::Literals::StringLiterals;
class TestIndividualMailDialog : public QObject
{
    Q_OBJECT
private Q_SLOTS:
    void testDialog()
    {
        KCalendarCore::Attendee::List attendees;
        KGuiItem const buttonYes = KGuiItem(u"Send Email"_s);
        KGuiItem const buttonNo = KGuiItem(u"Do not send"_s);

        KCalendarCore::Attendee const attendee1(u"test1"_s, QStringLiteral("test1@example.com"));
        KCalendarCore::Attendee const attendee2(u"test2"_s, QStringLiteral("test2@example.com"));
        KCalendarCore::Attendee const attendee3(u"test3"_s, QStringLiteral("test3@example.com"));

        attendees << attendee1 << attendee2 << attendee3;

        IndividualMailDialog dialog(u"title"_s, attendees, buttonYes, buttonNo, nullptr);

        QCOMPARE(dialog.editAttendees().count(), 0);
        QCOMPARE(dialog.updateAttendees().count(), 3);

        // Just make sure, that the QCombobox is sorted like we think
        QComboBox *first = dialog.mAttendeeDecision[0].second;
        QCOMPARE((IndividualMailDialog::Decisions)first->itemData(0, Qt::UserRole).toInt(), IndividualMailDialog::Update);
        QCOMPARE((IndividualMailDialog::Decisions)first->itemData(1, Qt::UserRole).toInt(), IndividualMailDialog::NoUpdate);
        QCOMPARE((IndividualMailDialog::Decisions)first->itemData(2, Qt::UserRole).toInt(), IndividualMailDialog::Edit);

        // No update for first attendee, other default
        first->setCurrentIndex(1);
        QCOMPARE(dialog.editAttendees().count(), 0);
        QCOMPARE(dialog.updateAttendees().count(), 2);
        QVERIFY(dialog.updateAttendees().contains(attendee2));
        QVERIFY(dialog.updateAttendees().contains(attendee3));

        // edit for first attendee, other default
        first->setCurrentIndex(2);
        QCOMPARE(dialog.editAttendees().count(), 1);
        QCOMPARE(dialog.updateAttendees().count(), 2);
        QCOMPARE(dialog.editAttendees().constFirst(), attendee1);
    }
};

QTEST_MAIN(TestIndividualMailDialog)

#include "testindividualmaildialog.moc"