/*! * \brief Unit tests for \ref PdfExporter * * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "PdfExporter.h" #include "AppSettings.h" #include "ResourceLoader.h" #include #include using namespace governikus; Q_DECLARE_METATYPE(QVector ) using Pair = QPair; Q_DECLARE_METATYPE(QVector ) class test_PdfExporter : public QObject { Q_OBJECT private Q_SLOTS: void initTestCase() { ResourceLoader::getInstance().init(); } void history_data() { QTest::addColumn("min"); QTest::addColumn("max"); QTest::addColumn >("infos"); QVector entries; QTest::newRow("empty") << 10000 << 100000 << entries; for (int i = 0; i < 100; ++i) { entries << HistoryInfo("SubjectName", "SubjectUrl", "Usage", QDateTime::currentDateTime(), "TermOfUsage", {"RequestedData"}); } QTest::newRow("multiple") << 50000 << 350000 << entries; } void history() { QFETCH(int, min); QFETCH(int, max); QFETCH(QVector, infos); Env::getSingleton()->getHistorySettings().setHistoryInfos(infos); Env::getSingleton()->getHistorySettings().save(); QTemporaryFile file; QVERIFY(file.open()); PdfExporter exporter(file.fileName(), false, false); QVERIFY(exporter.exportHistory()); const QFileInfo info(file.fileName()); qDebug() << info.size(); QVERIFY(info.size() > min); QVERIFY(info.size() < max); } void selfInfo_data() { QTest::addColumn("min"); QTest::addColumn("max"); QTest::addColumn >("data"); QVector > data; QTest::newRow("empty") << 10000 << 100000 << data; for (int i = 0; i < 100; ++i) { data << QPair(QString("key"), QString("value")); } QTest::newRow("filled") << 25000 << 150000 << data; } void selfInfo() { QFETCH(int, min); QFETCH(int, max); QFETCH(QVector, data); const auto& now = QDateTime::currentDateTime(); QTemporaryFile file; QVERIFY(file.open()); PdfExporter exporter(file.fileName(), false, false); QVERIFY(exporter.exportSelfInfo(now, data)); const QFileInfo info(file.fileName()); qDebug() << info.size(); QVERIFY(info.size() > min); QVERIFY(info.size() < max); } }; QTEST_MAIN(test_PdfExporter) #include "test_PdfExporter.moc"