diff --git a/autotests/rocketchataccountsettingstest.h b/autotests/rocketchataccountsettingstest.h --- a/autotests/rocketchataccountsettingstest.h +++ b/autotests/rocketchataccountsettingstest.h @@ -31,6 +31,10 @@ ~RocketChatAccountSettingsTest() = default; private Q_SLOTS: void shouldHaveDefaultValues(); + void shouldEmitSignalWhenSetServerURLCalled(); + void shouldEmitSignalWhenUserNameChanged(); + void shouldEmitSignalWhenUserIDChanged(); + void shouldEmitSignalWhenLoginStatusChanged(); }; #endif // ROCKETCHATACCOUNTSETTINGSTEST_H diff --git a/autotests/rocketchataccountsettingstest.cpp b/autotests/rocketchataccountsettingstest.cpp --- a/autotests/rocketchataccountsettingstest.cpp +++ b/autotests/rocketchataccountsettingstest.cpp @@ -22,6 +22,7 @@ #include "rocketchataccountsettings.h" #include #include +#include QTEST_MAIN(RocketChatAccountSettingsTest) RocketChatAccountSettingsTest::RocketChatAccountSettingsTest(QObject *parent) @@ -29,46 +30,76 @@ { } +void RocketChatAccountSettingsTest::shouldEmitSignalWhenSetServerURLCalled() { + RocketChatAccountSettings *SampleChatAccount = new RocketChatAccountSettings; + + QSignalSpy SpyURL(SampleChatAccount, &RocketChatAccountSettings::serverURLChanged); + SampleChatAccount->setServerUrl(QStringLiteral("bla bla")); + QCOMPARE(SpyURL.count(), 1); + //QVERIFY(SpyURL.isValid()); //currenlty we don't know signal is valid or not! + + delete SampleChatAccount; +} + +void RocketChatAccountSettingsTest::shouldEmitSignalWhenUserNameChanged() { + RocketChatAccountSettings *SampleChat = new RocketChatAccountSettings; + + QSignalSpy SpyName(SampleChat, &RocketChatAccountSettings::userNameChanged); + SampleChat->setUserName(QStringLiteral("Donal Knuth")); + QCOMPARE(SpyName.count(), 1); + //QVERIFY(SpyName.isValid()); + + delete SampleChat; +} + +void RocketChatAccountSettingsTest::shouldEmitSignalWhenUserIDChanged() { + RocketChatAccountSettings *SampleChatAccount = new RocketChatAccountSettings; + + QSignalSpy SpyID(SampleChatAccount, &RocketChatAccountSettings::userIDChanged); + SampleChatAccount->setUserId(QStringLiteral("RA15")); + QCOMPARE(SpyID.count(), 1); + //QVERIFY(SpyID.isValid()); + + delete SampleChatAccount; +} + +void RocketChatAccountSettingsTest::shouldEmitSignalWhenLoginStatusChanged() { + RocketChatAccountSettings *SampleChatAccount = new RocketChatAccountSettings; + + QSignalSpy SpyLoginStatus(SampleChatAccount, &RocketChatAccountSettings::loginStatusChanged); + SampleChatAccount->logout();//Does this emit a signal?? + QCOMPARE(SpyLoginStatus.count(), 1); + //QVERIFY(SpyLoginStatus.isValid()); + + delete SampleChatAccount; +} + + /* * @brief * All the methods which have return value type as QString * in rocketchataccountsettings.h should return empty QString. * - * Check all the Q_Signals declared in rocketchataccountsettings.h * */ void RocketChatAccountSettingsTest::shouldHaveDefaultValues() { - RocketChatAccountSettings *SampleChatAccount = new RocketChatAccountSettings; - - QVERIFY(SampleChatAccount->accountName().isEmpty()); - QVERIFY(SampleChatAccount->authToken().isEmpty()); - QVERIFY(SampleChatAccount->cacheBasePath().isEmpty()); - QVERIFY(SampleChatAccount->userId().isEmpty()); - QVERIFY(SampleChatAccount->userName().isEmpty()); - QVERIFY(SampleChatAccount->password().isEmpty()); - QVERIFY(SampleChatAccount->serverUrl().isEmpty()); - - - - QSignalSpy SpyURL(SampleChatAccount, SIGNAL(serverURLChanged())); - SampleChatAccount->serverURLChanged(); - QVERIFY(SpyURL.isValid()); - - QSignalSpy SpyName(SampleChatAccount, SIGNAL(userNameChanged())); - SampleChatAccount->userNameChanged(); - QVERIFY(SpyName.isValid()); + QStack stack; + RocketChatAccountSettings *chat = new RocketChatAccountSettings; + stack.push(chat); - QSignalSpy SpyID(SampleChatAccount, SIGNAL(userIDChanged())); - SampleChatAccount->userIDChanged(); - QVERIFY(SpyID.isValid()); + QVERIFY(chat->accountName().isEmpty()); + QVERIFY(chat->authToken().isEmpty()); + QVERIFY(chat->cacheBasePath().isEmpty()); + QVERIFY(chat->userId().isEmpty()); + QVERIFY(chat->userName().isEmpty()); + QVERIFY(chat->password().isEmpty()); + QVERIFY(chat->serverUrl().isEmpty()); - QSignalSpy SpyLoginStatus(SampleChatAccount, SIGNAL(loginStatusChanged())); - SampleChatAccount->userIDChanged(); - QVERIFY(SpyLoginStatus.isValid()); + chat->loadSettings(); + qDebug() << chat->userId(); + QVERIFY(chat->userId().isEmpty()); + QVERIFY(chat->userName().isEmpty()); + QVERIFY(chat->authToken().isEmpty()); + QCOMPARE(chat->serverUrl(), QStringLiteral("demo.rocket.chat")); - SampleChatAccount->loadSettings(); - QVERIFY(SampleChatAccount->userId().isEmpty()); - QVERIFY(SampleChatAccount->userName().isEmpty()); - QVERIFY(SampleChatAccount->authToken().isEmpty()); - QCOMPARE(SampleChatAccount->serverUrl(), QStringLiteral("demo.rocket.chat")); }