forked from ondra/server-sdk
67 lines
1.3 KiB
C++
67 lines
1.3 KiB
C++
#include "serversdk/databasetable.h"
|
|
|
|
#include <QtTest>
|
|
|
|
#include <memory>
|
|
|
|
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<BookTable>();
|
|
QCOMPARE(table->id(), 0);
|
|
QCOMPARE(table->name(), QStringLiteral("Test"));
|
|
}
|
|
|
|
void DatabaseTableTest::qvariant_test()
|
|
{
|
|
auto table = std::make_unique<BookTable>();
|
|
QVariantMap map = table->toVariantMap();
|
|
QCOMPARE(map.count(), 3);
|
|
}
|
|
|
|
void DatabaseTableTest::json_test()
|
|
{
|
|
auto table = std::make_unique<BookTable>();
|
|
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"
|