File indexing completed on 2024-05-12 05:10:37

0001 /*
0002     SPDX-FileCopyrightText: 2010-2011 Sérgio Martins <iamsergio@gmail.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <Akonadi/Collection>
0010 #include <Akonadi/Item>
0011 
0012 #include <QObject>
0013 #include <QStringList>
0014 
0015 namespace Akonadi
0016 {
0017 class CalendarBase;
0018 }
0019 
0020 class CalendarBaseTest : public QObject
0021 {
0022     Q_OBJECT
0023 public Q_SLOTS:
0024     void handleCreateFinished(bool success, const QString &errorString);
0025     void handleDeleteFinished(bool success, const QString &errorString);
0026 
0027 private Q_SLOTS:
0028     void initTestCase();
0029     void cleanupTestCase();
0030 
0031     void testItem();
0032     void testChildIncidences_data();
0033     void testChildIncidences();
0034     void testDelete();
0035     // void testDeleteAll(); This has been disabled in KCalendarCore::Calendar::deleteAll*() so no need to test
0036 
0037 private:
0038     void fetchCollection();
0039     void createInitialIncidences();
0040     Akonadi::Item::Id createTodo(const QString &uid, const QString &parentUid = QString());
0041 
0042     Akonadi::Collection mCollection;
0043     Akonadi::CalendarBase *mCalendar = nullptr;
0044     bool mExpectedSlotResult = false;
0045     QStringList mUids;
0046     QString mOneEventUid;
0047     QString mOneTodoUid;
0048     QString mOneJournalUid;
0049     QString mOneIncidenceUid;
0050 };