mirror of
https://gitlab.com/spaceti-app/integrations/common/server-sdk.git
synced 2026-07-12 16:00:37 +02:00
72 lines
1.7 KiB
C++
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"
|