summaryrefslogtreecommitdiffstats
path: root/tests/mailtest.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-06-12 02:11:02 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-06-12 02:11:02 +0200
commit3fa1766af3fa85067d4b2d48c8410e6c201ae323 (patch)
tree5662b068088472ad7133d2b91bb0e0ffe1d9b10c /tests/mailtest.cpp
parentce56e7e0c973d31a900c9c467f639a344ea71bf1 (diff)
downloadsink-3fa1766af3fa85067d4b2d48c8410e6c201ae323.tar.gz
sink-3fa1766af3fa85067d4b2d48c8410e6c201ae323.zip
Moving of mails between folders
Diffstat (limited to 'tests/mailtest.cpp')
-rw-r--r--tests/mailtest.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/mailtest.cpp b/tests/mailtest.cpp
index 70d60bb..2fcad93 100644
--- a/tests/mailtest.cpp
+++ b/tests/mailtest.cpp
@@ -220,6 +220,61 @@ void MailTest::testCreateModifyDeleteMail()
220 VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::CacheIntegrityInspection(folder))); 220 VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::CacheIntegrityInspection(folder)));
221} 221}
222 222
223void MailTest::testMoveMail()
224{
225 const auto subject = QString::fromLatin1("Foobar");
226
227 auto folder = Folder::create(mResourceInstanceIdentifier);
228 folder.setName("folder2");
229 VERIFYEXEC(Store::create(folder));
230
231 auto folder1 = Folder::create(mResourceInstanceIdentifier);
232 folder1.setName("folder3");
233 VERIFYEXEC(Store::create(folder1));
234
235 auto message = KMime::Message::Ptr::create();
236 message->subject(true)->fromUnicodeString(subject, "utf8");
237 message->assemble();
238
239 auto mail = Mail::create(mResourceInstanceIdentifier);
240 mail.setMimeMessage(message->encodedContent());
241 mail.setFolder(folder);
242
243 VERIFYEXEC(Store::create(mail));
244 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
245 {
246 auto job = Store::fetchAll<Mail>(Query::RequestedProperties(QByteArrayList() << Mail::Folder::name << Mail::Subject::name << Mail::MimeMessage::name))
247 .then<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) {
248 QCOMPARE(mails.size(), 1);
249 auto mail = *mails.first();
250 QCOMPARE(mail.getFolder(), folder.identifier());
251 Warning() << "path: " << mail.getMimeMessagePath();
252 QVERIFY(QFile(mail.getMimeMessagePath()).exists());
253 });
254 VERIFYEXEC(job);
255 }
256
257 VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::CacheIntegrityInspection(folder)));
258
259 mail.setFolder(folder1);
260
261 VERIFYEXEC(Store::modify(mail));
262 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
263 {
264 auto job = Store::fetchAll<Mail>(Query::RequestedProperties(QByteArrayList() << Mail::Folder::name << Mail::Subject::name << Mail::MimeMessage::name))
265 .then<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) {
266 QCOMPARE(mails.size(), 1);
267 auto mail = *mails.first();
268 QCOMPARE(mail.getFolder(), folder1.identifier());
269 QVERIFY(QFile(mail.getMimeMessagePath()).exists());
270 Trace() << "Mime message path: " << mail.getMimeMessagePath();
271 });
272 VERIFYEXEC(job);
273 }
274 VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::CacheIntegrityInspection(folder)));
275 VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::CacheIntegrityInspection(folder1)));
276}
277
223void MailTest::testMarkMailAsRead() 278void MailTest::testMarkMailAsRead()
224{ 279{
225 auto folder = Folder::create(mResourceInstanceIdentifier); 280 auto folder = Folder::create(mResourceInstanceIdentifier);