diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-08-30 00:35:03 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-09-15 16:14:19 +0200 |
commit | 4cd598035dcc297ad3a3af16fb5eda218c018a16 (patch) | |
tree | 1f2101c284d5aa0fdcba525f64ac18c2652df10f /tests/mailsynctest.cpp | |
parent | 8a0a4de6c51d5ef23ae86655a63536bd8386c575 (diff) | |
download | sink-4cd598035dcc297ad3a3af16fb5eda218c018a16.tar.gz sink-4cd598035dcc297ad3a3af16fb5eda218c018a16.zip |
Flag updates
Diffstat (limited to 'tests/mailsynctest.cpp')
-rw-r--r-- | tests/mailsynctest.cpp | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/tests/mailsynctest.cpp b/tests/mailsynctest.cpp index 9c57f0a..8260978 100644 --- a/tests/mailsynctest.cpp +++ b/tests/mailsynctest.cpp | |||
@@ -344,7 +344,43 @@ void MailSyncTest::testFetchNewRemovedMessages() | |||
344 | } | 344 | } |
345 | } | 345 | } |
346 | 346 | ||
347 | //TODO test flag sync | 347 | void MailSyncTest::testFlagChange() |
348 | { | ||
349 | Sink::Query query; | ||
350 | query.resources << mResourceInstanceIdentifier; | ||
351 | query.request<Mail::Subject>().request<Mail::Important>(); | ||
352 | |||
353 | auto msg = KMime::Message::Ptr::create(); | ||
354 | msg->subject(true)->fromUnicodeString("Foobar", "utf8"); | ||
355 | msg->assemble(); | ||
356 | auto messageIdentifier = createMessage(QStringList() << "test", msg->encodedContent(true)); | ||
357 | |||
358 | Store::synchronize(query).exec().waitForFinished(); | ||
359 | ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); | ||
360 | |||
361 | { | ||
362 | auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) { | ||
363 | QCOMPARE(mails.size(), 2); | ||
364 | QVERIFY(!mails.at(1)->getImportant()); | ||
365 | }); | ||
366 | VERIFYEXEC(job); | ||
367 | } | ||
368 | |||
369 | markAsImportant(QStringList() << "test", messageIdentifier); | ||
370 | |||
371 | // Ensure all local data is processed | ||
372 | VERIFYEXEC(Store::synchronize(query)); | ||
373 | ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); | ||
374 | |||
375 | { | ||
376 | auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) { | ||
377 | QCOMPARE(mails.size(), 2); | ||
378 | QVERIFY(mails.at(1)->getImportant()); | ||
379 | }); | ||
380 | VERIFYEXEC(job); | ||
381 | } | ||
382 | |||
383 | } | ||
348 | 384 | ||
349 | void MailSyncTest::testFailingSync() | 385 | void MailSyncTest::testFailingSync() |
350 | { | 386 | { |