1 /*
2    SPDX-FileCopyrightText: 2015-2021 Laurent Montel <montel@kde.org>
3 
4    SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 
7 #include "mergecontactloseinformationwarningtest.h"
8 #include "../widgets/mergecontactloseinformationwarning.h"
9 #include <QAction>
10 #include <QSignalSpy>
11 #include <QTest>
12 #include <qtestmouse.h>
13 
MergeContactLoseInformationWarningTest(QObject * parent)14 MergeContactLoseInformationWarningTest::MergeContactLoseInformationWarningTest(QObject *parent)
15     : QObject(parent)
16 {
17 }
18 
shouldHaveDefaultValue()19 void MergeContactLoseInformationWarningTest::shouldHaveDefaultValue()
20 {
21     KABMergeContacts::MergeContactLoseInformationWarning w;
22     QVERIFY(!w.isCloseButtonVisible());
23     QVERIFY(!w.isVisible());
24     auto customize = w.findChild<QAction *>(QStringLiteral("customize"));
25     QVERIFY(customize);
26     auto automatic = w.findChild<QAction *>(QStringLiteral("automatic"));
27     QVERIFY(automatic);
28 }
29 
shouldEmitSignals()30 void MergeContactLoseInformationWarningTest::shouldEmitSignals()
31 {
32     KABMergeContacts::MergeContactLoseInformationWarning w;
33     w.show();
34     QVERIFY(QTest::qWaitForWindowExposed(&w));
35     QVERIFY(w.isVisible());
36     auto customize = w.findChild<QAction *>(QStringLiteral("customize"));
37     auto automatic = w.findChild<QAction *>(QStringLiteral("automatic"));
38     QSignalSpy spy1(&w, &KABMergeContacts::MergeContactLoseInformationWarning::continueMerging);
39     QSignalSpy spy2(&w, &KABMergeContacts::MergeContactLoseInformationWarning::customizeMergingContacts);
40     customize->trigger();
41     QCOMPARE(spy1.count(), 0);
42     QCOMPARE(spy2.count(), 1);
43     automatic->trigger();
44     QCOMPARE(spy2.count(), 1);
45     QCOMPARE(spy1.count(), 1);
46 }
47 
48 QTEST_MAIN(MergeContactLoseInformationWarningTest)
49