diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-12-29 12:29:36 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-12-29 12:29:36 +0100 |
commit | 0e08f78c9028ab16933b75a1fd0729a73a996af6 (patch) | |
tree | 126a3f3d9d056fdf6896d35819014ce2a734c285 /framework/src | |
parent | 07ab76cf151884898a73e6e293615b542194bbf0 (diff) | |
download | kube-0e08f78c9028ab16933b75a1fd0729a73a996af6.tar.gz kube-0e08f78c9028ab16933b75a1fd0729a73a996af6.zip |
Maillistmodeltest
Diffstat (limited to 'framework/src')
-rw-r--r-- | framework/src/tests/CMakeLists.txt | 9 | ||||
-rw-r--r-- | framework/src/tests/maillistmodeltest.cpp | 67 |
2 files changed, 76 insertions, 0 deletions
diff --git a/framework/src/tests/CMakeLists.txt b/framework/src/tests/CMakeLists.txt index fb2e2ead..a98bed83 100644 --- a/framework/src/tests/CMakeLists.txt +++ b/framework/src/tests/CMakeLists.txt | |||
@@ -13,3 +13,12 @@ target_link_libraries(folderlistmodeltest | |||
13 | Qt5::Gui | 13 | Qt5::Gui |
14 | kubeframework | 14 | kubeframework |
15 | ) | 15 | ) |
16 | |||
17 | add_executable(maillistmodeltest maillistmodeltest.cpp) | ||
18 | add_test(maillistmodeltest maillistmodeltest) | ||
19 | target_link_libraries(maillistmodeltest | ||
20 | Qt5::Core | ||
21 | Qt5::Test | ||
22 | Qt5::Gui | ||
23 | kubeframework | ||
24 | ) | ||
diff --git a/framework/src/tests/maillistmodeltest.cpp b/framework/src/tests/maillistmodeltest.cpp new file mode 100644 index 00000000..1df0556c --- /dev/null +++ b/framework/src/tests/maillistmodeltest.cpp | |||
@@ -0,0 +1,67 @@ | |||
1 | #include <QTest> | ||
2 | #include <QDebug> | ||
3 | #include <QStandardItemModel> | ||
4 | #include <sink/test.h> | ||
5 | #include <sink/store.h> | ||
6 | #include <sink/resourcecontrol.h> | ||
7 | #include "maillistmodel.h" | ||
8 | #include "mailtemplates.h" | ||
9 | |||
10 | class MaillistModelTest : public QObject | ||
11 | { | ||
12 | Q_OBJECT | ||
13 | private slots: | ||
14 | |||
15 | void initTestCase() | ||
16 | { | ||
17 | Sink::Test::initTest(); | ||
18 | } | ||
19 | |||
20 | void testMailListModel() | ||
21 | { | ||
22 | Sink::ApplicationDomain::DummyResource::create("account1"); | ||
23 | |||
24 | using namespace Sink::ApplicationDomain; | ||
25 | auto account = ApplicationDomainType::createEntity<SinkAccount>(); | ||
26 | Sink::Store::create(account).exec().waitForFinished(); | ||
27 | |||
28 | auto resource = Sink::ApplicationDomain::DummyResource::create(account.identifier()); | ||
29 | Sink::Store::create(resource).exec().waitForFinished(); | ||
30 | |||
31 | auto folder1 = ApplicationDomainType::createEntity<Folder>(resource.identifier()); | ||
32 | Sink::Store::create(folder1).exec().waitForFinished(); | ||
33 | |||
34 | auto folder2 = ApplicationDomainType::createEntity<Folder>(resource.identifier()); | ||
35 | Sink::Store::create(folder2).exec().waitForFinished(); | ||
36 | |||
37 | |||
38 | auto mail1 = ApplicationDomainType::createEntity<Mail>(resource.identifier()); | ||
39 | mail1.setFolder(folder1); | ||
40 | KMime::Types::Mailbox from; | ||
41 | from.fromUnicodeString("from@example.org"); | ||
42 | auto message = MailTemplates::createMessage({}, {"foo@test.com"}, {}, {}, from, "Subject", "Body", false, {}, {}, {}); | ||
43 | mail1.setMimeMessage(message->encodedContent(true)); | ||
44 | Sink::Store::create(mail1).exec().waitForFinished(); | ||
45 | |||
46 | auto mail2 = ApplicationDomainType::createEntity<Mail>(resource.identifier()); | ||
47 | mail2.setFolder(folder2); | ||
48 | Sink::Store::create(mail2).exec().waitForFinished(); | ||
49 | |||
50 | Sink::ResourceControl::flushMessageQueue(resource.identifier()).exec().waitForFinished(); | ||
51 | |||
52 | MailListModel model; | ||
53 | model.setParentFolder(QVariant::fromValue(Folder::Ptr::create(folder1))); | ||
54 | QTRY_COMPARE(model.rowCount({}), 1); | ||
55 | |||
56 | { | ||
57 | auto idx = model.index(0, 0, {}); | ||
58 | auto mail = idx.data(MailListModel::DomainObject).value<Mail::Ptr>(); | ||
59 | QVERIFY(mail); | ||
60 | QVERIFY(!mail->getSubject().isEmpty()); | ||
61 | QVERIFY(mail->getFullPayloadAvailable()); | ||
62 | } | ||
63 | } | ||
64 | }; | ||
65 | |||
66 | QTEST_MAIN(MaillistModelTest) | ||
67 | #include "maillistmodeltest.moc" | ||