logsui/logsapp/tsrc/ut_logsapp/src/ut_logsviewmanager.cpp
changeset 14 f27aebe284bb
parent 11 64a47b97e1e1
child 16 c5af8598d22c
equal deleted inserted replaced
11:64a47b97e1e1 14:f27aebe284bb
    24 #include "logscomponentrepository.h"
    24 #include "logscomponentrepository.h"
    25 #include "logsrecentcallsview.h"
    25 #include "logsrecentcallsview.h"
    26 #include "logsmatchesview.h"
    26 #include "logsmatchesview.h"
    27 #include "logsdetailsview.h"
    27 #include "logsdetailsview.h"
    28 #include "hbstubs_helper.h"
    28 #include "hbstubs_helper.h"
       
    29 #include "logscontact.h"
    29 
    30 
    30 //SYSTEM
    31 //SYSTEM
    31 #include <HbMainWindow.h>
    32 #include <HbMainWindow.h>
    32 #include <QtTest/QtTest>
    33 #include <QtTest/QtTest>
    33 #include <HbView.h>
    34 #include <HbView.h>
    45 
    46 
    46 
    47 
    47 void UT_LogsViewManager::init()
    48 void UT_LogsViewManager::init()
    48 {
    49 {
    49     mMainWindow =  new LogsMainWindow();
    50     mMainWindow =  new LogsMainWindow();
    50     mService = new LogsServiceHandler(*mMainWindow);
    51     mService = new LogsServiceHandler();
    51     mServiceOld = new LogsServiceHandlerOld(*mMainWindow);
    52     mServiceOld = new LogsServiceHandlerOld();
    52     mLogsViewManager = new LogsViewManager(*mMainWindow, *mService, *mServiceOld);
    53     mLogsViewManager = new LogsViewManager(*mMainWindow, *mService, *mServiceOld);
    53 }
    54 }
    54 
    55 
    55 void UT_LogsViewManager::cleanup()
    56 void UT_LogsViewManager::cleanup()
    56 {
    57 {
   123              mLogsViewManager->mComponentsRepository->recentCallsView() );
   124              mLogsViewManager->mComponentsRepository->recentCallsView() );
   124 }
   125 }
   125 
   126 
   126 void UT_LogsViewManager::testchangeMatchesView()
   127 void UT_LogsViewManager::testchangeMatchesView()
   127 {
   128 {
       
   129     mLogsViewManager->mMainWindow.mForeground = false;
   128     //Open Matches view, dialpad visible with predefined number
   130     //Open Matches view, dialpad visible with predefined number
   129     mLogsViewManager->changeMatchesViewViaService(QString("+123456"));
   131     mLogsViewManager->changeMatchesViewViaService(QString("+123456"));
   130     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
   132     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
   131              mLogsViewManager->mComponentsRepository->matchesView() );
   133              mLogsViewManager->mComponentsRepository->matchesView() );
   132              
   134     QVERIFY( mLogsViewManager->mMainWindow.mForeground );
       
   135     
   133     // Contact search disabled, go to recent calls view instead
   136     // Contact search disabled, go to recent calls view instead
       
   137     mLogsViewManager->mMainWindow.mForeground = false;
   134     mLogsViewManager->mComponentsRepository->mModel->mPredectiveSearchStatus = 0;
   138     mLogsViewManager->mComponentsRepository->mModel->mPredectiveSearchStatus = 0;
   135     QString dialString("+123456777");
   139     QString dialString("+123456777");
   136     mLogsViewManager->changeMatchesViewViaService(dialString);
   140     mLogsViewManager->changeMatchesViewViaService(dialString);
   137     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
   141     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
   138              mLogsViewManager->mComponentsRepository->recentCallsView() );
   142              mLogsViewManager->mComponentsRepository->recentCallsView() );
   139     QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text() == dialString );
   143     QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text() == dialString );
       
   144     QVERIFY( mLogsViewManager->mMainWindow.mForeground );
       
   145         
       
   146     //Open Matches view, view stack not empty, embedded service canceled
       
   147     mLogsViewManager->mMainWindow.mForeground = false;
       
   148     QVERIFY( mLogsViewManager->mViewStack.count() );
       
   149     mLogsViewManager->mViewStack.at(0)->mContact = new LogsContact();
       
   150     mLogsViewManager->changeMatchesViewViaService(QString("+123456"));
       
   151     QVERIFY( LogsContact::mServiceRequestCanceled );
       
   152     QVERIFY( mLogsViewManager->mMainWindow.mForeground );
       
   153     
       
   154     //Open Matches view, view stack is empty, embedded service not canceled
       
   155     mLogsViewManager->mMainWindow.mForeground = false;
       
   156     LogsContact::reset();
       
   157     mLogsViewManager->mViewStack.clear();
       
   158     mLogsViewManager->changeMatchesViewViaService(QString("+123456"));
       
   159     QVERIFY( !LogsContact::mServiceRequestCanceled );
       
   160     QVERIFY( mLogsViewManager->mMainWindow.mForeground );
   140 }
   161 }
   141 
   162 
   142 void UT_LogsViewManager::testchangeRecentView()
   163 void UT_LogsViewManager::testchangeRecentView()
   143 {
   164 {
       
   165     mLogsViewManager->mMainWindow.mForeground = false;
   144     QString dialString("+123456777");
   166     QString dialString("+123456777");
   145     mLogsViewManager->changeRecentViewViaService(LogsServices::ViewCalled, false, dialString);
   167     mLogsViewManager->changeRecentViewViaService(LogsServices::ViewCalled, false, dialString);
   146     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
   168     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
   147              mLogsViewManager->mComponentsRepository->recentCallsView() );
   169              mLogsViewManager->mComponentsRepository->recentCallsView() );
   148     QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text() == dialString );
   170     QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text() == dialString );
       
   171     QVERIFY( mLogsViewManager->mMainWindow.mForeground );
   149     
   172     
   150     // Empty string clears dialpad input
   173     // Empty string clears dialpad input
       
   174     mLogsViewManager->mMainWindow.mForeground = false;
   151     mLogsViewManager->changeRecentViewViaService(LogsServices::ViewCalled, false, "");
   175     mLogsViewManager->changeRecentViewViaService(LogsServices::ViewCalled, false, "");
   152     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
   176     QVERIFY( mLogsViewManager->mMainWindow.currentView() == 
   153              mLogsViewManager->mComponentsRepository->recentCallsView() );
   177              mLogsViewManager->mComponentsRepository->recentCallsView() );
   154     QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text().isEmpty() );
   178     QVERIFY( mLogsViewManager->mComponentsRepository->mDialpad->mLineEdit->text().isEmpty() );
       
   179     QVERIFY( mLogsViewManager->mMainWindow.mForeground );
       
   180     
       
   181     //Open recent view, view stack not empty, embedded service canceled    
       
   182     mLogsViewManager->mMainWindow.mForeground = false;
       
   183     QVERIFY( mLogsViewManager->mViewStack.count() );
       
   184     mLogsViewManager->mViewStack.at(0)->mContact = new LogsContact();
       
   185     mLogsViewManager->changeRecentViewViaService(LogsServices::ViewCalled, false, "");
       
   186     QVERIFY( LogsContact::mServiceRequestCanceled );
       
   187     QVERIFY( mLogsViewManager->mMainWindow.mForeground );
       
   188     
       
   189     //Open recentt view, view stack is empty, embedded service not canceled
       
   190     mLogsViewManager->mMainWindow.mForeground = false;
       
   191     LogsContact::reset();
       
   192     mLogsViewManager->mViewStack.clear();
       
   193     mLogsViewManager->changeRecentViewViaService(LogsServices::ViewCalled, false, "");
       
   194     QVERIFY( !LogsContact::mServiceRequestCanceled );
       
   195     QVERIFY( mLogsViewManager->mMainWindow.mForeground );
   155 }
   196 }
   156 
   197 
   157 void UT_LogsViewManager::testExitApplication()
   198 void UT_LogsViewManager::testExitApplication()
   158 {
   199 {
   159     // Exit immediately possible, app sent to bg and data is compressed
   200     // Exit immediately possible, app sent to bg and data is compressed
   183 {     
   224 {     
   184     // If app is started with highway service, view is not activated
   225     // If app is started with highway service, view is not activated
   185     // before service method call comes.
   226     // before service method call comes.
   186     LogsMainWindow window;
   227     LogsMainWindow window;
   187     window.setCurrentView(0); // clear stub static data
   228     window.setCurrentView(0); // clear stub static data
   188     LogsServiceHandler service(*mMainWindow);
   229     LogsServiceHandler service;
   189     LogsServiceHandlerOld serviceOld(*mMainWindow);
   230     LogsServiceHandlerOld serviceOld;
   190     service.mIsAppStartedUsingService = true;
   231     service.mIsAppStartedUsingService = true;
   191     LogsViewManager vm(window, service, serviceOld);
   232     LogsViewManager vm(window, service, serviceOld);
   192     QVERIFY( vm.mComponentsRepository );
   233     QVERIFY( vm.mComponentsRepository );
   193     QVERIFY( vm.mMainWindow.views().count() == 0 );
   234     QVERIFY( vm.mMainWindow.views().count() == 0 );
   194     QVERIFY( vm.mMainWindow.currentView() == 0 );
   235     QVERIFY( vm.mMainWindow.currentView() == 0 );