diff --git a/src/core/ActivityInfo.h b/src/core/ActivityInfo.h --- a/src/core/ActivityInfo.h +++ b/src/core/ActivityInfo.h @@ -132,7 +132,7 @@ void setName(const QString &); QString section() const; void setSection(const QString &); - quint32 difficulty() const; + quint32 difficulty() const; void setDifficulty(const int &); QString icon() const; void setIcon(const QString &); @@ -152,12 +152,12 @@ void setManual(const QString &); QString credit() const; void setCredit(const QString &); - bool favorite() const; - void setFavorite(const bool); - bool enabled() const; - void setEnabled(const bool); - int createdInVersion() const; - void setCreatedInVersion(const int); + bool favorite() const; + void setFavorite(const bool); + bool enabled() const; + void setEnabled(const bool); + int createdInVersion() const; + void setCreatedInVersion(const int); QStringList getSectionPath(); @@ -174,13 +174,15 @@ void prerequisiteChanged(); void manualChanged(); void creditChanged(); - void favoriteChanged(); - void enabledChanged(); + void favoriteChanged(); + void enabledChanged(); void createdInVersionChanged(); /// @endcond -private: +protected: QString m_name; + bool m_favorite; +private: QString m_section; int m_difficulty; QString m_icon; @@ -192,8 +194,7 @@ QString m_prerequisite; QString m_manual; QString m_credit; - bool m_favorite; - bool m_enabled; + bool m_enabled; int m_createdInVersion; }; diff --git a/tests/core/ActivityInfoTest.cpp b/tests/core/ActivityInfoTest.cpp --- a/tests/core/ActivityInfoTest.cpp +++ b/tests/core/ActivityInfoTest.cpp @@ -23,17 +23,45 @@ #include #include "src/core/ActivityInfo.h" +#include "ApplicationSettingsMock.h" #define ACTIVITY_INFO_TEST_ATTRIBUTE(attributeName, accessorName, attributeType) \ { \ QFETCH(attributeType, attributeName); \ - QSignalSpy spy(&activityinfo, &ActivityInfo::attributeName ## Changed); \ + QSignalSpy spy(&dummyActivityinfo, &ActivityInfo::attributeName ## Changed); \ QVERIFY(spy.count() == 0); \ - activityinfo.set ## accessorName(attributeName); \ + dummyActivityinfo.set ## accessorName(attributeName); \ QVERIFY(spy.count() == 1); \ - QCOMPARE(activityinfo.attributeName(), attributeName); \ + QCOMPARE(dummyActivityinfo.attributeName(), attributeName); \ } +class DummyActivityInfo : public ActivityInfo +{ +public: + DummyActivityInfo() : ActivityInfo(nullptr) + { + + } + + void setName(const QString &name) + { + ActivityInfo::m_name = name; + ApplicationSettingsMock applicationSettingsMock; + + if(!applicationSettingsMock.isKioskMode()) + ActivityInfo::m_favorite = applicationSettingsMock.isFavorite(m_name); + emit ActivityInfo::nameChanged(); + } + + void setFavorite(const bool favorite) + { + ActivityInfo::m_favorite = favorite; + ApplicationSettingsMock applicationSettingsMock; + applicationSettingsMock.setFavorite(m_name, m_favorite); + emit ActivityInfo::favoriteChanged(); + } +}; + class CoreActivityInfoTest : public QObject { Q_OBJECT @@ -67,22 +95,22 @@ void CoreActivityInfoTest::ActivityInfoTest() { - ActivityInfo activityinfo; + DummyActivityInfo dummyActivityinfo; - QCOMPARE(activityinfo.name(), QStringLiteral("")); - QCOMPARE(activityinfo.section(), QStringLiteral("")); - QCOMPARE(activityinfo.icon(), QStringLiteral("")); - QCOMPARE(activityinfo.author(), QStringLiteral("")); - QVERIFY(activityinfo.demo()); - QCOMPARE(activityinfo.title(), QStringLiteral("")); - QCOMPARE(activityinfo.description(), QStringLiteral("")); - QCOMPARE(activityinfo.goal(), QStringLiteral("")); - QCOMPARE(activityinfo.prerequisite(), QStringLiteral("")); - QCOMPARE(activityinfo.manual(), QStringLiteral("")); - QCOMPARE(activityinfo.credit(), QStringLiteral("")); - QVERIFY(!activityinfo.favorite()); - QVERIFY(activityinfo.enabled()); - QCOMPARE(activityinfo.createdInVersion(), 0); + QCOMPARE(dummyActivityinfo.name(), QStringLiteral("")); + QCOMPARE(dummyActivityinfo.section(), QStringLiteral("")); + QCOMPARE(dummyActivityinfo.icon(), QStringLiteral("")); + QCOMPARE(dummyActivityinfo.author(), QStringLiteral("")); + QVERIFY(dummyActivityinfo.demo()); + QCOMPARE(dummyActivityinfo.title(), QStringLiteral("")); + QCOMPARE(dummyActivityinfo.description(), QStringLiteral("")); + QCOMPARE(dummyActivityinfo.goal(), QStringLiteral("")); + QCOMPARE(dummyActivityinfo.prerequisite(), QStringLiteral("")); + QCOMPARE(dummyActivityinfo.manual(), QStringLiteral("")); + QCOMPARE(dummyActivityinfo.credit(), QStringLiteral("")); + QVERIFY(!dummyActivityinfo.favorite()); + QVERIFY(dummyActivityinfo.enabled()); + QCOMPARE(dummyActivityinfo.createdInVersion(), 0); ACTIVITY_INFO_TEST_ATTRIBUTE(name, Name, QString); ACTIVITY_INFO_TEST_ATTRIBUTE(section, Section, QString);