From a72af9cba542ebde03047d7fc24ff1f2c3f5639b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Tue, 13 Feb 2024 10:21:35 -0500
Subject: [PATCH] tests: add example for mocking datas

Change-Id: I060a991726bc8c1cd57f267d97833dcd04519bab
---
 .../components/AccountComboBoxPopup.qml       |  1 +
 tests/qml/src/tst_AccountComboBox.qml         | 51 +++++++++++++++++++
 2 files changed, 52 insertions(+)
 create mode 100644 tests/qml/src/tst_AccountComboBox.qml

diff --git a/src/app/mainview/components/AccountComboBoxPopup.qml b/src/app/mainview/components/AccountComboBoxPopup.qml
index 2f1b633a5..745ec4915 100644
--- a/src/app/mainview/components/AccountComboBoxPopup.qml
+++ b/src/app/mainview/components/AccountComboBoxPopup.qml
@@ -223,6 +223,7 @@ Popup {
 
         JamiListView {
             id: listView
+            objectName: "accountList"
 
             Layout.fillHeight: true
             Layout.preferredWidth: parent.width
diff --git a/tests/qml/src/tst_AccountComboBox.qml b/tests/qml/src/tst_AccountComboBox.qml
new file mode 100644
index 000000000..47479a4b7
--- /dev/null
+++ b/tests/qml/src/tst_AccountComboBox.qml
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 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 net.jami.Adapters 1.1
+import net.jami.Models 1.1
+import net.jami.Constants 1.1
+import net.jami.Enums 1.1
+
+import "../../../src/app/"
+import "../../../src/app/mainview"
+import "../../../src/app/mainview/components"
+import "../../../src/app/commoncomponents"
+
+TestWrapper {
+    AccountComboBoxPopup {
+        id: uut
+
+        function loadMockData() {
+            return JSON.parse('[\
+                {"Alias":"Foo","ID":"a2d724d18a943e6c","NotificationCount":0,"Status":5,"Type":1,"Username":"foo"}, \
+                {"Alias":"Bar","ID":"8a22b7d0176327db","NotificationCount":0,"Status":5,"Type":1,"Username":"bar"}, \
+                {"Alias":"TEST JAMI","ID":"3b7d2b9e2af83a47","NotificationCount":0,"Status":5,"Type":2,"Username":"696"}, \
+                {"Alias":"Whatever","ID":"131ad59045a9a146","NotificationCount":0,"Status":5,"Type":1,"Username":"whatever"}]')
+        }
+
+        TestCase {
+            name: "Check model size"
+            function test_checkModelSize() {
+                var accountList = findChild(uut, "accountList")
+                accountList.model = uut.loadMockData()
+                compare(accountList.model.length, 4)
+            }
+        }
+    }
+}
-- 
GitLab