summaryrefslogtreecommitdiffstats
path: root/tests/entitystoretest.cpp
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2018-08-22 10:36:29 +0200
committerMinijackson <minijackson@riseup.net>2018-08-22 10:36:29 +0200
commit3559ec6e6e698f20e600dfbbdff0d56d66576c0d (patch)
tree0e44c41f0436520aac2f78c8a20b05ddb0b3beab /tests/entitystoretest.cpp
parentfc00461a517db33ca641e09a6987ed2d855729b3 (diff)
downloadsink-3559ec6e6e698f20e600dfbbdff0d56d66576c0d.tar.gz
sink-3559ec6e6e698f20e600dfbbdff0d56d66576c0d.zip
Re-do fullScan function and test it
Diffstat (limited to 'tests/entitystoretest.cpp')
-rw-r--r--tests/entitystoretest.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/entitystoretest.cpp b/tests/entitystoretest.cpp
index 03b940b..aab5b3b 100644
--- a/tests/entitystoretest.cpp
+++ b/tests/entitystoretest.cpp
@@ -29,6 +29,54 @@ private slots:
29 { 29 {
30 } 30 }
31 31
32 void testFullScan()
33 {
34 using namespace Sink;
35 ResourceContext resourceContext{resourceInstanceIdentifier.toUtf8(), "dummy", AdaptorFactoryRegistry::instance().getFactories("test")};
36 Storage::EntityStore store(resourceContext, {});
37
38 auto mail = ApplicationDomain::ApplicationDomainType::createEntity<ApplicationDomain::Mail>("res1");
39 mail.setExtractedMessageId("messageid");
40 mail.setExtractedSubject("boo");
41
42 auto mail2 = ApplicationDomain::ApplicationDomainType::createEntity<ApplicationDomain::Mail>("res1");
43 mail2.setExtractedMessageId("messageid2");
44 mail2.setExtractedSubject("foo");
45
46 auto mail3 = ApplicationDomain::ApplicationDomainType::createEntity<ApplicationDomain::Mail>("res1");
47 mail3.setExtractedMessageId("messageid2");
48 mail3.setExtractedSubject("foo");
49
50 store.startTransaction(Storage::DataStore::ReadWrite);
51 store.add("mail", mail, false);
52 store.add("mail", mail2, false);
53 store.add("mail", mail3, false);
54
55 mail.setExtractedSubject("foo");
56
57 store.modify("mail", mail, QByteArrayList{}, false);
58
59 {
60 const auto ids = store.fullScan("mail");
61
62 QCOMPARE(ids.size(), 3);
63 QVERIFY(ids.contains(Sink::Storage::Identifier::fromDisplayByteArray(mail.identifier())));
64 QVERIFY(ids.contains(Sink::Storage::Identifier::fromDisplayByteArray(mail2.identifier())));
65 QVERIFY(ids.contains(Sink::Storage::Identifier::fromDisplayByteArray(mail3.identifier())));
66 }
67
68 store.remove("mail", mail3, false);
69 store.commitTransaction();
70
71 {
72 const auto ids = store.fullScan("mail");
73
74 QCOMPARE(ids.size(), 2);
75 QVERIFY(ids.contains(Sink::Storage::Identifier::fromDisplayByteArray(mail.identifier())));
76 QVERIFY(ids.contains(Sink::Storage::Identifier::fromDisplayByteArray(mail2.identifier())));
77 }
78 }
79
32 void readAll() 80 void readAll()
33 { 81 {
34 using namespace Sink; 82 using namespace Sink;