File indexing completed on 2025-03-09 04:53:56

0001 /*
0002    SPDX-FileCopyrightText: 2014-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "sendlaterinfotest.h"
0008 #include "sendlater/sendlaterinfo.h"
0009 
0010 #include <QDateTime>
0011 #include <QStandardPaths>
0012 #include <QTest>
0013 
0014 SendLaterInfoTest::SendLaterInfoTest(QObject *parent)
0015     : QObject(parent)
0016 {
0017     QStandardPaths::setTestModeEnabled(true);
0018 }
0019 
0020 void SendLaterInfoTest::shouldHaveDefaultValue()
0021 {
0022     MessageComposer::SendLaterInfo info;
0023     QCOMPARE(info.itemId(), Akonadi::Item::Id(-1));
0024     QCOMPARE(info.isRecurrence(), false);
0025     QVERIFY(!info.dateTime().isValid());
0026     QVERIFY(!info.lastDateTimeSend().isValid());
0027     QCOMPARE(info.to(), QString());
0028     QCOMPARE(info.subject(), QString());
0029     QVERIFY(!info.isValid());
0030     QCOMPARE(info.recurrenceUnit(), MessageComposer::SendLaterInfo::Days);
0031     QCOMPARE(info.recurrenceEachValue(), 1);
0032 }
0033 
0034 void SendLaterInfoTest::shouldNotValidIfIdIsNotValid()
0035 {
0036     MessageComposer::SendLaterInfo info;
0037     const QString to = QStringLiteral("kde.org");
0038     info.setTo(to);
0039     info.setSubject(QStringLiteral("Subject"));
0040     info.setRecurrence(true);
0041     info.setRecurrenceEachValue(5);
0042     info.setRecurrenceUnit(MessageComposer::SendLaterInfo::Years);
0043     const QDate date(2014, 1, 1);
0044     info.setDateTime(QDateTime(date.startOfDay()));
0045     info.setLastDateTimeSend(QDateTime(date.startOfDay()));
0046     QVERIFY(!info.isValid());
0047 }
0048 
0049 void SendLaterInfoTest::shouldNotValidIfDateIsNotValid()
0050 {
0051     MessageComposer::SendLaterInfo info;
0052     const QString to = QStringLiteral("kde.org");
0053     info.setTo(to);
0054     info.setItemId(Akonadi::Item::Id(42));
0055     info.setSubject(QStringLiteral("Subject"));
0056     info.setRecurrence(true);
0057     info.setRecurrenceEachValue(5);
0058     info.setRecurrenceUnit(MessageComposer::SendLaterInfo::Years);
0059     const QDate date(2014, 1, 1);
0060     info.setLastDateTimeSend(QDateTime(date.startOfDay()));
0061     QVERIFY(!info.isValid());
0062 }
0063 
0064 void SendLaterInfoTest::shouldCopyInfo()
0065 {
0066     MessageComposer::SendLaterInfo info;
0067     const QString to = QStringLiteral("kde.org");
0068     info.setTo(to);
0069     info.setItemId(Akonadi::Item::Id(42));
0070     info.setSubject(QStringLiteral("Subject"));
0071     info.setRecurrence(true);
0072     info.setRecurrenceEachValue(5);
0073     info.setRecurrenceUnit(MessageComposer::SendLaterInfo::Years);
0074     const QDate date(2014, 1, 1);
0075     info.setDateTime(QDateTime(date.startOfDay()));
0076     info.setLastDateTimeSend(QDateTime(date.startOfDay()));
0077     MessageComposer::SendLaterInfo copyInfo(info);
0078     QCOMPARE(info, copyInfo);
0079 }
0080 
0081 QTEST_MAIN(SendLaterInfoTest)
0082 
0083 #include "moc_sendlaterinfotest.cpp"