From 1b97933401b77cc46a1bc12c67c8e076f4ae116b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 2 Jan 2026 20:37:32 +0000 Subject: [PATCH 1/4] Initial plan From 8e723f2c9f7681eabdabba3758ea128068804c23 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 2 Jan 2026 20:48:14 +0000 Subject: [PATCH 2/4] Fix all qt_app tests - ensure migrations run in demo mode and add missing test initialization Co-authored-by: doumdi <711286+doumdi@users.noreply.github.com> --- qt_app/CMakeLists.txt | 22 +++++++++++----------- qt_app/src/database/database.cpp | 10 ++++------ qt_app/tests/test_timeentrymanager.cpp | 16 ++++++++++++++++ 3 files changed, 31 insertions(+), 17 deletions(-) diff --git a/qt_app/CMakeLists.txt b/qt_app/CMakeLists.txt index c04e98e..fa397ea 100644 --- a/qt_app/CMakeLists.txt +++ b/qt_app/CMakeLists.txt @@ -142,17 +142,6 @@ set(TS_FILES translations/app_fr.ts ) -# Create translation targets (Qt 6.2+) -if(COMMAND qt6_add_translations) - qt6_add_translations(${PROJECT_NAME} - TS_FILES ${TS_FILES} - RESOURCE_PREFIX "/translations" - ) -else() - # Fallback for older Qt versions - qt_add_translation(QM_FILES ${TS_FILES}) -endif() - # Create lib that will be reused everywhere add_library(${PROJECT_NAME}_static_lib STATIC ${SOURCES} ${HEADERS}) target_link_libraries(${PROJECT_NAME}_static_lib PUBLIC @@ -218,6 +207,17 @@ target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Concurrent ) +# Create translation targets (Qt 6.2+) +if(COMMAND qt6_add_translations) + qt6_add_translations(${PROJECT_NAME} + TS_FILES ${TS_FILES} + RESOURCE_PREFIX "/translations" + ) +else() + # Fallback for older Qt versions + qt_add_translation(QM_FILES ${TS_FILES}) +endif() + # Install rules install(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION . diff --git a/qt_app/src/database/database.cpp b/qt_app/src/database/database.cpp index 7437714..795bb34 100644 --- a/qt_app/src/database/database.cpp +++ b/qt_app/src/database/database.cpp @@ -86,12 +86,10 @@ bool Database::initialize(const QString &dbPath) return false; } - // Run migrations if not in demo mode - if (!m_demoMode) { - if (!runMigrations()) { - qCritical() << "Failed to run migrations"; - return false; - } + // Run migrations + if (!runMigrations()) { + qCritical() << "Failed to run migrations"; + return false; } m_initialized = true; diff --git a/qt_app/tests/test_timeentrymanager.cpp b/qt_app/tests/test_timeentrymanager.cpp index 107b76e..1473bfd 100644 --- a/qt_app/tests/test_timeentrymanager.cpp +++ b/qt_app/tests/test_timeentrymanager.cpp @@ -1,11 +1,24 @@ #include #include "../include/managers/timeentrymanager.h" +#include "../include/database/database.h" +#include class TestTimeEntryManager : public QObject { Q_OBJECT private slots: + void initTestCase() + { + Database* db = Database::instance(); + db->setDemoMode(true); + db->initialize(); + + // Create a test project + QSqlQuery query(db->database()); + query.exec("INSERT INTO projects (id, name, description, color, is_active) VALUES (1, 'Test Project', 'Test Description', '#FF0000', 1)"); + } + void testTimerStartStop() { TimeEntryManager manager; @@ -14,6 +27,9 @@ private slots: QVERIFY(manager.startTimer(1, -1, "Test")); QVERIFY(manager.timerRunning()); + // Wait a bit so we have some elapsed time + QTest::qWait(100); + QVERIFY(manager.stopTimer()); QVERIFY(!manager.timerRunning()); } From dc3f0868079f41ff4065dc883cc2ee6ce8f18a87 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 2 Jan 2026 20:50:15 +0000 Subject: [PATCH 3/4] Add error checking to test SQL queries and fix project insert statement Co-authored-by: doumdi <711286+doumdi@users.noreply.github.com> --- qt_app/tests/test_timeentrymanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qt_app/tests/test_timeentrymanager.cpp b/qt_app/tests/test_timeentrymanager.cpp index 1473bfd..a9229f9 100644 --- a/qt_app/tests/test_timeentrymanager.cpp +++ b/qt_app/tests/test_timeentrymanager.cpp @@ -12,11 +12,11 @@ private slots: { Database* db = Database::instance(); db->setDemoMode(true); - db->initialize(); + QVERIFY(db->initialize()); // Create a test project QSqlQuery query(db->database()); - query.exec("INSERT INTO projects (id, name, description, color, is_active) VALUES (1, 'Test Project', 'Test Description', '#FF0000', 1)"); + QVERIFY(query.exec("INSERT INTO projects (id, name, description, color) VALUES (1, 'Test Project', 'Test Description', '#FF0000')")); } void testTimerStartStop() From 600c411727e8e8745204549568d41fb0aad1377b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 2 Jan 2026 20:54:16 +0000 Subject: [PATCH 4/4] Fix Qt app tests - enable migrations in demo mode Co-authored-by: doumdi <711286+doumdi@users.noreply.github.com> --- _codeql_detected_source_root | 1 + 1 file changed, 1 insertion(+) create mode 120000 _codeql_detected_source_root diff --git a/_codeql_detected_source_root b/_codeql_detected_source_root new file mode 120000 index 0000000..945c9b4 --- /dev/null +++ b/_codeql_detected_source_root @@ -0,0 +1 @@ +. \ No newline at end of file