From f1f521973b5b25731045a795a752154ce1de082b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois-Simon=20Fauteux-Chapleau?=
 <francois-simon.fauteux-chapleau@savoirfairelinux.com>
Date: Fri, 5 Jan 2024 11:24:43 -0500
Subject: [PATCH] tests/qml: add test for 'About Jami' button on welcome page

GitLab: #1484
Change-Id: I4f8f577c2039ef4a2fc9e4ed731d540e26563b61
---
 src/app/mainview/components/WelcomePage.qml |  2 +
 tests/qml/src/tst_WelcomePage.qml           | 55 +++++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 tests/qml/src/tst_WelcomePage.qml

diff --git a/src/app/mainview/components/WelcomePage.qml b/src/app/mainview/components/WelcomePage.qml
index 30588b711..b62b4eaae 100644
--- a/src/app/mainview/components/WelcomePage.qml
+++ b/src/app/mainview/components/WelcomePage.qml
@@ -258,6 +258,8 @@ ListSelectionView {
                 MaterialButton {
                     id: aboutJami
 
+                    objectName: "aboutJami"
+
                     TextMetrics {
                         id: textSize
                         font.weight: Font.Bold
diff --git a/tests/qml/src/tst_WelcomePage.qml b/tests/qml/src/tst_WelcomePage.qml
new file mode 100644
index 000000000..f4b0908a0
--- /dev/null
+++ b/tests/qml/src/tst_WelcomePage.qml
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2021-2024 Savoir-faire Linux Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+
+import QtQuick
+import QtTest
+
+import "../../../src/app/"
+import "../../../src/app/mainview/components"
+
+WelcomePage {
+    id: uut
+
+    width: 800
+    height: 600
+
+    // The appWindow, viewManager and viewCoordinator properties
+    // are required in order for the "aboutJami" button to work.
+    property Item appWindow: uut
+    property ViewManager viewManager: ViewManager {
+    }
+    property ViewCoordinator viewCoordinator: ViewCoordinator {
+        viewManager: uut.viewManager
+    }
+
+    TestCase {
+        name: "Open 'About Jami' popup"
+
+        function test_openAboutPopup() {
+            compare(viewManager.viewCount(), 0)
+
+            var aboutJamiButton = findChild(uut, "aboutJami")
+            aboutJamiButton.clicked()
+
+            compare(viewManager.viewCount(), 1)
+
+            var aboutJamiPopup = viewManager.getView("AboutPopUp")
+            verify(aboutJamiPopup !== null)
+            compare(aboutJamiPopup.visible, true)
+        }
+    }
+}
\ No newline at end of file
-- 
GitLab