mirror of
https://gitlab.com/spaceti-app/integrations/common/server-sdk.git
synced 2026-07-12 15:30:36 +02:00
Added unitest as example where baseclas does not have property of derived class
This commit is contained in:
parent
956f51e3e2
commit
1cf415820f
@ -1,4 +1,4 @@
|
|||||||
#include "serversdk/databasetable.h"
|
#include "serversdk/databasetable.h"
|
||||||
|
|
||||||
#include <QtTest>
|
#include <QtTest>
|
||||||
|
|
||||||
@ -12,6 +12,12 @@ class BookTable : public serversdk::DatabaseTable
|
|||||||
TABLE_PROPERTY(QString, name, setName, "Test");
|
TABLE_PROPERTY(QString, name, setName, "Test");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class BookTableExt : public BookTable
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
TABLE_PROPERTY(QString, author, setAuthor, "Já");
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
QString enumjson = R"({"authErrors":255,"flags":["Enabled","NoValidity"],"subjectId":"1438aade-3aa6-4885-8e0f-138dedae727a"})";
|
QString enumjson = R"({"authErrors":255,"flags":["Enabled","NoValidity"],"subjectId":"1438aade-3aa6-4885-8e0f-138dedae727a"})";
|
||||||
|
|
||||||
@ -80,6 +86,8 @@ private slots:
|
|||||||
void json_test();
|
void json_test();
|
||||||
void enum_test();
|
void enum_test();
|
||||||
|
|
||||||
|
void subclass_test();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
DatabaseTableTest::DatabaseTableTest()
|
DatabaseTableTest::DatabaseTableTest()
|
||||||
@ -135,6 +143,17 @@ void DatabaseTableTest::enum_test()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Baseclass must not contain property of derived class ( extended class ) */
|
||||||
|
void DatabaseTableTest::subclass_test()
|
||||||
|
{
|
||||||
|
auto book = std::make_shared<BookTable>();
|
||||||
|
auto bookExt = std::make_shared<BookTableExt>();
|
||||||
|
|
||||||
|
book->fromVariantMap(bookExt->toVariantMap());
|
||||||
|
|
||||||
|
QCOMPARE(book->jsonData(), QByteArray("{\"id\":0,\"name\":\"\",\"uuid\":\"\"}"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user