Revision 9e2d71d6
Von Christian Ehringfeld vor mehr als 8 Jahren hinzugefügt
tests/tables/tst_tables.cpp | ||
---|---|---|
void initTestCase();
|
||
void cleanupTestCase();
|
||
void testStartup();
|
||
void testBasics();
|
||
// void init();
|
||
// void cleanup();
|
||
private:
|
||
... | ... | |
void Tables::initTestCase() {
|
||
CuteEntityManager::EntityInstanceFactory::registerClass<Group>();
|
||
CuteEntityManager::EntityInstanceFactory::registerClass<Person>();
|
||
CuteEntityManager::EntityInstanceFactory::registerClass<Article>();
|
||
this->e = new CuteEntityManager::EntityManager("QSQLITE",
|
||
":memory:", "", "", "", "", true, "foreign_keys = ON");
|
||
}
|
||
... | ... | |
QCOMPARE(migrations.at(0)->getVersion(), QString("test0.1"));
|
||
}
|
||
|
||
void Tables::testBasics() {
|
||
this->e->createTable("Article");
|
||
QVERIFY(this->e->getSchema()->getTableNames().contains("article"));
|
||
QSharedPointer<Article> article = QSharedPointer<Article>(new Article(10,
|
||
QString("TestItem")));
|
||
QSharedPointer<Entity> entity = article.objectCast<Entity>();
|
||
QVERIFY(this->e->create(entity));
|
||
article->setPrice(20);
|
||
article->setName("NewTestItem");
|
||
QVERIFY(this->e->save(entity));
|
||
QHash<QString, QVariant> attrs = QHash<QString, QVariant>();
|
||
attrs.insert("price", 20);
|
||
attrs.insert("name", "NewTestItem");
|
||
QSharedPointer<Article> article2 = this->e->findEntityByAttributes<Article>
|
||
(attrs);
|
||
QVERIFY(article2);
|
||
entity = article2.objectCast<Entity>();
|
||
QVERIFY(this->e->remove(entity));
|
||
QCOMPARE(this->e->count("article"), (quint8)0);
|
||
this->e->getDb()->exec(this->e->getQueryBuilder()->dropTable("article"));
|
||
QVERIFY(!this->e->getSchema()->getTableNames().contains("article"));
|
||
}
|
||
|
||
QTEST_APPLESS_MAIN(Tables)
|
||
|
||
#include "tst_tables.moc"
|
Auch abrufbar als: Unified diff
basic test