File indexing completed on 2024-05-12 16:45:21
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 "skgimportexportmanager.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 // Test import GNUCASH 0030 SKGDocumentBank document1; 0031 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0032 SKGError err; 0033 { 0034 // Scope of the transaction 0035 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0036 SKGImportExportManager impmissing(&document1, QUrl::fromLocalFile(QStringLiteral("/not-existing/missingfile.uncompressed"))); 0037 SKGTESTERROR(QStringLiteral("imp1.importFile"), impmissing.importFile(), false) 0038 0039 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/test_data.uncompressed")); 0040 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0041 } 0042 0043 { 0044 SKGAccountObject account(&document1); 0045 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Accounts Receivable")), true) 0046 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0047 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("231.11")) 0048 } 0049 } 0050 0051 { 0052 // Test import GNUCASH 0053 SKGDocumentBank document1; 0054 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0055 SKGError err; 0056 { 0057 // Scope of the transaction 0058 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0059 0060 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/all.uncompressed")); 0061 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0062 } 0063 0064 { 0065 SKGAccountObject account(&document1); 0066 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("COMPTE COURANT")), true) 0067 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0068 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-700")) 0069 } 0070 0071 { 0072 SKGAccountObject account(&document1); 0073 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("COMPTE EPARGNE")), true) 0074 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0075 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("250")) 0076 } 0077 0078 { 0079 SKGAccountObject account(&document1); 0080 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Actif")), true) 0081 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0082 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-420")) 0083 } 0084 0085 { 0086 SKGAccountObject account(&document1); 0087 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("TITRE")), true) 0088 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0089 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("520")) 0090 } 0091 } 0092 0093 { 0094 // Test import GNUCASH 0095 SKGDocumentBank document1; 0096 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0097 SKGError err; 0098 { 0099 // Scope of the transaction 0100 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0101 0102 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/initial_balance.uncompressed")); 0103 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0104 } 0105 0106 { 0107 SKGAccountObject account(&document1); 0108 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CCP")), true) 0109 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0110 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("100")) 0111 } 0112 0113 int nb = 0; 0114 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects(unit, PRIMARY)"), document1.getNbObjects(QStringLiteral("unit"), QStringLiteral("t_type='1'"), nb), true) 0115 SKGTEST(QStringLiteral("GNUCASH:getNbObjects(unit, PRIMARY)"), nb, 1) 0116 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects(unit, SHARE)"), document1.getNbObjects(QStringLiteral("unit"), QStringLiteral("t_type='S'"), nb), true) 0117 SKGTEST(QStringLiteral("GNUCASH:getNbObjects(unit, SHARE)"), nb, 13) 0118 } 0119 0120 { 0121 // Test import GNUCASH 0122 SKGDocumentBank document1; 0123 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0124 SKGError err; 0125 { 0126 // Scope of the transaction 0127 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0128 0129 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/transfer-CPP-vers-PEE.uncompressed")); 0130 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0131 } 0132 0133 { 0134 SKGAccountObject account(&document1); 0135 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CCP")), true) 0136 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0137 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("750")) 0138 } 0139 0140 { 0141 SKGAccountObject account(&document1); 0142 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CEL Donald")), true) 0143 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0144 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("150")) 0145 } 0146 0147 { 0148 SKGAccountObject account(&document1); 0149 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("PEEs")), true) 0150 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0151 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("190")) 0152 } 0153 0154 { 0155 int nb = 0; 0156 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects"), document1.getNbObjects(QStringLiteral("category"), QLatin1String(""), nb), true) 0157 SKGTEST(QStringLiteral("GNUCASH:getNbObjects"), nb, 27) 0158 } 0159 } 0160 0161 { 0162 // Test import GNUCASH 0163 SKGDocumentBank document1; 0164 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0165 SKGError err; 0166 { 0167 // Scope of the transaction 0168 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0169 0170 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/transfer-PEE-vers-CCP.uncompressed")); 0171 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0172 } 0173 0174 { 0175 SKGAccountObject account(&document1); 0176 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CCP")), true) 0177 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0178 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("1140")) 0179 } 0180 0181 { 0182 SKGAccountObject account(&document1); 0183 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CEL Donald")), true) 0184 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0185 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("150")) 0186 } 0187 0188 { 0189 SKGAccountObject account(&document1); 0190 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("PEEs")), true) 0191 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0192 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("100")) 0193 } 0194 0195 { 0196 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0197 SKGCategoryObject cat; 0198 SKGTESTERROR(QStringLiteral("GNUCASH.createPathCategory"), SKGCategoryObject::createPathCategory(&document1, QStringLiteral("Depenses > Frais bancaires"), cat), true) 0199 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(cat.getCurrentAmount()), QStringLiteral("-10")) 0200 } 0201 0202 SKGTESTERROR(QStringLiteral("DOC:dump"), document1.dump(DUMPCATEGORY), true) 0203 } 0204 0205 { 0206 // Test import GNUCASH 0207 SKGDocumentBank document1; 0208 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0209 SKGError err; 0210 { 0211 // Scope of the transaction 0212 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0213 0214 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/interet-revenue-frais.gnucash")); 0215 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0216 } 0217 0218 { 0219 SKGAccountObject account(&document1); 0220 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CCP")), true) 0221 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0222 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("750")) 0223 } 0224 0225 { 0226 SKGAccountObject account(&document1); 0227 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CEL Donald")), true) 0228 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0229 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("150")) 0230 } 0231 0232 { 0233 SKGAccountObject account(&document1); 0234 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("PEEs")), true) 0235 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0236 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("640")) 0237 } 0238 } 0239 0240 { 0241 // Test import GNUCASH 0242 SKGDocumentBank document1; 0243 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0244 SKGError err; 0245 { 0246 // Scope of the transaction 0247 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0248 0249 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/interet-revenue-frais-emprunt.gnucash")); 0250 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0251 } 0252 0253 { 0254 SKGAccountObject account(&document1); 0255 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CCP")), true) 0256 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0257 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("250")) 0258 } 0259 { 0260 SKGAccountObject account(&document1); 0261 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Emprunts")), true) 0262 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0263 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-99620")) 0264 } 0265 { 0266 SKGAccountObject account(&document1); 0267 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Maison")), true) 0268 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0269 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("100000")) 0270 } 0271 } 0272 0273 { 0274 // Test import GNUCASH 0275 SKGDocumentBank document1; 0276 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0277 SKGError err; 0278 { 0279 // Scope of the transaction 0280 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0281 0282 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/rapprochement-incorrect.uncompressed")); 0283 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0284 } 0285 0286 { 0287 int nb = 0; 0288 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects"), document1.getNbObjects(QStringLiteral("operation"), QStringLiteral("t_status='Y'"), nb), true) 0289 SKGTEST(QStringLiteral("GNUCASH:getNbObjects"), nb, 7) 0290 } 0291 } 0292 0293 { 0294 // Test import GNUCASH 0295 SKGDocumentBank document1; 0296 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0297 SKGError err; 0298 { 0299 // Scope of the transaction 0300 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0301 0302 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/scheduled-action.uncompressed")); 0303 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0304 } 0305 0306 { 0307 SKGObjectBase::SKGListSKGObjectBase recurrentoperations; 0308 SKGTESTERROR(QStringLiteral("GNUCASH:SKGListSKGObjectBase"), document1.getObjects(QStringLiteral("recurrentoperation"), QLatin1String(""), recurrentoperations), true) 0309 SKGTEST(QStringLiteral("GNUCASH:nb"), recurrentoperations.count(), 1) 0310 if (recurrentoperations.count() == 1) { 0311 SKGRecurrentOperationObject recu(recurrentoperations.at(0)); 0312 SKGTEST(QStringLiteral("GNUCASH:getDate"), recu.getDate().toString(), QDate(2010, 03, 02).toString()) 0313 SKGTEST(QStringLiteral("GNUCASH:getAutoWriteDays"), recu.getAutoWriteDays(), 10) 0314 SKGTEST(QStringLiteral("GNUCASH:getPeriodIncrement"), recu.getPeriodIncrement(), 1) 0315 SKGTEST(QStringLiteral("GNUCASH:getPeriodUnit"), static_cast<unsigned int>(recu.getPeriodUnit()), static_cast<unsigned int>(SKGRecurrentOperationObject::MONTH)) 0316 SKGTEST(QStringLiteral("GNUCASH:getWarnDays"), recu.getWarnDays(), 0) 0317 SKGTESTBOOL("GNUCASH:isAutoWriteEnabled", recu.isAutoWriteEnabled(), false) 0318 SKGTESTBOOL("GNUCASH:isWarnEnabled", recu.isWarnEnabled(), false) 0319 SKGTESTBOOL("GNUCASH:hasTimeLimit", recu.hasTimeLimit(), false) 0320 } 0321 } 0322 } 0323 0324 { 0325 // Test import GNUCASH - bug 228808 0326 SKGDocumentBank document1; 0327 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0328 SKGError err; 0329 { 0330 // Scope of the transaction 0331 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0332 0333 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/228808.gnc")); 0334 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0335 } 0336 0337 0338 { 0339 SKGObjectBase::SKGListSKGObjectBase recurrentoperations; 0340 SKGTESTERROR(QStringLiteral("GNUCASH:SKGListSKGObjectBase"), document1.getObjects(QStringLiteral("recurrentoperation"), QStringLiteral("1=1 ORDER BY d_date"), recurrentoperations), true) 0341 SKGTEST(QStringLiteral("GNUCASH:nb"), recurrentoperations.count(), 2) 0342 if (recurrentoperations.count() == 2) { 0343 SKGRecurrentOperationObject recu(recurrentoperations.at(0)); 0344 SKGOperationObject op; 0345 SKGTESTERROR(QStringLiteral("GNUCASH:getParentOperation"), recu.getParentOperation(op), true) 0346 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), op.getCurrentAmount(), -50) 0347 0348 recu = recurrentoperations.at(1); 0349 SKGTESTERROR(QStringLiteral("GNUCASH:getParentOperation"), recu.getParentOperation(op), true) 0350 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), op.getCurrentAmount(), -18.75) 0351 } 0352 } 0353 } 0354 0355 { 0356 // Test import GNUCASH - bug 228904 0357 SKGDocumentBank document1; 0358 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0359 SKGError err; 0360 { 0361 // Scope of the transaction 0362 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0363 0364 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/228904.gnucash")); 0365 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0366 } 0367 0368 0369 { 0370 SKGObjectBase::SKGListSKGObjectBase recurrentoperations; 0371 SKGTESTERROR(QStringLiteral("GNUCASH:SKGListSKGObjectBase"), document1.getObjects(QStringLiteral("recurrentoperation"), QStringLiteral("1=1 ORDER BY d_date"), recurrentoperations), true) 0372 SKGTEST(QStringLiteral("GNUCASH:nb"), recurrentoperations.count(), 3) 0373 } 0374 } 0375 0376 { 0377 // Test import 228901 0378 SKGDocumentBank document1; 0379 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0380 SKGError err; 0381 { 0382 // Scope of the transaction 0383 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0384 0385 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/228901.gnucash")); 0386 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0387 } 0388 0389 { 0390 SKGAccountObject account(&document1); 0391 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Compte emprunt")), true) 0392 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0393 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-9476.01")) 0394 } 0395 0396 // Test second import 0397 { 0398 // Scope of the transaction 0399 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0400 0401 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/228901.gnucash")); 0402 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0403 } 0404 } 0405 0406 { 0407 // Test import 234608 0408 SKGDocumentBank document1; 0409 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0410 SKGError err; 0411 { 0412 // Scope of the transaction 0413 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0414 0415 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/234608.gnc")); 0416 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0417 } 0418 } 0419 0420 { 0421 // Test import 234597 0422 SKGDocumentBank document1; 0423 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0424 SKGError err; 0425 { 0426 // Scope of the transaction 0427 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0428 0429 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/234597.gnc")); 0430 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0431 } 0432 { 0433 int nb = 0; 0434 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects"), document1.getNbObjects(QStringLiteral("account"), QLatin1String(""), nb), true) 0435 SKGTEST(QStringLiteral("GNUCASH:getNbObjects"), nb, 11) 0436 } 0437 { 0438 SKGAccountObject account(&document1); 0439 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Compte cheques")), true) 0440 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0441 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-260")) 0442 } 0443 { 0444 SKGAccountObject account(&document1); 0445 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Compte cheques (2)")), true) 0446 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0447 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-40")) 0448 } 0449 { 0450 SKGAccountObject account(&document1); 0451 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Argent du porte-monnaie")), true) 0452 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0453 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("0")) 0454 } 0455 } 0456 0457 { 0458 // Test import 243738 0459 SKGDocumentBank document1; 0460 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0461 SKGError err; 0462 { 0463 // Scope of the transaction 0464 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0465 0466 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/243738.gnucash")); 0467 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0468 } 0469 } 0470 0471 { 0472 // Test import without book 0473 SKGDocumentBank document1; 0474 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0475 SKGError err; 0476 { 0477 // Scope of the transaction 0478 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0479 0480 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/without_book.gnucash")); 0481 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0482 } 0483 } 0484 0485 { 0486 // Test import 302388 0487 SKGDocumentBank document1; 0488 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0489 SKGError err; 0490 { 0491 // Scope of the transaction 0492 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0493 0494 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/302388.gnc")); 0495 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0496 } 0497 } 0498 0499 { 0500 // Test import 325174 0501 SKGDocumentBank document1; 0502 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0503 SKGError err; 0504 { 0505 // Scope of the transaction 0506 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0507 0508 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/325174.gnucash")); 0509 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0510 } 0511 0512 int nb = 0; 0513 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects(account)"), document1.getNbObjects(QStringLiteral("account"), QLatin1String(""), nb), true) 0514 SKGTEST(QStringLiteral("GNUCASH:getNbObjects(account)"), nb, 11) 0515 } 0516 0517 { 0518 // Test import wallet 0519 SKGDocumentBank document1; 0520 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0521 SKGError err; 0522 { 0523 // Scope of the transaction 0524 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0525 0526 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/wallet.gnucash")); 0527 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0528 } 0529 0530 { 0531 SKGAccountObject account(&document1); 0532 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Espece")), true) 0533 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0534 SKGBankObject bank; 0535 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.getBank(bank), true) 0536 SKGTEST(QStringLiteral("GNUCASH:getName"), bank.getName(), QLatin1String("")) 0537 } 0538 { 0539 SKGAccountObject account(&document1); 0540 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Courant")), true) 0541 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0542 SKGBankObject bank; 0543 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.getBank(bank), true) 0544 SKGTEST(QStringLiteral("GNUCASH:getName"), bank.getName(), QStringLiteral("GNUCASH")) 0545 } 0546 } 0547 0548 0549 { 0550 // 407257 0551 SKGDocumentBank document1; 0552 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true) 0553 SKGError err; 0554 { 0555 // Scope of the transaction 0556 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err) 0557 0558 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/407257.gnucash")); 0559 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true) 0560 } 0561 0562 { 0563 SKGAccountObject account(&document1); 0564 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("AccountName (Nom de compte)")), true) 0565 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0566 SKGTEST(QStringLiteral("GNUCASH:getNumber"), account.getNumber(), QStringLiteral("123_AccountCode(CodeCompte)")) 0567 SKGTEST(QStringLiteral("GNUCASH:getComment"), account.getComment(), QStringLiteral("DescriptionAccount(Compte123)")) 0568 0569 SKGUnitObject unit; 0570 SKGTESTERROR(QStringLiteral("GNUCASH.getUnit"), account.getUnit(unit), true) 0571 SKGTEST(QStringLiteral("GNUCASH:getName"), unit.getName(), QStringLiteral("Canadian Dollar (CAD)")) 0572 } 0573 0574 { 0575 SKGAccountObject account(&document1); 0576 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Account2Name(no transaction)")), true) 0577 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true) 0578 } 0579 } 0580 // End test 0581 SKGENDTEST() 0582 }