diff options
Diffstat (limited to 'tests/maildirresourcetest.cpp')
-rw-r--r-- | tests/maildirresourcetest.cpp | 51 |
1 files changed, 23 insertions, 28 deletions
diff --git a/tests/maildirresourcetest.cpp b/tests/maildirresourcetest.cpp index 6e7818a..b61190d 100644 --- a/tests/maildirresourcetest.cpp +++ b/tests/maildirresourcetest.cpp | |||
@@ -120,34 +120,29 @@ private Q_SLOTS: | |||
120 | 120 | ||
121 | void testListMailsOfFolder() | 121 | void testListMailsOfFolder() |
122 | { | 122 | { |
123 | { | 123 | using namespace Akonadi2; |
124 | Akonadi2::Query query; | 124 | using namespace Akonadi2::ApplicationDomain; |
125 | query.resources << "org.kde.maildir.instance1"; | 125 | //Ensure all local data is processed |
126 | query.syncOnDemand = true; | 126 | auto query = Query::ResourceFilter("org.kde.maildir.instance1"); |
127 | query.processAll = true; | 127 | query.processAll = true; |
128 | 128 | query.syncOnDemand = true; | |
129 | //Ensure all local data is processed | 129 | Store::synchronize(query).exec().waitForFinished(); |
130 | Akonadi2::Store::synchronize(query).exec().waitForFinished(); | 130 | // Store::flushMessageQueues(Query::ResourceFilter("org.kde.maildir.instance1")).exec().waitForFinished(); |
131 | } | 131 | auto result = Store::fetchOne<Folder>( |
132 | QByteArray folderIdentifier; | 132 | Query::ResourceFilter("org.kde.maildir.instance1") + Query::RequestedProperties(QByteArrayList() << "name") |
133 | { | 133 | ) |
134 | Akonadi2::Query query; | 134 | .then<QList<Mail::Ptr>, Folder>([](const Folder &folder) { |
135 | query.resources << "org.kde.maildir.instance1"; | 135 | Trace() << "Found a folder" << folder.identifier(); |
136 | query.requestedProperties << "folder" << "name"; | 136 | return Store::fetchAll<Mail>( |
137 | 137 | Query::PropertyFilter("folder", folder) + Query::RequestedProperties(QByteArrayList() << "folder" << "subject") | |
138 | auto model = Akonadi2::Store::loadModel<Akonadi2::ApplicationDomain::Folder>(query); | 138 | ); |
139 | QTRY_VERIFY(model->data(QModelIndex(), Akonadi2::Store::ChildrenFetchedRole).toBool()); | 139 | }) |
140 | QVERIFY(model->rowCount(QModelIndex()) > 1); | 140 | .then<void, QList<Mail::Ptr> >([](const QList<Mail::Ptr> &mails) { |
141 | folderIdentifier = model->index(1, 0, QModelIndex()).data(Akonadi2::Store::DomainObjectRole).value<Akonadi2::ApplicationDomain::Folder::Ptr>()->identifier(); | 141 | QVERIFY(mails.size() >= 1); |
142 | } | 142 | }) |
143 | 143 | .exec(); | |
144 | Akonadi2::Query query; | 144 | result.waitForFinished(); |
145 | query.resources << "org.kde.maildir.instance1"; | 145 | QVERIFY(!result.errorCode()); |
146 | query.requestedProperties << "folder" << "subject"; | ||
147 | query.propertyFilter.insert("folder", folderIdentifier); | ||
148 | auto mailModel = Akonadi2::Store::loadModel<Akonadi2::ApplicationDomain::Mail>(query); | ||
149 | QTRY_VERIFY(mailModel->data(QModelIndex(), Akonadi2::Store::ChildrenFetchedRole).toBool()); | ||
150 | QVERIFY(mailModel->rowCount(QModelIndex()) >= 1); | ||
151 | } | 146 | } |
152 | 147 | ||
153 | void testMailContent() | 148 | void testMailContent() |