logsui/logsengine/tsrc/ut_logsengine/src/ut_logscall.cpp
changeset 16 c5af8598d22c
parent 10 b04270301d3b
child 21 2f0af9ba7665
--- a/logsui/logsengine/tsrc/ut_logsengine/src/ut_logscall.cpp	Wed Aug 18 09:49:12 2010 +0300
+++ b/logsui/logsengine/tsrc/ut_logsengine/src/ut_logscall.cpp	Thu Sep 02 20:27:05 2010 +0300
@@ -20,9 +20,12 @@
 #include "logsevent.h"
 #include "logseventdata.h"
 #include "qthighway_stub_helper.h"
+#include "hbstubs_helper.h"
 
 #include <QtTest/QtTest>
 
+const char logsICallDial[] = "phoneui.com.nokia.symbian.ICallDial";
+
 void UT_LogsCall::initTestCase()
 {
 }
@@ -53,18 +56,22 @@
     QVERIFY( mLogsCall );
     QVERIFY( mLogsCall->mDefaultCall == LogsCall::TypeLogsVoiceCall );
     QVERIFY( mLogsCall->mNumber == QString::number(12345) );
+    QCOMPARE( mLogsCall->mContactId, (unsigned int)0 );
     
     LogsCall callWithContact(2, "2222" );
     QVERIFY( callWithContact.mDefaultCall == LogsCall::TypeLogsVoiceCall );
     QVERIFY( callWithContact.mNumber == "2222" );
+    QCOMPARE( callWithContact.mContactId, (unsigned int)2 );
     
     LogsCall callWithContact2(2, "user@server.com" );
     QVERIFY( callWithContact2.mDefaultCall == LogsCall::TypeLogsVoiceCall );
     QVERIFY( callWithContact2.mNumber == "user@server.com" );
+    QCOMPARE( callWithContact2.mContactId, (unsigned int)2 );
     
-    LogsCall callWithContact3(2, "" );
+    LogsCall callWithContact3(3, "" );
     QVERIFY( callWithContact3.mDefaultCall == LogsCall::TypeLogsCallNotAvailable );
     QVERIFY( callWithContact3.mNumber.isEmpty() );
+    QCOMPARE( callWithContact3.mContactId, (unsigned int)3 );
 }
 
 void UT_LogsCall::testallowedCallTypes()
@@ -93,6 +100,13 @@
     event.setLogsEventData( eventData2 );
     LogsCall call4(event);
     QVERIFY(call4.allowedCallTypes().count() == 1);
+    
+    // Event without number
+    LogsEvent event2;
+    event2.setEventType(LogsEvent::TypeVoiceCall);
+    LogsCall call5(event2);
+    QVERIFY(call5.allowedCallTypes().count() == 0);
+    QVERIFY(call5.mDefaultCall == LogsCall::TypeLogsCallNotAvailable);
 }
 
 void UT_LogsCall::testisAllowedCallType()
@@ -119,21 +133,20 @@
 {  
     QtHighwayStubHelper::reset();
     mLogsCall->call(LogsCall::TypeLogsVoiceCall);
-    QVERIFY( QtHighwayStubHelper::service() == "com.nokia.symbian.ICallDial" );
+    QVERIFY( QtHighwayStubHelper::service() == logsICallDial );
     QVERIFY( QtHighwayStubHelper::message() == "dial(QString)" );
     QVERIFY( QtHighwayStubHelper::isRequestBg() );
     
-    // Video call message is longer than voice call
     QtHighwayStubHelper::reset();
     mLogsCall->call(LogsCall::TypeLogsVideoCall);
-    QVERIFY( QtHighwayStubHelper::service() == "com.nokia.symbian.ICallDial" );
+    QVERIFY( QtHighwayStubHelper::service() == logsICallDial );
     QVERIFY( QtHighwayStubHelper::message() == "dialVideo(QString)" );
     QVERIFY( QtHighwayStubHelper::isRequestBg() );
 
     QtHighwayStubHelper::reset();
     mLogsCall->mServiceId = 3;
     mLogsCall->call(LogsCall::TypeLogsVoIPCall);
-    QVERIFY( QtHighwayStubHelper::service() == "com.nokia.symbian.ICallDial" );
+    QVERIFY( QtHighwayStubHelper::service() == logsICallDial );
     QVERIFY( QtHighwayStubHelper::message() == "dialVoipService(QString,int)" ); 
     QVERIFY( QtHighwayStubHelper::isRequestBg() );
     
@@ -143,21 +156,39 @@
     QVERIFY( QtHighwayStubHelper::service().isEmpty() );
     QVERIFY( QtHighwayStubHelper::message().isEmpty() );
     QVERIFY( !QtHighwayStubHelper::isRequestBg() );
+    
+    // No number, call is anyway tried so that phone shows error note
+    QtHighwayStubHelper::reset();
+    HbStubHelper::reset();
+    mLogsCall->mNumber.clear();
+    mLogsCall->call(LogsCall::TypeLogsVoiceCall);
+    QVERIFY( QtHighwayStubHelper::service() == logsICallDial );
+    QVERIFY( QtHighwayStubHelper::message() == "dial(QString)" );
+    QVERIFY( QtHighwayStubHelper::isRequestBg() );
+    QVERIFY( HbStubHelper::notificationDialogTxt().isEmpty() );
+    
+    // No number for contact call, specific error note is shown
+    QtHighwayStubHelper::reset();
+    HbStubHelper::reset();
+    mLogsCall->mContactId = 5;
+    mLogsCall->call(LogsCall::TypeLogsVoiceCall);
+    QVERIFY( QtHighwayStubHelper::service().isEmpty() );
+    QVERIFY( QtHighwayStubHelper::message().isEmpty() );
+    QVERIFY( HbStubHelper::notificationDialogTxt() == hbTrId("txt_dial_dpopinfo_no_saved_number_for_this_contact") );
 }
 
 void UT_LogsCall::testInitiateCallback()
 {
     QtHighwayStubHelper::reset();
     mLogsCall->initiateCallback();
-    QVERIFY( QtHighwayStubHelper::service() == "com.nokia.symbian.ICallDial" );
+    QVERIFY( QtHighwayStubHelper::service() == logsICallDial );
     QVERIFY( QtHighwayStubHelper::message() == "dial(QString)" );
     QVERIFY( QtHighwayStubHelper::isRequestBg() );
     
-    // Video call message is longer than voice call
     mLogsCall->mDefaultCall = LogsCall::TypeLogsVideoCall;
     QtHighwayStubHelper::reset();
     mLogsCall->initiateCallback();
-    QVERIFY( QtHighwayStubHelper::service() == "com.nokia.symbian.ICallDial" );
+    QVERIFY( QtHighwayStubHelper::service() == logsICallDial );
     QVERIFY( QtHighwayStubHelper::message() == "dialVideo(QString)" );
     QVERIFY( QtHighwayStubHelper::isRequestBg() );
     
@@ -165,7 +196,7 @@
     QtHighwayStubHelper::reset();
     mLogsCall->mServiceId = 3;
     mLogsCall->initiateCallback();
-    QVERIFY( QtHighwayStubHelper::service() == "com.nokia.symbian.ICallDial" );
+    QVERIFY( QtHighwayStubHelper::service() == logsICallDial );
     QVERIFY( QtHighwayStubHelper::message() == "dialVoipService(QString,int)" );  
     QVERIFY( QtHighwayStubHelper::isRequestBg() );
 }