1 /***************************************************************************
2 * SPDX-FileCopyrightText: 2021 S. MANKOWSKI stephane@mankowski.fr
3 * SPDX-FileCopyrightText: 2021 G. DE BURE support@mankowski.fr
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 ***************************************************************************/
6 /** @file
7 * This file is a test script.
8 *
9 * @author Stephane MANKOWSKI / Guillaume DE BURE
10 */
11 #include "skgtestmacro.h"
12 #include "skgbankincludes.h"
13 #include "skgimportexportmanager.h"
14
15 /**
16 * The main function of the unit test
17 * @param argc the number of arguments
18 * @param argv the list of arguments
19 */
main(int argc,char ** argv)20 int main(int argc, char** argv)
21 {
22 Q_UNUSED(argc)
23 Q_UNUSED(argv)
24
25 // Init test
26 SKGINITTEST(true)
27
28 {
29 // Test import GNUCASH
30 SKGDocumentBank document1;
31 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
32 SKGError err;
33 {
34 // Scope of the transaction
35 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
36 SKGImportExportManager impmissing(&document1, QUrl::fromLocalFile(QStringLiteral("/not-existing/missingfile.uncompressed")));
37 SKGTESTERROR(QStringLiteral("imp1.importFile"), impmissing.importFile(), false)
38
39 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/test_data.uncompressed"));
40 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
41 }
42
43 {
44 SKGAccountObject account(&document1);
45 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Accounts Receivable")), true)
46 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
47 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("231.11"))
48 }
49 }
50
51 {
52 // Test import GNUCASH
53 SKGDocumentBank document1;
54 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
55 SKGError err;
56 {
57 // Scope of the transaction
58 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
59
60 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/all.uncompressed"));
61 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
62 }
63
64 {
65 SKGAccountObject account(&document1);
66 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("COMPTE COURANT")), true)
67 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
68 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-700"))
69 }
70
71 {
72 SKGAccountObject account(&document1);
73 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("COMPTE EPARGNE")), true)
74 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
75 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("250"))
76 }
77
78 {
79 SKGAccountObject account(&document1);
80 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Actif")), true)
81 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
82 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-420"))
83 }
84
85 {
86 SKGAccountObject account(&document1);
87 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("TITRE")), true)
88 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
89 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("520"))
90 }
91 }
92
93 {
94 // Test import GNUCASH
95 SKGDocumentBank document1;
96 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
97 SKGError err;
98 {
99 // Scope of the transaction
100 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
101
102 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/initial_balance.uncompressed"));
103 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
104 }
105
106 {
107 SKGAccountObject account(&document1);
108 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CCP")), true)
109 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
110 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("100"))
111 }
112
113 int nb = 0;
114 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects(unit, PRIMARY)"), document1.getNbObjects(QStringLiteral("unit"), QStringLiteral("t_type='1'"), nb), true)
115 SKGTEST(QStringLiteral("GNUCASH:getNbObjects(unit, PRIMARY)"), nb, 1)
116 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects(unit, SHARE)"), document1.getNbObjects(QStringLiteral("unit"), QStringLiteral("t_type='S'"), nb), true)
117 SKGTEST(QStringLiteral("GNUCASH:getNbObjects(unit, SHARE)"), nb, 13)
118 }
119
120 {
121 // Test import GNUCASH
122 SKGDocumentBank document1;
123 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
124 SKGError err;
125 {
126 // Scope of the transaction
127 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
128
129 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/transfer-CPP-vers-PEE.uncompressed"));
130 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
131 }
132
133 {
134 SKGAccountObject account(&document1);
135 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CCP")), true)
136 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
137 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("750"))
138 }
139
140 {
141 SKGAccountObject account(&document1);
142 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CEL Donald")), true)
143 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
144 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("150"))
145 }
146
147 {
148 SKGAccountObject account(&document1);
149 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("PEEs")), true)
150 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
151 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("190"))
152 }
153
154 {
155 int nb = 0;
156 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects"), document1.getNbObjects(QStringLiteral("category"), QLatin1String(""), nb), true)
157 SKGTEST(QStringLiteral("GNUCASH:getNbObjects"), nb, 27)
158 }
159 }
160
161 {
162 // Test import GNUCASH
163 SKGDocumentBank document1;
164 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
165 SKGError err;
166 {
167 // Scope of the transaction
168 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
169
170 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/transfer-PEE-vers-CCP.uncompressed"));
171 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
172 }
173
174 {
175 SKGAccountObject account(&document1);
176 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CCP")), true)
177 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
178 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("1140"))
179 }
180
181 {
182 SKGAccountObject account(&document1);
183 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CEL Donald")), true)
184 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
185 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("150"))
186 }
187
188 {
189 SKGAccountObject account(&document1);
190 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("PEEs")), true)
191 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
192 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("100"))
193 }
194
195 {
196 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
197 SKGCategoryObject cat;
198 SKGTESTERROR(QStringLiteral("GNUCASH.createPathCategory"), SKGCategoryObject::createPathCategory(&document1, QStringLiteral("Depenses > Frais bancaires"), cat), true)
199 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(cat.getCurrentAmount()), QStringLiteral("-10"))
200 }
201
202 SKGTESTERROR(QStringLiteral("DOC:dump"), document1.dump(DUMPCATEGORY), true)
203 }
204
205 {
206 // Test import GNUCASH
207 SKGDocumentBank document1;
208 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
209 SKGError err;
210 {
211 // Scope of the transaction
212 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
213
214 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/interet-revenue-frais.gnucash"));
215 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
216 }
217
218 {
219 SKGAccountObject account(&document1);
220 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CCP")), true)
221 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
222 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("750"))
223 }
224
225 {
226 SKGAccountObject account(&document1);
227 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CEL Donald")), true)
228 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
229 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("150"))
230 }
231
232 {
233 SKGAccountObject account(&document1);
234 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("PEEs")), true)
235 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
236 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("640"))
237 }
238 }
239
240 {
241 // Test import GNUCASH
242 SKGDocumentBank document1;
243 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
244 SKGError err;
245 {
246 // Scope of the transaction
247 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
248
249 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/interet-revenue-frais-emprunt.gnucash"));
250 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
251 }
252
253 {
254 SKGAccountObject account(&document1);
255 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("CCP")), true)
256 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
257 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("250"))
258 }
259 {
260 SKGAccountObject account(&document1);
261 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Emprunts")), true)
262 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
263 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-99620"))
264 }
265 {
266 SKGAccountObject account(&document1);
267 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Maison")), true)
268 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
269 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("100000"))
270 }
271 }
272
273 {
274 // Test import GNUCASH
275 SKGDocumentBank document1;
276 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
277 SKGError err;
278 {
279 // Scope of the transaction
280 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
281
282 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/rapprochement-incorrect.uncompressed"));
283 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
284 }
285
286 {
287 int nb = 0;
288 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects"), document1.getNbObjects(QStringLiteral("operation"), QStringLiteral("t_status='Y'"), nb), true)
289 SKGTEST(QStringLiteral("GNUCASH:getNbObjects"), nb, 7)
290 }
291 }
292
293 {
294 // Test import GNUCASH
295 SKGDocumentBank document1;
296 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
297 SKGError err;
298 {
299 // Scope of the transaction
300 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
301
302 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/scheduled-action.uncompressed"));
303 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
304 }
305
306 {
307 SKGObjectBase::SKGListSKGObjectBase recurrentoperations;
308 SKGTESTERROR(QStringLiteral("GNUCASH:SKGListSKGObjectBase"), document1.getObjects(QStringLiteral("recurrentoperation"), QLatin1String(""), recurrentoperations), true)
309 SKGTEST(QStringLiteral("GNUCASH:nb"), recurrentoperations.count(), 1)
310 if (recurrentoperations.count() == 1) {
311 SKGRecurrentOperationObject recu(recurrentoperations.at(0));
312 SKGTEST(QStringLiteral("GNUCASH:getDate"), recu.getDate().toString(), QDate(2010, 03, 02).toString())
313 SKGTEST(QStringLiteral("GNUCASH:getAutoWriteDays"), recu.getAutoWriteDays(), 10)
314 SKGTEST(QStringLiteral("GNUCASH:getPeriodIncrement"), recu.getPeriodIncrement(), 1)
315 SKGTEST(QStringLiteral("GNUCASH:getPeriodUnit"), static_cast<unsigned int>(recu.getPeriodUnit()), static_cast<unsigned int>(SKGRecurrentOperationObject::MONTH))
316 SKGTEST(QStringLiteral("GNUCASH:getWarnDays"), recu.getWarnDays(), 0)
317 SKGTESTBOOL("GNUCASH:isAutoWriteEnabled", recu.isAutoWriteEnabled(), false)
318 SKGTESTBOOL("GNUCASH:isWarnEnabled", recu.isWarnEnabled(), false)
319 SKGTESTBOOL("GNUCASH:hasTimeLimit", recu.hasTimeLimit(), false)
320 }
321 }
322 }
323
324 {
325 // Test import GNUCASH - bug 228808
326 SKGDocumentBank document1;
327 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
328 SKGError err;
329 {
330 // Scope of the transaction
331 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
332
333 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/228808.gnc"));
334 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
335 }
336
337
338 {
339 SKGObjectBase::SKGListSKGObjectBase recurrentoperations;
340 SKGTESTERROR(QStringLiteral("GNUCASH:SKGListSKGObjectBase"), document1.getObjects(QStringLiteral("recurrentoperation"), QStringLiteral("1=1 ORDER BY d_date"), recurrentoperations), true)
341 SKGTEST(QStringLiteral("GNUCASH:nb"), recurrentoperations.count(), 2)
342 if (recurrentoperations.count() == 2) {
343 SKGRecurrentOperationObject recu(recurrentoperations.at(0));
344 SKGOperationObject op;
345 SKGTESTERROR(QStringLiteral("GNUCASH:getParentOperation"), recu.getParentOperation(op), true)
346 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), op.getCurrentAmount(), -50)
347
348 recu = recurrentoperations.at(1);
349 SKGTESTERROR(QStringLiteral("GNUCASH:getParentOperation"), recu.getParentOperation(op), true)
350 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), op.getCurrentAmount(), -18.75)
351 }
352 }
353 }
354
355 {
356 // Test import GNUCASH - bug 228904
357 SKGDocumentBank document1;
358 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
359 SKGError err;
360 {
361 // Scope of the transaction
362 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
363
364 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/228904.gnucash"));
365 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
366 }
367
368
369 {
370 SKGObjectBase::SKGListSKGObjectBase recurrentoperations;
371 SKGTESTERROR(QStringLiteral("GNUCASH:SKGListSKGObjectBase"), document1.getObjects(QStringLiteral("recurrentoperation"), QStringLiteral("1=1 ORDER BY d_date"), recurrentoperations), true)
372 SKGTEST(QStringLiteral("GNUCASH:nb"), recurrentoperations.count(), 3)
373 }
374 }
375
376 {
377 // Test import 228901
378 SKGDocumentBank document1;
379 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
380 SKGError err;
381 {
382 // Scope of the transaction
383 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
384
385 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/228901.gnucash"));
386 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
387 }
388
389 {
390 SKGAccountObject account(&document1);
391 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Compte emprunt")), true)
392 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
393 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-9476.01"))
394 }
395
396 // Test second import
397 {
398 // Scope of the transaction
399 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
400
401 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/228901.gnucash"));
402 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
403 }
404 }
405
406 {
407 // Test import 234608
408 SKGDocumentBank document1;
409 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
410 SKGError err;
411 {
412 // Scope of the transaction
413 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
414
415 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/234608.gnc"));
416 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
417 }
418 }
419
420 {
421 // Test import 234597
422 SKGDocumentBank document1;
423 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
424 SKGError err;
425 {
426 // Scope of the transaction
427 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
428
429 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/234597.gnc"));
430 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
431 }
432 {
433 int nb = 0;
434 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects"), document1.getNbObjects(QStringLiteral("account"), QLatin1String(""), nb), true)
435 SKGTEST(QStringLiteral("GNUCASH:getNbObjects"), nb, 11)
436 }
437 {
438 SKGAccountObject account(&document1);
439 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Compte cheques")), true)
440 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
441 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-260"))
442 }
443 {
444 SKGAccountObject account(&document1);
445 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Compte cheques (2)")), true)
446 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
447 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("-40"))
448 }
449 {
450 SKGAccountObject account(&document1);
451 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Argent du porte-monnaie")), true)
452 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
453 SKGTEST(QStringLiteral("GNUCASH:getCurrentAmount"), SKGServices::doubleToString(account.getCurrentAmount()), QStringLiteral("0"))
454 }
455 }
456
457 {
458 // Test import 243738
459 SKGDocumentBank document1;
460 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
461 SKGError err;
462 {
463 // Scope of the transaction
464 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
465
466 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/243738.gnucash"));
467 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
468 }
469 }
470
471 {
472 // Test import without book
473 SKGDocumentBank document1;
474 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
475 SKGError err;
476 {
477 // Scope of the transaction
478 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
479
480 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/without_book.gnucash"));
481 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
482 }
483 }
484
485 {
486 // Test import 302388
487 SKGDocumentBank document1;
488 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
489 SKGError err;
490 {
491 // Scope of the transaction
492 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
493
494 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/302388.gnc"));
495 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), false)
496 }
497 }
498
499 {
500 // Test import 325174
501 SKGDocumentBank document1;
502 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
503 SKGError err;
504 {
505 // Scope of the transaction
506 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
507
508 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/325174.gnucash"));
509 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
510 }
511
512 int nb = 0;
513 SKGTESTERROR(QStringLiteral("GNUCASH:getNbObjects(account)"), document1.getNbObjects(QStringLiteral("account"), QLatin1String(""), nb), true)
514 SKGTEST(QStringLiteral("GNUCASH:getNbObjects(account)"), nb, 11)
515 }
516
517 {
518 // Test import wallet
519 SKGDocumentBank document1;
520 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
521 SKGError err;
522 {
523 // Scope of the transaction
524 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
525
526 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/wallet.gnucash"));
527 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
528 }
529
530 {
531 SKGAccountObject account(&document1);
532 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Espece")), true)
533 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
534 SKGBankObject bank;
535 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.getBank(bank), true)
536 SKGTEST(QStringLiteral("GNUCASH:getName"), bank.getName(), QLatin1String(""))
537 }
538 {
539 SKGAccountObject account(&document1);
540 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Courant")), true)
541 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
542 SKGBankObject bank;
543 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.getBank(bank), true)
544 SKGTEST(QStringLiteral("GNUCASH:getName"), bank.getName(), QStringLiteral("GNUCASH"))
545 }
546 }
547
548
549 {
550 // 407257
551 SKGDocumentBank document1;
552 SKGTESTERROR(QStringLiteral("document1.initialize()"), document1.initialize(), true)
553 SKGError err;
554 {
555 // Scope of the transaction
556 SKGBEGINTRANSACTION(document1, QStringLiteral("IMPORT_GNUCASH"), err)
557
558 SKGImportExportManager imp1(&document1, QUrl::fromLocalFile(SKGTest::getTestPath(QStringLiteral("IN")) % "/skgtestimportgnucash/407257.gnucash"));
559 SKGTESTERROR(QStringLiteral("GNUCASH.importFile"), imp1.importFile(), true)
560 }
561
562 {
563 SKGAccountObject account(&document1);
564 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("AccountName (Nom de compte)")), true)
565 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
566 SKGTEST(QStringLiteral("GNUCASH:getNumber"), account.getNumber(), QStringLiteral("123_AccountCode(CodeCompte)"))
567 SKGTEST(QStringLiteral("GNUCASH:getComment"), account.getComment(), QStringLiteral("DescriptionAccount(Compte123)"))
568
569 SKGUnitObject unit;
570 SKGTESTERROR(QStringLiteral("GNUCASH.getUnit"), account.getUnit(unit), true)
571 SKGTEST(QStringLiteral("GNUCASH:getName"), unit.getName(), QStringLiteral("Canadian Dollar (CAD)"))
572 }
573
574 {
575 SKGAccountObject account(&document1);
576 SKGTESTERROR(QStringLiteral("GNUCASH.setName"), account.setName(QStringLiteral("Account2Name(no transaction)")), true)
577 SKGTESTERROR(QStringLiteral("GNUCASH.load"), account.load(), true)
578 }
579 }
580 // End test
581 SKGENDTEST()
582 }
583