server-sdk/test/auto/database/tst_databaseutils.cpp
2019-11-12 14:13:39 +01:00

72 lines
1.7 KiB
C++

#include "serversdk/databasemanager.h"
#include "serversdk/databaseutils.h"
#include "serversdk/databasetable.h"
#include <QtTest>
#include <memory>
class BookTable : public serversdk::DatabaseTable
{
Q_OBJECT
TABLE_PROPERTY(QUuid, id, set_id, QUuid());
TABLE_PROPERTY(QString, description, set_description, "");
TABLE_PROPERTY(QDateTime, last_update, set_last_update, QDateTime::fromSecsSinceEpoch(0));
TABLE_PROPERTY(QString, name, set_name, QString());
TABLE_PROPERTY(QString, pin, set_pin, QString());
TABLE_PROPERTY(QDateTime, last_modified, set_last_modified, QDateTime::fromSecsSinceEpoch(0));
TABLE_PROPERTY(bool, deleted, set_deleted, false);
};
class DatabaseUtilsTest : public QObject
{
Q_OBJECT
public:
DatabaseUtilsTest();
~DatabaseUtilsTest();
QString uuid() const;
void setUuid(QString value);
private slots:
void createTable_test();
};
DatabaseUtilsTest::DatabaseUtilsTest()
{
}
DatabaseUtilsTest::~DatabaseUtilsTest()
{
}
void DatabaseUtilsTest::createTable_test()
{
auto table = std::make_unique<BookTable>();
auto db = std::make_unique<serversdk::DatabaseManager>();
serversdk::DatabaseUtils utils(db.get());
QString sql = utils.createTableText(table.get(), "subjects");
QString expected = "CREATE TABLE subjects ( "
"id TEXT PRIMARY KEY, "
"description TEXT, "
"last_update INTEGER, "
"name TEXT, "
"pin TEXT, "
"last_modified INTEGER, "
"deleted INTEGER )";
QCOMPARE(sql, expected);
}
QTEST_APPLESS_MAIN(DatabaseUtilsTest)
#include "tst_databaseutils.moc"