From f5c435088a4036a6100cf944b7b69b6ff2583753 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 31 Dec 2015 15:09:58 +0100 Subject: Test for maildir mail removal --- tests/maildirresourcetest.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'tests') diff --git a/tests/maildirresourcetest.cpp b/tests/maildirresourcetest.cpp index 741706c..6e7818a 100644 --- a/tests/maildirresourcetest.cpp +++ b/tests/maildirresourcetest.cpp @@ -313,6 +313,36 @@ private Q_SLOTS: QTRY_COMPARE(dir.count(), static_cast(1)); } + void testRemoveMail() + { + Akonadi2::Query query; + query.resources << "org.kde.maildir.instance1"; + query.syncOnDemand = true; + query.processAll = true; + Akonadi2::Store::synchronize(query).exec().waitForFinished(); + + Akonadi2::Query folderQuery; + folderQuery.resources << "org.kde.maildir.instance1"; + folderQuery.propertyFilter.insert("name", "maildir1"); + auto model = Akonadi2::Store::loadModel(folderQuery); + QTRY_VERIFY(model->data(QModelIndex(), Akonadi2::Store::ChildrenFetchedRole).toBool()); + QCOMPARE(model->rowCount(QModelIndex()), 1); + auto folder = model->index(0, 0, QModelIndex()).data(Akonadi2::Store::DomainObjectRole).value(); + + Akonadi2::Query mailQuery; + mailQuery.resources << "org.kde.maildir.instance1"; + mailQuery.propertyFilter.insert("folder", folder->identifier()); + auto mailModel = Akonadi2::Store::loadModel(mailQuery); + QTRY_VERIFY(mailModel->data(QModelIndex(), Akonadi2::Store::ChildrenFetchedRole).toBool()); + QCOMPARE(mailModel->rowCount(QModelIndex()), 1); + auto mail = mailModel->index(0, 0, QModelIndex()).data(Akonadi2::Store::DomainObjectRole).value(); + + Akonadi2::Store::remove(*mail).exec().waitForFinished(); + Akonadi2::Store::synchronize(query).exec().waitForFinished(); + + QTRY_COMPARE(QDir(tempDir.path() + "/maildir1/cur", QString(), QDir::NoSort, QDir::Files).count(), static_cast(0)); + } + }; QTEST_MAIN(MaildirResourceTest) -- cgit v1.2.3