From eeae3eca6719a43a3dd868c37e9f31b4463f4924 Mon Sep 17 00:00:00 2001 From: flow Date: Thu, 7 Apr 2022 19:42:26 -0300 Subject: [PATCH] test: add new test to Task test Also adds one more check to setStatus test --- launcher/tasks/Task_test.cpp | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/launcher/tasks/Task_test.cpp b/launcher/tasks/Task_test.cpp index a9a28bd0..9b6cc2e5 100644 --- a/launcher/tasks/Task_test.cpp +++ b/launcher/tasks/Task_test.cpp @@ -6,23 +6,49 @@ /* Does nothing. Only used for testing. */ class BasicTask : public Task { Q_OBJECT - public: - explicit BasicTask() : Task() {}; + + friend class TaskTest; + private: void executeTask() override {}; }; +/* Does nothing. Only used for testing. */ +class BasicTask_MultiStep : public Task { + Q_OBJECT + + friend class TaskTest; + + private: + auto isMultiStep() const -> bool override { return true; } + + void executeTask() override {}; +}; + class TaskTest : public QObject { Q_OBJECT private slots: - void test_SetStatus(){ + void test_SetStatus_NoMultiStep(){ BasicTask t; QString status {"test status"}; t.setStatus(status); QCOMPARE(t.getStatus(), status); + QCOMPARE(t.getStepStatus(), status); + } + + void test_SetStatus_MultiStep(){ + BasicTask_MultiStep t; + QString status {"test status"}; + + t.setStatus(status); + + QCOMPARE(t.getStatus(), status); + // Even though it is multi step, it does not override the getStepStatus method, + // so it should remain the same. + QCOMPARE(t.getStepStatus(), status); } void test_SetProgress(){