summaryrefslogtreecommitdiffstats
path: root/tests/mailthreadtest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mailthreadtest.cpp')
-rw-r--r--tests/mailthreadtest.cpp26
1 files changed, 17 insertions, 9 deletions
diff --git a/tests/mailthreadtest.cpp b/tests/mailthreadtest.cpp
index 89e5a85..e9fe499 100644
--- a/tests/mailthreadtest.cpp
+++ b/tests/mailthreadtest.cpp
@@ -66,10 +66,10 @@ void MailThreadTest::init()
66void MailThreadTest::testListThreadLeader() 66void MailThreadTest::testListThreadLeader()
67{ 67{
68 Sink::Query query; 68 Sink::Query query;
69 query.resources << mResourceInstanceIdentifier; 69 query.filter(SinkResource(mResourceInstanceIdentifier));
70 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>(); 70 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>();
71 query.threadLeaderOnly = true;
72 query.sort<Mail::Date>(); 71 query.sort<Mail::Date>();
72 query.reduce<Mail::ThreadId>(Query::Reduce::Selector::max<Mail::Date>());
73 73
74 // Ensure all local data is processed 74 // Ensure all local data is processed
75 VERIFYEXEC(Store::synchronize(query)); 75 VERIFYEXEC(Store::synchronize(query));
@@ -127,11 +127,11 @@ void MailThreadTest::testIndexInMixedOrder()
127 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 127 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
128 128
129 Sink::Query query; 129 Sink::Query query;
130 query.resources << mResourceInstanceIdentifier; 130 query.filter(SinkResource(mResourceInstanceIdentifier));
131 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>(); 131 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>();
132 query.threadLeaderOnly = true;
133 query.sort<Mail::Date>();
134 query.filter<Mail::Folder>(folder); 132 query.filter<Mail::Folder>(folder);
133 query.sort<Mail::Date>();
134 query.reduce<Mail::ThreadId>(Query::Reduce::Selector::max<Mail::Date>());
135 135
136 Mail threadLeader; 136 Mail threadLeader;
137 137
@@ -147,6 +147,14 @@ void MailThreadTest::testIndexInMixedOrder()
147 VERIFYEXEC(job); 147 VERIFYEXEC(job);
148 } 148 }
149 149
150 {
151 auto mail = Mail::create(mResourceInstanceIdentifier);
152 mail.setMimeMessage(message2->encodedContent());
153 mail.setFolder(folder);
154 VERIFYEXEC(Store::create(mail));
155 }
156 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
157
150 //Ensure we find the thread leader still 158 //Ensure we find the thread leader still
151 { 159 {
152 auto job = Store::fetchAll<Mail>(query) 160 auto job = Store::fetchAll<Mail>(query)
@@ -169,15 +177,15 @@ void MailThreadTest::testIndexInMixedOrder()
169 //Ensure the thread is complete 177 //Ensure the thread is complete
170 { 178 {
171 Sink::Query query; 179 Sink::Query query;
172 query.resources << mResourceInstanceIdentifier; 180 query.filter(SinkResource(mResourceInstanceIdentifier));
181 query.ids << threadLeader.identifier();
173 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>(); 182 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>();
174 query.bloomThread = true;
175 query.sort<Mail::Date>(); 183 query.sort<Mail::Date>();
176 query.ids << threadLeader.identifier(); 184 query.bloom<Mail::ThreadId>();
177 185
178 auto job = Store::fetchAll<Mail>(query) 186 auto job = Store::fetchAll<Mail>(query)
179 .syncThen<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) { 187 .syncThen<void, QList<Mail::Ptr>>([=](const QList<Mail::Ptr> &mails) {
180 QCOMPARE(mails.size(), 2); 188 QCOMPARE(mails.size(), 3);
181 auto mail = *mails.first(); 189 auto mail = *mails.first();
182 QCOMPARE(mail.getSubject(), QString::fromLatin1("Re: Re: 1")); 190 QCOMPARE(mail.getSubject(), QString::fromLatin1("Re: Re: 1"));
183 }); 191 });