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