Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision e3fc2748

Von Christian Ehringfeld vor etwa 8 Jahren hinzugefügt

multiple improvements

Unterschiede anzeigen:

tests/em/tst_em.cpp
void EmTest::testCheckDuplicates() {
QSharedPointer<Article> article = QSharedPointer<Article>(new Article(10,
QString("TestItem")));
QSharedPointer<Entity> entity = article.objectCast<Entity>();
QVERIFY(this->e->create(entity));
QVERIFY(this->e->create(article));
QSharedPointer<Entity> copy = QSharedPointer<Entity>(article->copy());
QVERIFY(!this->e->create(copy, true, true));
}
......
attrs.insert("name", "NewTestItem");
QSharedPointer<Article> article2 = this->e->findEntityByAttributes<Article>(attrs);
QVERIFY(article2);
entity = article2.objectCast<Entity>();
QVERIFY(this->e->remove(entity));
QVERIFY(this->e->remove(article2));
QCOMPARE(this->e->count("article"), (quint32)0);
}
......
WorkerGroup("Taskforce P&H", 42));
wg->addWorker(e1);
wg->addWorker(e2);
auto entityWorkerGroup = wg.objectCast<Entity>();
try {
QVERIFY(this->e->create(entityWorkerGroup));
QVERIFY(this->e->create(wg));
QSharedPointer<Group> g = QSharedPointer<Group>(new Group("EmployeeGroup"));
g->setPersons({e1, e2});
auto entityGroup = g.objectCast<Entity>();
QVERIFY(this->e->create(entityGroup));
QVERIFY(this->e->create(g));
g->setName("Taskforce 0008");
QVERIFY(this->e->merge(entityGroup));
QVERIFY(this->e->remove(entityGroup));
QVERIFY(this->e->merge(g));
QVERIFY(this->e->remove(g));
} catch(QString e) {
QFAIL(e.toUtf8().constData());
}
......
QSharedPointer<Person> p = QSharedPointer<Person>(new Person("Jelena", "Fl",
Person::Gender::MALE, "Maxi", QDate(2000, 1, 1)));
auto ent = p.objectCast<Entity>();
QVERIFY(this->e->create(ent));
QVERIFY(this->e->create(p));
p->setFirstName("Laura");
p->setFamilyName("Musterfrau");
p->setBirthday(QDate(200, 1, 2));
......
g->setLeader(p1);
g2->setLeader(p2);
g->setPersons({p1});
auto gEnt = g.objectCast<Entity>();
auto pEnt = p3.objectCast<Entity>();
auto pEnt1 = p1.objectCast<Entity>();
QVERIFY(this->e->save(gEnt));
QVERIFY(this->e->save(g));
auto maintainedGroups = p1->getMaintainedGroups();
maintainedGroups.append(g2);
p1->setMaintainedGroups(maintainedGroups);
......
QVERIFY(p1->getGroups().size() > 0);
g->addPerson(p2);
g->setName("TestGroupExtended");
QVERIFY(this->e->save(gEnt));
QVERIFY(this->e->save(g));
p3->setGroups({g});
QVERIFY(this->e->save(pEnt, true, true));
QVERIFY(g->getPersons().size() == 3);
QList<QSharedPointer<Group>> groups;
p3->setGroups(groups);
QVERIFY(this->e->save(pEnt, true, true));
this->e->refresh(gEnt);
this->e->refresh(g);
qDebug() << g->getPersons().size();
QVERIFY(g->getPersons().size() == 2);
auto firstPerson = g->getPersons().first();
g->removePerson(firstPerson);
QVERIFY(this->e->save(gEnt, true, true));
auto entityFp = firstPerson.objectCast<Entity>();
this->e->refresh(entityFp);
QVERIFY(this->e->save(g, true, true));
this->e->refresh(firstPerson);
QVERIFY(firstPerson->getGroups().size() == 0 && g->getPersons().size() == 1);
}

Auch abrufbar als: Unified diff