diff -r 000000000000 -r e686773b3f54 phonebookengines/contactsmodel/tsrc/Integration/CntPerfTest/inc/TestContactViewAccessStep.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookengines/contactsmodel/tsrc/Integration/CntPerfTest/inc/TestContactViewAccessStep.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,145 @@ +/** +* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* The test step to construct the views and access the view Api's like CountL(), AtL(), +* ContactAtL(), FindL(), SortOrder(), ViewPreferences(), AllFieldsLC(), RefineFindView(), +* GetContactsMatchingCriteria() and GetContactsMatchingPrefix() based on the variable set +* in the ini file. +* Verify and Validate the values returned by the view API's +* +* +*/ + + + +#ifndef TEST_CONTACT_VIEW_ACCESS_STEP_H +#define TEST_CONTACT_VIEW_ACCESS_STEP_H + +// System Includes +#include +#include +#include +#include +#include +#include + +// User Includes +#include "CntPerfServer.h" +#include "ClientServer.h" +#include "ContactUtilitiesCollection.h" + +_LIT(KViewAccessList, "viewaccesslist"); +_LIT(KTestAtLAPI, "testatlapi"); +_LIT(KTestContactAtLAPI, "testcontactatlapi"); +_LIT(KTestCountLAPI, "testcountlapi"); +_LIT(KTestAllFieldsAPI, "testallfieldslapi"); +_LIT(KTestFindLAPI, "testfindlapi"); +_LIT(KTestSortOrder, "testsortorder"); +_LIT(KTestViewPreferences, "testviewpreferences"); +_LIT(KTestContactsMatchingCriteria, "testcontactsmatchingcriteria"); +_LIT(KTestContactsMatchingPrefix, "testcontactsmatchingprefix"); +_LIT(KTestSearchContactId, "testsearchcontactid"); +_LIT(KTestContactssortorderchange, "testContactssortorderchange"); +_LIT(KRefineFindView, "refinefindview"); +_LIT(KFindWords, "findwords"); +_LIT(KSortOrder, "sortorder"); +_LIT(KErrorCondition, "errorcondition"); +_LIT(KInfoContactFields, "Contact fields %S"); +_LIT(KInvalidData, "invaliddata"); + + +/** + * This class supports performing Backup and Restore operations. + */ +class CBackupRestoreHelper : public CBase + { +public: + static CBackupRestoreHelper* NewL(CTestStep& aTestStep); + ~CBackupRestoreHelper(); + + /* Backup and Restore related tests */ + void StartBackupL(); + void EndBackupL(); + void StartRestoreL(); + void EndRestoreL(); + + /* General utility Functions */ + void Validate(const TBool& aValid); + void Validate(const TInt& aDesiredResult, const TInt& aActualResult); + CTestStep& BaseTestStepReference(); + +private: + CBackupRestoreHelper(CTestStep& aTestStep); + void ConstructL(); + +private: + TDriveList iDriveList; + conn::CSBEClient* iBackupClient; + CTestStep& iBaseTestStep; + RFs iFs; + }; + +/** + * The test step class is used to construct the views and access the view Api's like CountL(), AtL(), + * ContactAtL(), FindL(), SortOrder(), ViewPreferences(), AllFieldsLC(), RefineFindView(), + * GetContactsMatchingCriteria() and GetContactsMatchingPrefix() based on the variable set + * in the ini file. + */ +class CTestContactViewAccessStep : public CTestStep + { +public: + CTestContactViewAccessStep(); + ~CTestContactViewAccessStep(); + + // from CTestStep + TVerdict doTestStepPreambleL(); + TVerdict doTestStepL(); + TVerdict doTestStepPostambleL(); + +private: + void CreateUtilityClassL(); + void TestViewAPIsL(const RArray& aSection); + void TestContactViewAtL(const TPtrC& aSection, CContactViewBase* aView); + void TestContactAtL(const TPtrC& aSection, CContactViewBase* aView); + void TestCountL(const TPtrC& aSection, CContactViewBase* aView); + void TestFindL(const TPtrC& aSection, CContactViewBase* aView); + void TestContactFieldsL(const TPtrC& aSection, CContactViewBase* aView); + void TestContactViewPreferencesL(const TPtrC& aSection, CContactViewBase* aView); + void TestSortOrderL(const TPtrC& aSection, CContactViewBase* aView); + CContactDatabase* CreateAndOpenDataBaseL(const TPtrC& aDbName, TBool aCreateDataBase = EFalse); + CContactDatabase& DatabaseReference(); + CContactViewCollection& ViewCollectionReference(); + + void AccessViewsL(); + + void TestViewsUnderBackupRestoreL(); + void InitateBackupL(); + void StopBackupL(); + void InitiateRestoreL(); + void StopRestoreL(); + +private: + CContactUtilitiesCollection* iContactUtility; + CContactDatabase* iCntDb; + CContactViewApiTest* iContactViewTest; + CContactViewValidation* iViewValidation; + CActiveScheduler* iActiveScheduler; + CContactViewCollection* iViewCollection; + CBackupRestoreHelper* iBackupHelper; + TPtrC iDbName; + }; + +_LIT(KTestContactViewAccessStep, "TestContactViewAccessStep"); + +#endif