21 #include "logsdbconnector.h" |
21 #include "logsdbconnector.h" |
22 #include "logsdbconnector_stub_helper.h" |
22 #include "logsdbconnector_stub_helper.h" |
23 #include "qtcontacts_stubs_helper.h" |
23 #include "qtcontacts_stubs_helper.h" |
24 #include "qthighway_stub_helper.h" |
24 #include "qthighway_stub_helper.h" |
25 |
25 |
26 #include <xqservicerequest.h> |
26 #include <xqaiwrequest.h> |
27 #include <QtTest/QtTest> |
27 #include <QtTest/QtTest> |
28 |
28 |
29 const int logsContactsLocalIdTest1 = 1; |
29 const int logsContactsLocalIdTest1 = 1; |
30 const QString logsFetchService = "com.nokia.services.phonebookservices.Fetch"; |
30 const char logsIContactsView[] = "com.nokia.symbian.IContactsView"; |
|
31 const char logsIContactsEdit[] = "com.nokia.symbian.IContactsEdit"; |
|
32 |
31 |
33 |
32 void UT_LogsContact::initTestCase() |
34 void UT_LogsContact::initTestCase() |
33 { |
35 { |
34 mDbConnector = new LogsDbConnector(mEvents); |
36 mDbConnector = new LogsDbConnector(mEvents); |
35 mLogsContact = 0; |
37 mLogsContact = 0; |
99 } |
101 } |
100 |
102 |
101 void UT_LogsContact::testOpen() |
103 void UT_LogsContact::testOpen() |
102 { |
104 { |
103 //contact not in phonebook, can't open |
105 //contact not in phonebook, can't open |
104 QVERIFY( !mLogsContact->mService ); |
106 QVERIFY( !mLogsContact->mAiwRequest ); |
105 QVERIFY( !mLogsContact->open() ); |
107 QVERIFY( !mLogsContact->open() ); |
106 QVERIFY( !mLogsContact->mService ); |
108 QVERIFY( !mLogsContact->mAiwRequest ); |
107 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactSave ); |
109 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactSave ); |
108 |
110 |
109 //contact is in phonebook, open is ok |
111 //contact is in phonebook, open is ok |
110 QtHighwayStubHelper::reset(); |
112 QtHighwayStubHelper::reset(); |
111 mLogsEvent->logsEventData()->setContactLocalId(2); |
113 mLogsEvent->logsEventData()->setContactLocalId(2); |
112 QtContactsStubsHelper::setContactId(2); |
114 QtContactsStubsHelper::setContactId(2); |
113 delete mLogsContact; |
115 delete mLogsContact; |
114 mLogsContact = 0; |
116 mLogsContact = 0; |
115 mLogsContact = new LogsContact(*mLogsEvent, *mDbConnector); |
117 mLogsContact = new LogsContact(*mLogsEvent, *mDbConnector); |
116 QVERIFY( mLogsContact->open() ); |
118 QVERIFY( mLogsContact->open() ); |
117 QVERIFY( mLogsContact->mService ); |
119 QVERIFY( mLogsContact->mAiwRequest ); |
118 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactOpen ); |
120 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactOpen ); |
119 QVERIFY( mLogsContact->mService->service() == logsFetchService ); |
121 QVERIFY( mLogsContact->mAiwRequest->descriptor().interfaceName() |
120 QVERIFY( mLogsContact->mService->message() == "open(int)" ); |
122 == logsIContactsView ); |
121 QVERIFY( QtHighwayStubHelper::isRequestEmbedded() ); |
123 QVERIFY( mLogsContact->mAiwRequest->operation() == "openContactCard(int)" ); |
|
124 QVERIFY( QtHighwayStubHelper::isRequestEmbedded() ); |
|
125 QVERIFY( !QtHighwayStubHelper::isRequestSynchronous() ); |
122 |
126 |
123 // Same but without using logsevent at construction |
127 // Same but without using logsevent at construction |
124 QtHighwayStubHelper::reset(); |
128 QtHighwayStubHelper::reset(); |
125 LogsContact contactWithoutEvent("2345", *mDbConnector, 2); |
129 LogsContact contactWithoutEvent("2345", *mDbConnector, 2); |
126 QVERIFY( contactWithoutEvent.open() ); |
130 QVERIFY( contactWithoutEvent.open() ); |
127 QVERIFY( contactWithoutEvent.mService ); |
131 QVERIFY( contactWithoutEvent.mAiwRequest ); |
128 QVERIFY( contactWithoutEvent.mCurrentRequest == LogsContact::TypeLogsContactOpen ); |
132 QVERIFY( contactWithoutEvent.mCurrentRequest == LogsContact::TypeLogsContactOpen ); |
129 QVERIFY( contactWithoutEvent.mService->service() == logsFetchService ); |
133 QVERIFY( contactWithoutEvent.mAiwRequest->descriptor().interfaceName() |
130 QVERIFY( contactWithoutEvent.mService->message() == "open(int)" ); |
134 == logsIContactsView ); |
131 QVERIFY( QtHighwayStubHelper::isRequestEmbedded() ); |
135 QVERIFY( contactWithoutEvent.mAiwRequest->operation() == "openContactCard(int)" ); |
|
136 QVERIFY( QtHighwayStubHelper::isRequestEmbedded() ); |
|
137 QVERIFY( !QtHighwayStubHelper::isRequestSynchronous() ); |
|
138 |
|
139 // Request sending failed |
|
140 QtHighwayStubHelper::reset(); |
|
141 QtHighwayStubHelper::setFailCreateAiwRequest(true); |
|
142 QVERIFY( !contactWithoutEvent.open() ); |
132 } |
143 } |
133 |
144 |
134 void UT_LogsContact::testAddNew() |
145 void UT_LogsContact::testAddNew() |
135 { |
146 { |
136 //no caller ID, contact won't be saved |
147 //no caller ID, contact won't be saved |
137 mLogsEvent->setEventType(LogsEvent::TypeVoiceCall); |
148 mLogsEvent->setEventType(LogsEvent::TypeVoiceCall); |
138 QVERIFY( mLogsEvent->getNumberForCalling().isEmpty() ); |
149 QVERIFY( mLogsEvent->getNumberForCalling().isEmpty() ); |
139 QVERIFY( !mLogsContact->addNew() ); |
150 QVERIFY( !mLogsContact->addNew() ); |
140 QVERIFY( !mLogsContact->mService ); |
151 QVERIFY( !mLogsContact->mAiwRequest ); |
141 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactSave ); |
152 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactSave ); |
142 |
153 |
143 //called ID present, contact not in phonebook => save is ok |
154 //called ID present, contact not in phonebook => save is ok |
144 QtHighwayStubHelper::reset(); |
155 QtHighwayStubHelper::reset(); |
145 mLogsEvent->setNumber(QString::number(12345)); |
156 mLogsEvent->setNumber(QString::number(12345)); |
148 mLogsContact = 0; |
159 mLogsContact = 0; |
149 mLogsContact = new LogsContact(*mLogsEvent, *mDbConnector); |
160 mLogsContact = new LogsContact(*mLogsEvent, *mDbConnector); |
150 QVERIFY( !mLogsEvent->getNumberForCalling().isEmpty() ); |
161 QVERIFY( !mLogsEvent->getNumberForCalling().isEmpty() ); |
151 QVERIFY( !mLogsContact->isContactInPhonebook() ); |
162 QVERIFY( !mLogsContact->isContactInPhonebook() ); |
152 QVERIFY( mLogsContact->addNew() ); |
163 QVERIFY( mLogsContact->addNew() ); |
153 QVERIFY( mLogsContact->mService ); |
164 QVERIFY( mLogsContact->mAiwRequest ); |
154 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactSave ); |
165 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactSave ); |
155 QVERIFY( mLogsContact->mService->service() == logsFetchService ); |
166 QVERIFY( mLogsContact->mAiwRequest->descriptor().interfaceName() |
156 QVERIFY( mLogsContact->mService->message() == "editCreateNew(QString,QString)" ); |
167 == logsIContactsEdit ); |
157 QVERIFY( QtHighwayStubHelper::isRequestEmbedded() ); |
168 QVERIFY( mLogsContact->mAiwRequest->operation() == "editCreateNew(QString,QString)" ); |
158 |
169 QVERIFY( QtHighwayStubHelper::isRequestEmbedded() ); |
|
170 QVERIFY( !QtHighwayStubHelper::isRequestSynchronous() ); |
|
171 |
159 //caller ID present, contact is in phonebook => save is ok |
172 //caller ID present, contact is in phonebook => save is ok |
160 QtHighwayStubHelper::reset(); |
173 QtHighwayStubHelper::reset(); |
161 mLogsEvent->setEventType(LogsEvent::TypeVoIPCall); |
174 mLogsEvent->setEventType(LogsEvent::TypeVoIPCall); |
162 mLogsEvent->setNumber(""); |
175 mLogsEvent->setNumber(""); |
163 mLogsEvent->logsEventData()->mRemoteUrl = "someurl@blah"; |
176 mLogsEvent->logsEventData()->mRemoteUrl = "someurl@blah"; |
166 delete mLogsContact; |
179 delete mLogsContact; |
167 mLogsContact = 0; |
180 mLogsContact = 0; |
168 mLogsContact = new LogsContact(*mLogsEvent, *mDbConnector); |
181 mLogsContact = new LogsContact(*mLogsEvent, *mDbConnector); |
169 QVERIFY( mLogsContact->isContactInPhonebook() ); |
182 QVERIFY( mLogsContact->isContactInPhonebook() ); |
170 QVERIFY( mLogsContact->addNew() ); |
183 QVERIFY( mLogsContact->addNew() ); |
171 QVERIFY( mLogsContact->mService ); |
184 QVERIFY( mLogsContact->mAiwRequest ); |
172 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactSave ); |
185 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactSave ); |
173 QVERIFY( mLogsContact->mService->service() == logsFetchService ); |
186 QVERIFY( mLogsContact->mAiwRequest->descriptor().interfaceName() |
174 QVERIFY( mLogsContact->mService->message() == "editCreateNew(QString,QString)" ); |
187 == logsIContactsEdit ); |
175 QVERIFY( QtHighwayStubHelper::isRequestEmbedded() ); |
188 QVERIFY( mLogsContact->mAiwRequest->operation() == "editCreateNew(QString,QString)" ); |
|
189 QVERIFY( QtHighwayStubHelper::isRequestEmbedded() ); |
|
190 QVERIFY( !QtHighwayStubHelper::isRequestSynchronous() ); |
176 } |
191 } |
177 |
192 |
178 void UT_LogsContact::testUpdateExisting() |
193 void UT_LogsContact::testUpdateExisting() |
179 { |
194 { |
180 //caller ID present, contact is in phonebook => update is ok |
195 //caller ID present, contact is in phonebook => update is ok |
186 delete mLogsContact; |
201 delete mLogsContact; |
187 mLogsContact = 0; |
202 mLogsContact = 0; |
188 mLogsContact = new LogsContact(*mLogsEvent, *mDbConnector); |
203 mLogsContact = new LogsContact(*mLogsEvent, *mDbConnector); |
189 QVERIFY( mLogsContact->isContactInPhonebook() ); |
204 QVERIFY( mLogsContact->isContactInPhonebook() ); |
190 QVERIFY( mLogsContact->updateExisting() ); |
205 QVERIFY( mLogsContact->updateExisting() ); |
191 QVERIFY( mLogsContact->mService ); |
206 QVERIFY( mLogsContact->mAiwRequest ); |
192 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactSave ); |
207 QVERIFY( mLogsContact->mCurrentRequest == LogsContact::TypeLogsContactSave ); |
193 QVERIFY( mLogsContact->mService->service() == logsFetchService ); |
208 QVERIFY( mLogsContact->mAiwRequest->descriptor().interfaceName() |
194 QVERIFY( mLogsContact->mService->message() == "editUpdateExisting(QString,QString)" ); |
209 == logsIContactsEdit ); |
195 QVERIFY( QtHighwayStubHelper::isRequestEmbedded() ); |
210 QVERIFY( mLogsContact->mAiwRequest->operation() == "editUpdateExisting(QString,QString)" ); |
|
211 QVERIFY( QtHighwayStubHelper::isRequestEmbedded() ); |
|
212 QVERIFY( !QtHighwayStubHelper::isRequestSynchronous() ); |
196 } |
213 } |
197 |
214 |
198 void UT_LogsContact::testIsContactInPhonebook() |
215 void UT_LogsContact::testIsContactInPhonebook() |
199 { |
216 { |
200 QVERIFY( !mLogsContact->isContactInPhonebook() ); |
217 QVERIFY( !mLogsContact->isContactInPhonebook() ); |