mirror of
https://gitlab.com/spaceti-app/integrations/common/server-sdk.git
synced 2026-07-12 14:50:48 +02:00
86 lines
2.1 KiB
C++
86 lines
2.1 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();
|
|
void toCamelCase_test();
|
|
void fromCamelCase_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 NOT NULL, "
|
|
"description TEXT, "
|
|
"last_update INTEGER, "
|
|
"name TEXT, "
|
|
"pin TEXT, "
|
|
"last_modified INTEGER, "
|
|
"deleted INTEGER )";
|
|
|
|
QCOMPARE(sql, expected);
|
|
}
|
|
|
|
void DatabaseUtilsTest::toCamelCase_test()
|
|
{
|
|
QString test1 = "id_name";
|
|
QCOMPARE(serversdk::DatabaseUtils::toCamelCase(test1), QStringLiteral("idName"));
|
|
}
|
|
|
|
void DatabaseUtilsTest::fromCamelCase_test()
|
|
{
|
|
QString test1 = "idName";
|
|
QCOMPARE(serversdk::DatabaseUtils::fromCamelCase(test1), QStringLiteral("id_name"));
|
|
}
|
|
|
|
|
|
|
|
QTEST_APPLESS_MAIN(DatabaseUtilsTest)
|
|
|
|
#include "tst_databaseutils.moc"
|