File indexing completed on 2024-05-19 16:18:14

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 SKGTreeView component.
0008  *
0009  * @author Stephane MANKOWSKI / Guillaume DE BURE
0010  */
0011 #include "skgtesttreeview.h"
0012 #include "skgfilteredtableview.h"
0013 #include "skgobjectmodel.h"
0014 #include "skgsortfilterproxymodel.h"
0015 #include "skgtestmacro.h"
0016 #include "skgtreeview.h"
0017 
0018 void SKGTESTTreeView::Test()
0019 {
0020     KLocalizedString::setApplicationDomain("skrooge");
0021 
0022     // Initialize document
0023     SKGDocumentBank doc;
0024     QVERIFY2(!doc.load(SKGTest::getTestPath(QStringLiteral("OUT")) % "/advice.skg"), "Load document failed");
0025 
0026     // Initilialization view and model
0027     SKGFilteredTableView tableView(nullptr);
0028     auto m_objectModel = new SKGObjectModel(&doc, QStringLiteral("v_account_display"), QLatin1String(""), nullptr);
0029     tableView.setModel(m_objectModel);
0030     m_objectModel->setTable(QStringLiteral("v_operation_display_all"));
0031     QCOMPARE(m_objectModel->getGroupBy(), QLatin1String(""));
0032     m_objectModel->setGroupBy(QStringLiteral("d_date"));
0033     QCOMPARE(m_objectModel->getGroupBy(), QStringLiteral("d_date"));
0034     m_objectModel->setGroupBy(QStringLiteral("t_status"));
0035     m_objectModel->refresh();
0036     QTest::qWait(300);
0037 
0038     // SKGFilteredTableView
0039     tableView.setState(tableView.getState());
0040 
0041     QTest::qWait(2000);
0042 
0043     // SKGTreeView
0044     SKGTreeView* tree = tableView.getView();
0045     tree->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttreeview/SKGTreeView.csv");
0046     tree->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttreeview/SKGTreeView.txt");
0047     tree->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttreeview/SKGTreeView.svg");
0048     tree->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttreeview/SKGTreeView.pdf");
0049     tree->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttreeview/SKGTreeView.html");
0050     tree->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttreeview/SKGTreeView.odt");
0051 
0052     tree->getTable();
0053     tree->getFirstSelectedObject();
0054 
0055     tree->setTextResizable(true);
0056     QCOMPARE(tree->isTextResizable(), true);
0057     tree->setTextResizable(false);
0058     QCOMPARE(tree->isTextResizable(), false);
0059 
0060     tree->setZoomPosition(5);
0061     QCOMPARE(tree->zoomPosition(), 5);
0062     tree->setZoomPosition(6);
0063     QCOMPARE(tree->zoomPosition(), 6);
0064 
0065     tree->switchAutoResize();
0066     tree->setState(tree->getState());
0067 
0068     tree->getCurrentSchema();
0069 
0070     tableView.getSearchField()->setText(QStringLiteral("e +a -i"));
0071     tree->copy();
0072 
0073     for (int i = 0; i < 10; ++i) {
0074         tree->sortByColumn(i, Qt::AscendingOrder);
0075         QTest::qWait(1000);
0076 
0077         tree->sortByColumn(i, Qt::DescendingOrder);
0078         QTest::qWait(1000);
0079     }
0080 }
0081 
0082 QTEST_MAIN(SKGTESTTreeView)
0083