diff options
author | Minijackson <minijackson@riseup.net> | 2018-08-22 13:45:49 +0200 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2018-08-22 13:45:49 +0200 |
commit | de5bd0955ac50fe17aaf0a02055cc70836b7e4ae (patch) | |
tree | 56ce0cd679367a60ba3a706ac4d207bc9cc82230 /tests | |
parent | 2a8abb5970f0f444e36bbd94cd527522c7246def (diff) | |
download | sink-de5bd0955ac50fe17aaf0a02055cc70836b7e4ae.tar.gz sink-de5bd0955ac50fe17aaf0a02055cc70836b7e4ae.zip |
Fix "contains" function + write tests for contains and existsseparate-uid
Diffstat (limited to 'tests')
-rw-r--r-- | tests/entitystoretest.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/entitystoretest.cpp b/tests/entitystoretest.cpp index aab5b3b..608de4c 100644 --- a/tests/entitystoretest.cpp +++ b/tests/entitystoretest.cpp | |||
@@ -18,6 +18,7 @@ private slots: | |||
18 | void initTestCase() | 18 | void initTestCase() |
19 | { | 19 | { |
20 | Sink::AdaptorFactoryRegistry::instance().registerFactory<Sink::ApplicationDomain::Mail, TestMailAdaptorFactory>("test"); | 20 | Sink::AdaptorFactoryRegistry::instance().registerFactory<Sink::ApplicationDomain::Mail, TestMailAdaptorFactory>("test"); |
21 | Sink::AdaptorFactoryRegistry::instance().registerFactory<Sink::ApplicationDomain::Event, TestEventAdaptorFactory>("test"); | ||
21 | } | 22 | } |
22 | 23 | ||
23 | void cleanup() | 24 | void cleanup() |
@@ -77,6 +78,52 @@ private slots: | |||
77 | } | 78 | } |
78 | } | 79 | } |
79 | 80 | ||
81 | void testExistsAndContains() | ||
82 | { | ||
83 | |||
84 | using namespace Sink; | ||
85 | ResourceContext resourceContext{resourceInstanceIdentifier.toUtf8(), "dummy", AdaptorFactoryRegistry::instance().getFactories("test")}; | ||
86 | Storage::EntityStore store(resourceContext, {}); | ||
87 | |||
88 | auto mail = ApplicationDomain::ApplicationDomainType::createEntity<ApplicationDomain::Mail>("res1"); | ||
89 | mail.setExtractedMessageId("messageid"); | ||
90 | mail.setExtractedSubject("boo"); | ||
91 | |||
92 | auto mail2 = ApplicationDomain::ApplicationDomainType::createEntity<ApplicationDomain::Mail>("res1"); | ||
93 | mail2.setExtractedMessageId("messageid2"); | ||
94 | mail2.setExtractedSubject("foo"); | ||
95 | |||
96 | auto mail3 = ApplicationDomain::ApplicationDomainType::createEntity<ApplicationDomain::Mail>("res1"); | ||
97 | mail3.setExtractedMessageId("messageid2"); | ||
98 | mail3.setExtractedSubject("foo"); | ||
99 | |||
100 | auto event = ApplicationDomain::ApplicationDomainType::createEntity<ApplicationDomain::Event>("res1"); | ||
101 | event.setExtractedUid("messageid2"); | ||
102 | event.setExtractedSummary("foo"); | ||
103 | |||
104 | store.startTransaction(Storage::DataStore::ReadWrite); | ||
105 | store.add("mail", mail, false); | ||
106 | store.add("mail", mail2, false); | ||
107 | store.add("mail", mail3, false); | ||
108 | store.add("event", event, false); | ||
109 | |||
110 | mail.setExtractedSubject("foo"); | ||
111 | |||
112 | store.modify("mail", mail, QByteArrayList{}, false); | ||
113 | store.remove("mail", mail3, false); | ||
114 | store.commitTransaction(); | ||
115 | |||
116 | QVERIFY(store.contains("mail", mail.identifier())); | ||
117 | QVERIFY(store.contains("mail", mail2.identifier())); | ||
118 | QVERIFY(store.contains("mail", mail3.identifier())); | ||
119 | QVERIFY(store.contains("event", event.identifier())); | ||
120 | |||
121 | QVERIFY(store.exists("mail", mail.identifier())); | ||
122 | QVERIFY(store.exists("mail", mail2.identifier())); | ||
123 | QVERIFY(!store.exists("mail", mail3.identifier())); | ||
124 | QVERIFY(store.exists("event", event.identifier())); | ||
125 | } | ||
126 | |||
80 | void readAll() | 127 | void readAll() |
81 | { | 128 | { |
82 | using namespace Sink; | 129 | using namespace Sink; |