commit 4cde82a24deb213c49d47c37e931b947d5ab59ee
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Wed Sep 14 21:26:04 2016 +0200

    fixes

diff --git a/src/cache.cpp b/src/cache.cpp
index 791f145..2d761cd 100644
--- a/src/cache.cpp
+++ b/src/cache.cpp
@@ -49,7 +49,7 @@ void Cache::insert(QSharedPointer<Entity> &entity) {
                 return;
             }
         }
-        //this->cache.insert(key, entity.toWeakRef());
+        this->cache.insert(key, entity.toWeakRef());
     }
 }
 
diff --git a/tests/em/tst_em.cpp b/tests/em/tst_em.cpp
index 875bf7a..5e68291 100644
--- a/tests/em/tst_em.cpp
+++ b/tests/em/tst_em.cpp
@@ -1,21 +1,21 @@
 #include "tst_em.h"
 
-void EmTest::initTestCase() {
-    CuteEntityManager::EntityInstanceFactory::registerClass<Group>();
-    CuteEntityManager::EntityInstanceFactory::registerClass<Person>();
-    CuteEntityManager::EntityInstanceFactory::registerClass<Article>();
-    CuteEntityManager::EntityInstanceFactory::registerClass<Employee>();
-    CuteEntityManager::EntityInstanceFactory::registerClass<WorkerGroup>();
-    this->e = new CuteEntityManager::EntityManager("QSQLITE",
-            ":memory:", "", "", "", "", true, "foreign_keys = ON", false);
-}
+//void EmTest::initTestCase() {
+//    CuteEntityManager::EntityInstanceFactory::registerClass<Group>();
+//    CuteEntityManager::EntityInstanceFactory::registerClass<Person>();
+//    CuteEntityManager::EntityInstanceFactory::registerClass<Article>();
+//    CuteEntityManager::EntityInstanceFactory::registerClass<Employee>();
+//    CuteEntityManager::EntityInstanceFactory::registerClass<WorkerGroup>();
+//    this->e = new CuteEntityManager::EntityManager("QSQLITE",
+//            ":memory:", "", "", "", "", true, "foreign_keys = ON", false);
+//}
 
-void EmTest::cleanupTestCase() {
-    if (this->e) {
-        delete this->e;
-        this->e = nullptr;
-    }
-}
+//void EmTest::cleanupTestCase() {
+//    if (this->e) {
+//        delete this->e;
+//        this->e = nullptr;
+//    }
+//}
 
 void EmTest::testCheckDuplicates() {
     QSharedPointer<Article> article = QSharedPointer<Article>(new Article(10,
@@ -43,6 +43,13 @@ void EmTest::testBasics() {
 }
 
 void EmTest::init() {
+    CuteEntityManager::EntityInstanceFactory::registerClass<Group>();
+    CuteEntityManager::EntityInstanceFactory::registerClass<Person>();
+    CuteEntityManager::EntityInstanceFactory::registerClass<Article>();
+    CuteEntityManager::EntityInstanceFactory::registerClass<Employee>();
+    CuteEntityManager::EntityInstanceFactory::registerClass<WorkerGroup>();
+    this->e = new CuteEntityManager::EntityManager("QSQLITE",
+            ":memory:", "", "", "", "", true, "foreign_keys = ON", false);
     QStringList inits = QStringList() << "Person" << "Group" << "Article";
     QVERIFY2(this->e->startup("emTestA", inits), "Failure");
     auto migrations = this->e->findAll<CuteEntityManager::DatabaseMigration>();
@@ -145,6 +152,10 @@ void EmTest::cleanup() {
     QVERIFY(!tableNames.contains("article"));
     QVERIFY(!tableNames.contains("person_groups"));
     QVERIFY(this->e->removeAll("cuteentitymanager::databasemigration"));
+    if (this->e) {
+        delete this->e;
+        this->e = nullptr;
+    }
 }
 
 void EmTest::testRelationTableCreation() {
@@ -196,8 +207,7 @@ void EmTest::testInheritedRelations() {
     }
 }
 
-void EmTest::testNonCachedInheritedRelations()
-{
+void EmTest::testNonCachedInheritedRelations() {
     QSharedPointer<Employee> e1 = QSharedPointer<Employee>(new Employee(42, "Fenja", "S.",
                                   Person::Gender::FEMALE, "Lotta", QDate(1990, 10, 10), "Psychology"));
     QSharedPointer<Employee> e2 = QSharedPointer<Employee>(new Employee(11, "Janine",
@@ -218,7 +228,6 @@ void EmTest::testNonCachedInheritedRelations()
     } catch(QString e) {
         QFAIL(e.toUtf8().constData());
     }
-
 }
 
 void EmTest::createRelationTables() {
diff --git a/tests/em/tst_em.h b/tests/em/tst_em.h
index a93f949..3915e80 100644
--- a/tests/em/tst_em.h
+++ b/tests/em/tst_em.h
@@ -11,8 +11,8 @@ class EmTest : public QObject {
     Q_OBJECT
 
   private Q_SLOTS:
-    void initTestCase();
-    void cleanupTestCase();
+//    void initTestCase();
+//    void cleanupTestCase();
     void testCheckDuplicates();
     void testBasics();
     void init();
diff --git a/tests/em/tst_querybuilder.cpp b/tests/em/tst_querybuilder.cpp
index 1d62c3b..b0a81eb 100644
--- a/tests/em/tst_querybuilder.cpp
+++ b/tests/em/tst_querybuilder.cpp
@@ -79,7 +79,7 @@ void QuerybuilderTest::testFindByAttributesManyToManyResolve() {
     QCOMPARE(p->getNickName(), QString("Lotta"));
     QCOMPARE(p->getGroups().size(), 2);
     QVERIFY(p->getGroups().first());
-    QVERIFY(p->getGroups().first()->getPersons().last());
+    QCOMPARE(p->getGroups().first()->getPersons().size(),1);
     QCOMPARE(p->getGroups().first()->getPersons().last()->getFamilyName(), QString("Sey."));
 }
 
@@ -201,6 +201,7 @@ void QuerybuilderTest::testQueryBuilderManyToOneRelationAttribute() {
     QList<QSharedPointer<Group>> groupList = e->find<Group>(q, false, false);
     QCOMPARE(groupList.size(), 2);
     QCOMPARE(groupList.at(0)->getName(), QString("Group Health"));
+   //should be with cache 1 and without cache 0
     QCOMPARE(groupList.at(0)->getPersons().size(), 1);
 }
 
