#include "serversdk/databasetable.h" #include #include class BookTable : public serversdk::DatabaseTable { Q_OBJECT TABLE_PROPERTY(QUuid, uuid, setUuid, QUuid()); TABLE_PROPERTY(int, id, setId, 0); TABLE_PROPERTY(QString, name, setName, "Test"); }; class DatabaseTableTest : public QObject { Q_OBJECT public: DatabaseTableTest(); ~DatabaseTableTest(); private slots: void constructor_test(); void qvariant_test(); void json_test(); }; DatabaseTableTest::DatabaseTableTest() { } DatabaseTableTest::~DatabaseTableTest() { } void DatabaseTableTest::constructor_test() { auto table = std::make_unique(); QCOMPARE(table->id(), 0); QCOMPARE(table->name(), QStringLiteral("Test")); } void DatabaseTableTest::qvariant_test() { auto table = std::make_unique(); QVariantMap map = table->toVariantMap(); QCOMPARE(map.count(), 3); } void DatabaseTableTest::json_test() { auto table = std::make_unique(); QCOMPARE(table->id(), 0); QCOMPARE(table->name(), QStringLiteral("Test")); QByteArray expected(R"({"id":0,"name":"Test","uuid":"{00000000-0000-0000-0000-000000000000}"})"); QCOMPARE(table->jsonData(), expected); } QTEST_APPLESS_MAIN(DatabaseTableTest) #include "tst_databasetable.moc"