summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2018-01-10 17:23:16 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-01-10 17:23:16 +0100
commitb4d5cc60d8ea2ff400c274c6ece1139bc00686fc (patch)
tree1001917c68cc05d0aa7ee9a863bf2b0c5ea1769f
parent107e60448ec89883e60905f5a1cef507c0bf9fc2 (diff)
downloadkube-b4d5cc60d8ea2ff400c274c6ece1139bc00686fc.tar.gz
kube-b4d5cc60d8ea2ff400c274c6ece1139bc00686fc.zip
Inherit folder id (we can't hardcode it)
-rw-r--r--tests/teststore.cpp13
-rw-r--r--views/conversation/main.qml21
2 files changed, 21 insertions, 13 deletions
diff --git a/tests/teststore.cpp b/tests/teststore.cpp
index ef243b14..d57c9e07 100644
--- a/tests/teststore.cpp
+++ b/tests/teststore.cpp
@@ -47,7 +47,7 @@ static QStringList toStringList(const QVariantList &list)
47 return s; 47 return s;
48} 48}
49 49
50static void createMail(const QVariantMap &object) 50static void createMail(const QVariantMap &object, const QByteArray &folder = {})
51{ 51{
52 using namespace Sink::ApplicationDomain; 52 using namespace Sink::ApplicationDomain;
53 53
@@ -71,6 +71,9 @@ static void createMail(const QVariantMap &object)
71 71
72 auto mail = ApplicationDomainType::createEntity<Mail>(object["resource"].toByteArray()); 72 auto mail = ApplicationDomainType::createEntity<Mail>(object["resource"].toByteArray());
73 mail.setMimeMessage(msg->encodedContent(true)); 73 mail.setMimeMessage(msg->encodedContent(true));
74 if (!folder.isEmpty()) {
75 mail.setFolder(folder);
76 }
74 Sink::Store::create(mail).exec().waitForFinished(); 77 Sink::Store::create(mail).exec().waitForFinished();
75} 78}
76 79
@@ -80,6 +83,10 @@ static void createFolder(const QVariantMap &object)
80 auto folder = ApplicationDomainType::createEntity<Folder>(object["resource"].toByteArray()); 83 auto folder = ApplicationDomainType::createEntity<Folder>(object["resource"].toByteArray());
81 folder.setName(object["name"].toString()); 84 folder.setName(object["name"].toString());
82 Sink::Store::create(folder).exec().waitForFinished(); 85 Sink::Store::create(folder).exec().waitForFinished();
86
87 iterateOverObjects(object.value("mails").toList(), [=](const QVariantMap &object) {
88 createMail(object, folder.identifier());
89 });
83} 90}
84 91
85void TestStore::setup(const QVariantMap &map) 92void TestStore::setup(const QVariantMap &map)
@@ -119,7 +126,9 @@ void TestStore::setup(const QVariantMap &map)
119 }); 126 });
120 127
121 iterateOverObjects(map.value("folders").toList(), createFolder); 128 iterateOverObjects(map.value("folders").toList(), createFolder);
122 iterateOverObjects(map.value("mails").toList(), createMail); 129 iterateOverObjects(map.value("mails").toList(), [] (const QVariantMap &map) {
130 createMail(map);
131 });
123 132
124 Sink::ResourceControl::flushMessageQueue(resources).exec().waitForFinished(); 133 Sink::ResourceControl::flushMessageQueue(resources).exec().waitForFinished();
125} 134}
diff --git a/views/conversation/main.qml b/views/conversation/main.qml
index 15360d22..10c25706 100644
--- a/views/conversation/main.qml
+++ b/views/conversation/main.qml
@@ -53,18 +53,17 @@ ApplicationWindow {
53 folders: [{ 53 folders: [{
54 id: "folder1", 54 id: "folder1",
55 resource: "resource1", 55 resource: "resource1",
56 name: "Folder 1" 56 name: "Folder 1",
57 mails: [{
58 resource: "resource1",
59 subject: "subject",
60 body: "body",
61 to: ["to@example.org"],
62 cc: ["cc@example.org"],
63 bcc: ["bcc@example.org"],
64 draft: true
65 }]
57 }], 66 }],
58 mails: [{
59 resource: "resource1",
60 folder: "folder1",
61 subject: "subject",
62 body: "body",
63 to: ["to@example.org"],
64 cc: ["cc@example.org"],
65 bcc: ["bcc@example.org"],
66 draft: true
67 }]
68 } 67 }
69 TestStore.setup(initialState) 68 TestStore.setup(initialState)
70 } 69 }