File indexing completed on 2024-05-12 16:45:19
0001 /*************************************************************************** 0002 * SPDX-FileCopyrightText: 2022 S. MANKOWSKI stephane@mankowski.fr 0003 * SPDX-FileCopyrightText: 2022 G. DE BURE support@mankowski.fr 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 ***************************************************************************/ 0006 /** @file 0007 * This file is a test for bank widgets. 0008 * 0009 * @author Stephane MANKOWSKI / Guillaume DE BURE 0010 */ 0011 #include "skgtestbankwidgets.h" 0012 #include "skgbkwidgetcollectiondesignerplugin.h" 0013 #include "skgdocumentbank.h" 0014 #include "skgquerycreator.h" 0015 #include "skgtestmacro.h" 0016 #include "skgunitcombobox.h" 0017 0018 void SKGTESTBankWidgets::TestSKGUnitComboBox() 0019 { 0020 SKGDocumentBank doc; 0021 QVERIFY2(!doc.load(SKGTest::getTestPath(QStringLiteral("OUT")) % "/advice.skg"), "Load document failed"); 0022 0023 SKGUnitComboBox unitWidget(nullptr); 0024 unitWidget.setDocument(&doc); 0025 unitWidget.setWhereClauseCondition(QStringLiteral("t_type='S'")); 0026 SKGUnitObject unit = unitWidget.getUnit(); 0027 unitWidget.setUnit(unit); 0028 0029 unitWidget.setText(QStringLiteral("newunit")); 0030 SKGUnitObject newunit = unitWidget.getUnit(); 0031 } 0032 0033 void SKGTESTBankWidgets::TestSKGQueryCreator() 0034 { 0035 SKGDocumentBank doc; 0036 QVERIFY2(!doc.load(SKGTest::getTestPath(QStringLiteral("OUT")) % "/advice.skg"), "Load document failed"); 0037 0038 QStringList attributeForQuery; 0039 attributeForQuery << QStringLiteral("d_date") << QStringLiteral("t_number") << QStringLiteral("t_mode") << QStringLiteral("t_PAYEE") << QStringLiteral("t_comment") << QStringLiteral("t_REALCOMMENT") << QStringLiteral("t_REALCATEGORY") << QStringLiteral("t_status") << QStringLiteral("t_bookmarked") << QStringLiteral("t_imported") << QStringLiteral("t_TRANSFER") << QStringLiteral("t_UNIT") << QStringLiteral("t_ACCOUNT") << QStringLiteral("t_TOACCOUNT") << QStringLiteral("f_REALCURRENTAMOUNT") << QStringLiteral("t_REALREFUND") << QStringLiteral("f_BALANCE"); 0040 0041 SKGQueryCreator creator(nullptr); 0042 creator.setParameters(&doc, QStringLiteral("v_operation"), attributeForQuery); 0043 QCOMPARE(creator.getColumnsCount(), 0); 0044 QCOMPARE(creator.getLinesCount(), 1); 0045 0046 QString cond = QStringLiteral("<!DOCTYPE SKGML><element> <!--OR--> <element> <!--AND--> <element operator=\"#ATT# LIKE '%#V1S#%'\" att2s=\"\" attribute=\"t_PAYEE\" att2=\"\" value=\"VIR CAF \" value2=\"\"/> </element></element>"); 0047 creator.setXMLCondition(cond); 0048 QTest::qWait(100); 0049 QString result = creator.getXMLCondition(); 0050 0051 QVERIFY(result.contains(QStringLiteral("operator=\"#ATT# LIKE '%#V1S#%'\""))); 0052 QVERIFY(result.contains(QStringLiteral("att2s=\"\""))); 0053 QVERIFY(result.contains(QStringLiteral("attribute=\"t_PAYEE\""))); 0054 QVERIFY(result.contains(QStringLiteral("att2=\"\""))); 0055 QVERIFY(result.contains(QStringLiteral("value=\"VIR CAF \""))); 0056 QVERIFY(result.contains(QStringLiteral("value2=\"\""))); 0057 0058 QCOMPARE(creator.getColumnsCount(), 1); 0059 QCOMPARE(creator.getLinesCount(), 2); 0060 0061 creator.addNewLine(); 0062 QCOMPARE(creator.getColumnsCount(), 1); 0063 QCOMPARE(creator.getLinesCount(), 3); 0064 0065 creator.removeLine(0); 0066 creator.removeLine(0); 0067 QCOMPARE(creator.getColumnsCount(), 1); 0068 QCOMPARE(creator.getLinesCount(), 1); 0069 0070 creator.removeColumn(0); 0071 QCOMPARE(creator.getColumnsCount(), 0); 0072 QCOMPARE(creator.getLinesCount(), 1); 0073 0074 creator.removeLine(0); 0075 QCOMPARE(creator.getColumnsCount(), 0); 0076 QCOMPARE(creator.getLinesCount(), 1); 0077 } 0078 0079 void SKGTESTBankWidgets::TestSKGBKWidgetCollectionDesignerPlugin() 0080 { 0081 SKGBKWidgetCollectionDesignerPlugin col(nullptr); 0082 QList<QDesignerCustomWidgetInterface*> items = col.customWidgets(); 0083 for (auto item : qAsConst(items)) { 0084 QCOMPARE(item != nullptr, true); 0085 0086 item->isContainer(); 0087 QCOMPARE(item->isInitialized(), false); 0088 item->initialize(nullptr); 0089 QCOMPARE(item->isInitialized(), true); 0090 item->icon(); 0091 QCOMPARE(item->domXml() != QLatin1String(""), true); 0092 QCOMPARE(item->group(), QStringLiteral("SKG Widgets")); 0093 QCOMPARE(item->includeFile() != QLatin1String(""), true); 0094 QCOMPARE(item->name() != QLatin1String(""), true); 0095 QCOMPARE(item->toolTip() != QLatin1String(""), true); 0096 QCOMPARE(item->whatsThis() != QLatin1String(""), true); 0097 QCOMPARE(item->createWidget(nullptr) != nullptr, true); 0098 } 0099 } 0100 0101 QTEST_MAIN(SKGTESTBankWidgets) 0102