File indexing completed on 2024-05-12 16:45:25
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 script. 0008 * 0009 * @author Stephane MANKOWSKI / Guillaume DE BURE 0010 */ 0011 #include "skgtestmacro.h" 0012 #include "skgbankincludes.h" 0013 #include "skgservices.h" 0014 0015 /** 0016 * The main function of the unit test 0017 * @param argc the number of arguments 0018 * @param argv the list of arguments 0019 */ 0020 int main(int argc, char** argv) 0021 { 0022 Q_UNUSED(argc) 0023 Q_UNUSED(argv) 0024 0025 // Init test 0026 SKGINITTEST(true) 0027 0028 // ============================================================================ 0029 { 0030 // Test bank document 0031 SKGDocumentBank document1; 0032 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0033 SKGBankObject bank(&document1); 0034 SKGAccountObject account; 0035 SKGUnitObject unit_euro(&document1); 0036 SKGUnitValueObject unit_euro_val1; 0037 QDate d1 = QDate::currentDate().addMonths(-6); 0038 SKGError err; 0039 { 0040 // Scope of the transaction 0041 SKGBEGINTRANSACTION(document1, QStringLiteral("BANK_T1"), err) 0042 0043 // Creation bank 0044 SKGTESTERROR(QStringLiteral("BANK:setName"), bank.setName(QStringLiteral("CREDIT COOP")), true) 0045 SKGTESTERROR(QStringLiteral("BANK:save"), bank.save(), true) 0046 0047 // Creation account 0048 SKGTESTERROR(QStringLiteral("BANK:addAccount"), bank.addAccount(account), true) 0049 SKGTESTERROR(QStringLiteral("ACCOUNT:setName"), account.setName(QStringLiteral("Courant steph")), true) 0050 SKGTESTERROR(QStringLiteral("ACCOUNT:save"), account.save(), true) 0051 0052 // Creation unit 0053 SKGTESTERROR(QStringLiteral("UNIT:setName"), unit_euro.setName(QStringLiteral("euro")), true) 0054 SKGTESTERROR(QStringLiteral("UNIT:save"), unit_euro.save(), true) 0055 0056 // Creation unitvalue 0057 SKGTESTERROR(QStringLiteral("UNIT:addUnitValue"), unit_euro.addUnitValue(unit_euro_val1), true) 0058 SKGTESTERROR(QStringLiteral("UNITVALUE:setQuantity"), unit_euro_val1.setQuantity(1), true) 0059 SKGTESTERROR(QStringLiteral("UNITVALUE:setDate"), unit_euro_val1.setDate(d1), true) 0060 SKGTESTERROR(QStringLiteral("UNITVALUE:save"), unit_euro_val1.save(), true) 0061 0062 // Creation operation 0063 SKGOperationObject op; 0064 SKGTESTERROR(QStringLiteral("ACCOUNT:addOperation"), account.addOperation(op), true) 0065 SKGTESTERROR(QStringLiteral("OPE:setMode"), op.setMode(QStringLiteral("cheque")), true) 0066 SKGTESTERROR(QStringLiteral("OPE:setDate"), op.setDate(d1), true) 0067 SKGTESTERROR(QStringLiteral("OPE:setUnit"), op.setUnit(unit_euro), true) 0068 SKGTESTERROR(QStringLiteral("OPE:save"), op.save(), true) 0069 0070 SKGPayeeObject payee(&document1); 0071 SKGPayeeObject payeeCopy(payee); 0072 SKGPayeeObject payeeCopy2(static_cast<SKGObjectBase>(payee)); 0073 SKGTESTERROR(QStringLiteral("REF:setName"), payee.setName(QStringLiteral("payee")), true) 0074 SKGTESTERROR(QStringLiteral("REF:setAddress"), payee.setAddress(QStringLiteral("address")), true) 0075 SKGTESTBOOL("REF:isBookmarked", payee.isBookmarked(), false) 0076 SKGTESTERROR(QStringLiteral("REF:bookmark"), payee.bookmark(true), true) 0077 SKGTESTBOOL("REF:isBookmarked", payee.isBookmarked(), true) 0078 0079 SKGTESTBOOL("REF:isClosed", payee.isClosed(), false) 0080 SKGTESTERROR(QStringLiteral("REF:setClosed"), payee.setClosed(true), true) 0081 SKGTESTBOOL("REF:isClosed", payee.isClosed(), true) 0082 0083 SKGTESTERROR(QStringLiteral("REF:save"), payee.save(), true) 0084 SKGTEST(QStringLiteral("REF:getName"), payee.getName(), QStringLiteral("payee")) 0085 SKGTEST(QStringLiteral("REF:getAddress"), payee.getAddress(), QStringLiteral("address")) 0086 0087 SKGTESTERROR(QStringLiteral("OPE:setPayee"), op.setPayee(payee), true) 0088 SKGTESTERROR(QStringLiteral("OPE:save"), op.save(), true) 0089 SKGPayeeObject payee2; 0090 SKGTESTERROR(QStringLiteral("OPE:getPayee"), op.getPayee(payee2), true) 0091 SKGTESTBOOL("OPE:compare", (payee == payee2), true) 0092 0093 SKGCategoryObject cat; 0094 SKGTESTERROR(QStringLiteral("REF:getCategory"), payee.getCategory(cat), false) 0095 0096 SKGTESTERROR(QStringLiteral("CAT:createPathCategory"), SKGCategoryObject::createPathCategory(&document1, QStringLiteral("A"), cat), true) 0097 SKGTESTERROR(QStringLiteral("REF:setCategory"), payee.setCategory(cat), true) 0098 SKGTESTERROR(QStringLiteral("REF:getCategory"), payee.getCategory(cat), true) 0099 0100 SKGTESTERROR(QStringLiteral("REF:save"), payee.save(), true) 0101 SKGTESTERROR(QStringLiteral("REF:load"), payee.load(), true) 0102 0103 SKGPayeeObject pay; 0104 SKGTESTERROR(QStringLiteral("REF:createPayee"), SKGPayeeObject::createPayee(&document1, QStringLiteral("pay"), pay, true), true) 0105 0106 SKGTEST(QStringLiteral("DOC:getCategoryForPayee"), document1.getCategoryForPayee(QStringLiteral("payee")), QStringLiteral("A")) 0107 0108 // Merge 0109 SKGTESTERROR(QStringLiteral("CAT:merge"), payee2.merge(pay), true) 0110 } 0111 } 0112 0113 // End test 0114 SKGENDTEST() 0115 }