Check interface validity before starting tests
[profile/ivi/ofono-qt.git] / tests / test_ofonophonebook.cpp
1 /*
2  * This file is part of ofono-qt
3  *
4  * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
5  *
6  * Contact: Alexander Kanavin <alexander.kanavin@nokia.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * version 2.1 as published by the Free Software Foundation.
11  *
12  * This library is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20  * 02110-1301 USA
21  *
22  */
23
24 #include <QtTest/QtTest>
25 #include <QtCore/QObject>
26
27 #include <ofonophonebook.h>
28
29 #include <QtDebug>
30
31 class TestOfonoPhonebook : public QObject
32 {
33     Q_OBJECT
34
35 private slots:
36
37     void initTestCase()
38     {
39         m = new OfonoPhonebook(OfonoModem::ManualSelect, "/phonesim", this);
40         QCOMPARE(m->modem()->isValid(), true);  
41
42         if (!m->modem()->powered()) {
43             m->modem()->setPowered(true);
44             QTest::qWait(5000);
45         }
46         if (!m->modem()->online()) {
47             m->modem()->setOnline(true);
48             QTest::qWait(5000);
49         }
50         QCOMPARE(m->isValid(), true);    
51     }
52
53     void testOfonoPhonebook()
54     {
55         QSignalSpy import(m, SIGNAL(importComplete(bool, QString)));    
56         m->import();
57
58         for (int i=0; i<30; i++) {
59             if (import.count() > 0)
60                 break;
61             QTest::qWait(1000);
62         }
63         QCOMPARE(import.count(), 1);
64         QVariantList list = import.takeFirst();
65         QCOMPARE(list.at(0).toBool(), true);    
66         QVERIFY(list.at(1).toStringList().length() > 0);
67     }
68
69
70     void cleanupTestCase()
71     {
72
73     }
74
75
76 private:
77     OfonoPhonebook *m;
78 };
79
80 QTEST_MAIN(TestOfonoPhonebook)
81 #include "test_ofonophonebook.moc"