@@ -0,0 +1,68 @@
1+/*
2+ * Copyright (C) 2015 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "SessionsModel.h"
18+
19+#include <QLightDM/SessionsModel>
20+#include <QtCore/QModelIndex>
21+#include <QtTest>
22+
23+class GreeterSessionsModelTest : public QObject
24+{
25+ Q_OBJECT
26+
27+private Q_SLOTS:
28+
29+ void init()
30+ {
31+ model = new SessionsModel();
32+ QVERIFY(model);
33+ sourceModel = new QLightDM::SessionsModel();
34+ QVERIFY(sourceModel);
35+ }
36+
37+ void cleanup()
38+ {
39+ delete model;
40+ delete sourceModel;
41+ }
42+
43+ void testMultupleSessionsCountIsCorrect()
44+ {
45+ sourceModel->setTestScenario("multipleSessions");
46+ QVERIFY(sourceModel->rowCount(QModelIndex()) > 1);
47+ }
48+
49+ void testNoSessionsCountIsCorrect()
50+ {
51+ sourceModel->setTestScenario("noSessions");
52+ QVERIFY(sourceModel->rowCount(QModelIndex()) == 0);
53+ }
54+
55+ void testSingleSessionCountIsCorrect()
56+ {
57+ sourceModel->setTestScenario("singleSession");
58+ QVERIFY(sourceModel->rowCount(QModelIndex()) == 1);
59+ }
60+
61+private:
62+ SessionsModel *model;
63+ QLightDM::SessionsModel *sourceModel;
64+};
65+
66+QTEST_MAIN(GreeterSessionsModelTest)
67+
68+#include "sessionsmodel.moc"