File indexing completed on 2024-06-09 05:02:04

0001 /*
0002     SPDX-FileCopyrightText: 2013-2016 Christian Dávid <christian-david@web.de>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #include "onlinejobadministration-test.h"
0007 
0008 #include <QTest>
0009 
0010 #include "onlinejobadministration.h"
0011 #include "mymoney/mymoneyfile.h"
0012 #include "mymoneyaccount.h"
0013 #include "onlinetasks/dummy/tasks/dummytask.h"
0014 #include "mymoneyexception.h"
0015 #include "mymoneyenums.h"
0016 #include "mymoneysecurity.h"
0017 
0018 QTEST_GUILESS_MAIN(onlineJobAdministrationTest)
0019 
0020 onlineJobAdministrationTest::onlineJobAdministrationTest()
0021     : file(nullptr)
0022 {
0023 }
0024 
0025 void onlineJobAdministrationTest::setupBaseCurrency()
0026 {
0027     file = MyMoneyFile::instance();
0028 
0029     MyMoneySecurity base("EUR", "Euro", QChar(0x20ac));
0030     MyMoneyFileTransaction ft;
0031     try {
0032         file->currency(base.id());
0033     } catch (const MyMoneyException&) {
0034         file->addCurrency(base);
0035     }
0036     file->setBaseCurrency(base);
0037     ft.commit();
0038 }
0039 
0040 
0041 void onlineJobAdministrationTest::initTestCase()
0042 {
0043     setupBaseCurrency();
0044     file = MyMoneyFile::instance();
0045 
0046     try {
0047         MyMoneyAccount account = MyMoneyAccount();
0048         account.setName("Test Account");
0049         account.setAccountType(eMyMoney::Account::Type::Savings);
0050         MyMoneyAccount asset = file->asset();
0051         MyMoneyFileTransaction transaction;
0052         file->addAccount(account, asset);
0053         accountId = account.id();
0054         transaction.commit();
0055     } catch (const MyMoneyException &ex) {
0056         QFAIL(qPrintable(QString::fromLatin1("Unexpected exception %1").arg(ex.what())));
0057     }
0058 }
0059 
0060 void onlineJobAdministrationTest::cleanupTestCase()
0061 {
0062 }
0063 
0064 void onlineJobAdministrationTest::init()
0065 {
0066     qDeleteAll(onlineJobAdministration::instance()->m_onlineTasks);
0067     onlineJobAdministration::instance()->m_onlineTasks.clear();
0068 }
0069 
0070 void onlineJobAdministrationTest::getSettings()
0071 {
0072 }
0073 
0074 void onlineJobAdministrationTest::registerOnlineTask()
0075 {
0076     dummyTask *task = new dummyTask;
0077     onlineJobAdministration::instance()->registerOnlineTask(task);
0078     QCOMPARE(onlineJobAdministration::instance()->m_onlineTasks.count(), 1);
0079     QVERIFY(onlineJobAdministration::instance()->m_onlineTasks.value(task->taskName()));
0080 }