mirror of
https://gitlab.com/spaceti-app/integrations/common/server-sdk.git
synced 2026-07-12 18:00:45 +02:00
updated json handling in databasetable
This commit is contained in:
parent
08f7f163d2
commit
a7831cae9c
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include "logger.h"
|
#include "logger.h"
|
||||||
|
|
||||||
|
#include <QJsonDocument>
|
||||||
#include <QMetaProperty>
|
#include <QMetaProperty>
|
||||||
|
|
||||||
namespace serversdk {
|
namespace serversdk {
|
||||||
@ -10,6 +11,12 @@ DatabaseTable::DatabaseTable(QObject *parent) : QObject(parent)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QByteArray DatabaseTable::jsonData() const
|
||||||
|
{
|
||||||
|
QJsonDocument doc = QJsonDocument::fromVariant(this->toVariantMap());
|
||||||
|
return doc.toJson(QJsonDocument::Compact);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Creates universal variant structure to hold key / value pairs */
|
/** Creates universal variant structure to hold key / value pairs */
|
||||||
QVariantMap DatabaseTable::toVariantMap() const
|
QVariantMap DatabaseTable::toVariantMap() const
|
||||||
|
|||||||
@ -27,6 +27,7 @@ class DatabaseTable : public QObject
|
|||||||
TABLE_PROPERTY(QString, name, setName, QString());
|
TABLE_PROPERTY(QString, name, setName, QString());
|
||||||
public:
|
public:
|
||||||
explicit DatabaseTable(QObject *parent = nullptr);
|
explicit DatabaseTable(QObject *parent = nullptr);
|
||||||
|
QByteArray jsonData() const;
|
||||||
QVariantMap toVariantMap() const;
|
QVariantMap toVariantMap() const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -25,6 +25,7 @@ public:
|
|||||||
private slots:
|
private slots:
|
||||||
void constructor_test();
|
void constructor_test();
|
||||||
void qvariant_test();
|
void qvariant_test();
|
||||||
|
void json_test();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -50,6 +51,16 @@ void DatabaseTableTest::qvariant_test()
|
|||||||
QCOMPARE(map.count(), 3);
|
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)
|
QTEST_APPLESS_MAIN(DatabaseTableTest)
|
||||||
|
|
||||||
#include "tst_databasetable.moc"
|
#include "tst_databasetable.moc"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user