1 #include "SayonaraTest.h"
2 #include "PlayManagerMock.h"
3 
4 #include "Database/Connector.h"
5 
6 #include "Utils/FileUtils.h"
7 #include "Utils/Logger/Logger.h"
8 #include "Utils/Settings/Settings.h"
9 #include "Utils/StandardPaths.h"
10 #include "Utils/Utils.h"
11 
12 #include <QStandardPaths>
13 #include <QApplication>
14 #include <QDir>
15 
16 using Test::Base;
17 
18 // needs to be done in global namespace
init_resources()19 static void init_resources()
20 {
21 	Q_INIT_RESOURCE(Test);
22 	Q_INIT_RESOURCE(Database);
23 	Q_INIT_RESOURCE(Resources);
24 }
25 
Base(const QString & testName)26 Test::Base::Base(const QString& testName) :
27 	QObject(),
28 	mTmpPath(Util::tempPath(testName))
29 {
30 	Util::File::removeFilesInDirectory(QDir::home().absoluteFilePath(".qttest"));
31 
32 	Util::File::createDirectories(mTmpPath);
33 	QStandardPaths::setTestModeEnabled(true);
34 	QApplication::setApplicationName("sayonara");
35 
36 	init_resources();
37 	DB::Connector::instance_custom("", mTmpPath, "");
38 	Settings* s = Settings::instance();
39 	s->checkSettings();
40 	s->set<Set::Logger_Level>( int(Log::Develop) );
41 
42 	this->setObjectName(testName);
43 }
44 
~Base()45 Test::Base::~Base()
46 {
47 	Util::File::deleteFiles({mTmpPath});
48 	Util::File::removeFilesInDirectory(QDir::home().absoluteFilePath(".qttest"));
49 }
50 
tempPath() const51 QString Test::Base::tempPath() const
52 {
53 	return mTmpPath;
54 }
55 
tempPath(const QString & append) const56 QString Test::Base::tempPath(const QString& append) const
57 {
58 	QDir d(tempPath());
59 	return d.absoluteFilePath(append);
60 }
61