phonebookengines/contactsmodel/tsrc/Integration/CntPerfTest/inc/TestContactViewAccessStep.h
changeset 0 e686773b3f54
--- /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 <test/testexecutestepbase.h>
+#include <cntdef.h>
+#include <cntviewbase.h>
+#include <cntdb.h>
+#include <e32property.h>
+#include <connect/sbeclient.h>
+
+// 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<TPtrC>& 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