#include "serversdk/databasemanager.h" #include "serversdk/databaseutils.h" #include "serversdk/databasetable.h" #include #include 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(); auto db = std::make_unique(); 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"