diff options
Diffstat (limited to 'tests/mailsynctest.cpp')
-rw-r--r-- | tests/mailsynctest.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/tests/mailsynctest.cpp b/tests/mailsynctest.cpp index 6c91381..ff56030 100644 --- a/tests/mailsynctest.cpp +++ b/tests/mailsynctest.cpp | |||
@@ -80,7 +80,7 @@ void MailSyncTest::testListFolders() | |||
80 | 80 | ||
81 | Sink::Query query; | 81 | Sink::Query query; |
82 | query.resources << mResourceInstanceIdentifier; | 82 | query.resources << mResourceInstanceIdentifier; |
83 | query.request<Folder::Name>(); | 83 | query.request<Folder::Name>().request<Folder::SpecialPurpose>(); |
84 | 84 | ||
85 | // Ensure all local data is processed | 85 | // Ensure all local data is processed |
86 | VERIFYEXEC(Store::synchronize(query)); | 86 | VERIFYEXEC(Store::synchronize(query)); |
@@ -88,16 +88,21 @@ void MailSyncTest::testListFolders() | |||
88 | 88 | ||
89 | auto job = Store::fetchAll<Folder>(query).then<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) { | 89 | auto job = Store::fetchAll<Folder>(query).then<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) { |
90 | QStringList names; | 90 | QStringList names; |
91 | QHash<QByteArray, QByteArray> specialPurposeFolders; | ||
91 | for (const auto &folder : folders) { | 92 | for (const auto &folder : folders) { |
92 | names << folder->getName(); | 93 | names << folder->getName(); |
94 | for (const auto &purpose : folder->getSpecialPurpose()) { | ||
95 | specialPurposeFolders.insert(purpose, folder->identifier()); | ||
96 | } | ||
93 | } | 97 | } |
94 | //Workaround for maildir | 98 | //Workaround for maildir |
95 | if (names.contains("maildir1")) { | 99 | if (names.contains("maildir1")) { |
96 | names.removeAll("maildir1"); | 100 | names.removeAll("maildir1"); |
97 | } | 101 | } |
98 | if (mCapabilities.contains(ResourceCapabilities::Mail::drafts)) { | 102 | if (mCapabilities.contains(ResourceCapabilities::Mail::drafts)) { |
99 | QVERIFY(names.contains("drafts")); | 103 | QVERIFY(names.contains("Drafts")); |
100 | names.removeAll("drafts"); | 104 | names.removeAll("Drafts"); |
105 | QVERIFY(specialPurposeFolders.contains("drafts")); | ||
101 | } | 106 | } |
102 | QCOMPARE(names.size(), 2); | 107 | QCOMPARE(names.size(), 2); |
103 | QVERIFY(names.contains("INBOX")); | 108 | QVERIFY(names.contains("INBOX")); |
@@ -183,8 +188,8 @@ void MailSyncTest::testListFolderHierarchy() | |||
183 | names.removeAll("maildir1"); | 188 | names.removeAll("maildir1"); |
184 | } | 189 | } |
185 | if (mCapabilities.contains(ResourceCapabilities::Mail::drafts)) { | 190 | if (mCapabilities.contains(ResourceCapabilities::Mail::drafts)) { |
186 | QVERIFY(names.contains("drafts")); | 191 | QVERIFY(names.contains("Drafts")); |
187 | names.removeAll("drafts"); | 192 | names.removeAll("Drafts"); |
188 | } | 193 | } |
189 | QCOMPARE(names.size(), 3); | 194 | QCOMPARE(names.size(), 3); |
190 | QCOMPARE(map.value("sub")->getParent(), map.value("test")->identifier()); | 195 | QCOMPARE(map.value("sub")->getParent(), map.value("test")->identifier()); |
@@ -195,7 +200,7 @@ void MailSyncTest::testListFolderHierarchy() | |||
195 | void MailSyncTest::testListNewSubFolder() | 200 | void MailSyncTest::testListNewSubFolder() |
196 | { | 201 | { |
197 | if (!mCapabilities.contains(ResourceCapabilities::Mail::folderhierarchy)) { | 202 | if (!mCapabilities.contains(ResourceCapabilities::Mail::folderhierarchy)) { |
198 | QSKIP("Missing capability folder.hierarchy"); | 203 | QSKIP("Missing capability mail.folderhierarchy"); |
199 | } | 204 | } |
200 | Sink::Query query; | 205 | Sink::Query query; |
201 | query.resources << mResourceInstanceIdentifier; | 206 | query.resources << mResourceInstanceIdentifier; |