organizer_plat/agenda_interface_api/tsrc/unittest_agendautil/src/unittest_agendautil.cpp
author hgs
Tue, 05 Oct 2010 13:57:00 +0530
changeset 81 ce92091cbd61
parent 64 1881ad52dc45
permissions -rw-r--r--
201039
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
45
hgs
parents: 23
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
 * All rights reserved.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
 *
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
 * Initial Contributors:
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
 *
45
hgs
parents: 23
diff changeset
    12
 * Contributors:
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
 *
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
 * Description: AgendaUtil unit test class.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
 *
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
// System includes
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include <QtTest/QtTest>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include <QtGui>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <e32base.h>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
// User includes
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include "agendautil.h"
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
class TestAgendaUtil : public QObject
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
	Q_OBJECT
45
hgs
parents: 23
diff changeset
    29
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
public slots:
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
	void handleEntriesDeletion(int error);
45
hgs
parents: 23
diff changeset
    32
	void handleEntryViewCreationCompleted(int status);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
private slots:
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
	// Test case setup.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
	void init();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
	void cleanup();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
	void initTestCase();
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
    39
	void cleanupTestCase();
45
hgs
parents: 23
diff changeset
    40
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
	// Test cases.
55
hgs
parents: 45
diff changeset
    42
	void test_storeWithNewEntry();
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
	void test_deleteEntry();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
	void test_deleteRepeatedEntry();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
	void test_fetchById();
55
hgs
parents: 45
diff changeset
    46
	void test_storeWithExistingEntry();
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
	void test_createEntryIdListForDay();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
	void test_entryIds();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
	void test_fetchAllEntries();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
	void test_deleteEntries();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
	void test_fetchEntriesInRange();
45
hgs
parents: 23
diff changeset
    52
	void test_cloneEntry();
hgs
parents: 23
diff changeset
    53
	void test_todoCompleted();
64
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
    54
	void test_createExceptionalEntryWithSubjectChange();
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
    55
	void test_createExceptionalEntryWithStartTimeChange();
45
hgs
parents: 23
diff changeset
    56
hgs
parents: 23
diff changeset
    57
private:
hgs
parents: 23
diff changeset
    58
	int createMultipleEntries();
hgs
parents: 23
diff changeset
    59
	void cloneNoteToTodo();
hgs
parents: 23
diff changeset
    60
	void cloneNoteToMeeting();
hgs
parents: 23
diff changeset
    61
	void cloneTodoToNote();
hgs
parents: 23
diff changeset
    62
	void cloneTodoToMeeting();
hgs
parents: 23
diff changeset
    63
	void cloneMeetingToNote();
hgs
parents: 23
diff changeset
    64
	void cloneMeetingToTodo();
hgs
parents: 23
diff changeset
    65
	void completeTodo();
hgs
parents: 23
diff changeset
    66
	void unCompletedTodo();
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
    67
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
private:
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
	AgendaUtil *mAgendaUtil;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
	CActiveSchedulerWait* mWait;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
};
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
	\class TestAgendaUtil
45
hgs
parents: 23
diff changeset
    75
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
	This is unittest class for AgendaUtil apis.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
	This function is called to before every testcase.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
void TestAgendaUtil::init()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
{
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
    84
	/*QT_TRAP_THROWING(mAgendaUtil = new AgendaUtil);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
	Q_ASSERT_X(mAgendaUtil, "TestAgendaUtil::test_addEntry", "No agendautil");
45
hgs
parents: 23
diff changeset
    87
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
	// Connect to the required signals
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
	connect(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
			mAgendaUtil, SIGNAL(entriesDeleted(int)), this,
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
			SLOT(handleEntriesDeletion(int)));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
    93
	mWait = NULL;*/
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
	This function is called after every testcase.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
void TestAgendaUtil::cleanup()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
{
45
hgs
parents: 23
diff changeset
   101
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   102
	//User::Exit(0);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   103
    if (mWait && mWait->IsStarted()) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   104
                mWait->AsyncStop();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   105
    }
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   106
    delete mWait;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   107
    mWait = NULL;
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
	This function is called to init the testcase.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
void TestAgendaUtil::initTestCase()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
	QT_TRAP_THROWING(mAgendaUtil = new AgendaUtil);
45
hgs
parents: 23
diff changeset
   115
hgs
parents: 23
diff changeset
   116
	connect(
hgs
parents: 23
diff changeset
   117
			mAgendaUtil, SIGNAL(entryViewCreationCompleted(int)),
hgs
parents: 23
diff changeset
   118
			this, SLOT(handleEntryViewCreationCompleted(int)));
hgs
parents: 23
diff changeset
   119
hgs
parents: 23
diff changeset
   120
	// Start the timer as the instanceview/entryview creation
hgs
parents: 23
diff changeset
   121
	// operation is asynchronous
hgs
parents: 23
diff changeset
   122
	QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
hgs
parents: 23
diff changeset
   123
		if (!mWait->IsStarted()) {
hgs
parents: 23
diff changeset
   124
			mWait->Start();
hgs
parents: 23
diff changeset
   125
	}
hgs
parents: 23
diff changeset
   126
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
	Q_ASSERT_X(mAgendaUtil, "TestAgendaUtil::test_addEntry", "No agendautil");
45
hgs
parents: 23
diff changeset
   128
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
	// Connect to the required signals
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
	connect(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
			mAgendaUtil, SIGNAL(entriesDeleted(int)), this,
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
			SLOT(handleEntriesDeletion(int)));
45
hgs
parents: 23
diff changeset
   133
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
	mWait = NULL;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   137
void TestAgendaUtil::cleanupTestCase()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   138
{
45
hgs
parents: 23
diff changeset
   139
	QCoreApplication::processEvents();
hgs
parents: 23
diff changeset
   140
	if (mAgendaUtil) {
hgs
parents: 23
diff changeset
   141
		delete mAgendaUtil;
hgs
parents: 23
diff changeset
   142
	}
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   143
}
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
/*
55
hgs
parents: 45
diff changeset
   145
	Tests the AgendaUtil::store.
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
 */
55
hgs
parents: 45
diff changeset
   147
void TestAgendaUtil::test_storeWithNewEntry()
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
	// Test case setup.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
	AgendaEntry entry;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
	QDate dateSet(2010,12,1);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
	QTime timeSet(10,10,10,10);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
	QDateTime dateTimeSet(dateSet,timeSet);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
	entry.setType(AgendaEntry::TypeEvent);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
	entry.setSummary("Test case");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
	entry.setStartAndEndTime(dateTimeSet, dateTimeSet);
45
hgs
parents: 23
diff changeset
   157
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
	// Run the case.
55
hgs
parents: 45
diff changeset
   159
	ulong id = mAgendaUtil->store(entry);
45
hgs
parents: 23
diff changeset
   160
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
	// Verify.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
	AgendaEntry newEntry = mAgendaUtil->fetchById(id);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
	QDateTime dateTimeRetrieved = newEntry.startTime();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
	QDate dateRetrieved = dateTimeRetrieved.date();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
	QTime timeRetrieved = dateTimeRetrieved.time();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
	QVERIFY(entry.summary() == newEntry.summary());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
	QVERIFY(dateRetrieved == dateSet);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
	QVERIFY(entry.type() == newEntry.type());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
	// Cleanup.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
	QVERIFY(mAgendaUtil->deleteEntry(id));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
	Tests the api AgendaUtil::deleteEntry.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
void TestAgendaUtil::test_deleteEntry()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
	// Test case setup.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
	AgendaEntry entry;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
	entry.setType(AgendaEntry::TypeEvent);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
	entry.setSummary("Test case");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
	entry.setStartAndEndTime(
45
hgs
parents: 23
diff changeset
   183
			QDateTime::currentDateTime(),
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
			QDateTime::currentDateTime());
55
hgs
parents: 45
diff changeset
   185
	ulong id = mAgendaUtil->store(entry);
45
hgs
parents: 23
diff changeset
   186
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
	// Run the case.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
	QVERIFY(mAgendaUtil->deleteEntry(id));
45
hgs
parents: 23
diff changeset
   189
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
	// Verify.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
	QVERIFY(mAgendaUtil->fetchById(id).isNull());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
	Test the api AgendaUtil::deleteRepeatedEntry.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
void TestAgendaUtil::test_deleteRepeatedEntry()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
	// Test case setup.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
	AgendaEntry entry;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
	entry.setType(AgendaEntry::TypeAppoinment);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
	entry.setSummary("Test case");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
	entry.setStartAndEndTime(
45
hgs
parents: 23
diff changeset
   204
			QDateTime::currentDateTime(),
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
			QDateTime::currentDateTime());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
	AgendaRepeatRule repeatRule;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
	repeatRule.setType(AgendaRepeatRule::DailyRule);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   208
	QDateTime ruleStartDateTime(QDate(2019, 11, 3));
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   209
	repeatRule.setRepeatRuleStart(ruleStartDateTime);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   210
	QDateTime until(QDate(2019, 12, 3));
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   211
	repeatRule.setUntil(until);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
	repeatRule.setInterval(1);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
	entry.setRepeatRule(repeatRule);
45
hgs
parents: 23
diff changeset
   214
55
hgs
parents: 45
diff changeset
   215
	ulong id = mAgendaUtil->store(entry);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
	AgendaEntry savedEntry = mAgendaUtil->fetchById(id);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
	QVERIFY(!savedEntry.isNull());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
	QVERIFY(savedEntry.isRepeating());
45
hgs
parents: 23
diff changeset
   219
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
	// Run the case.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
	mAgendaUtil->deleteRepeatedEntry(savedEntry, AgendaUtil::ThisAndAll);
45
hgs
parents: 23
diff changeset
   222
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
	// Verify.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
	QVERIFY(mAgendaUtil->fetchById(id).isNull());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
    Test the api AgendaUtil::fetchById.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   229
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
void TestAgendaUtil::test_fetchById()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
	// Test case setup.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
	AgendaEntry entry;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   234
	QDate dateSet(2010, 12, 1);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
	QTime timeSet(10, 10, 10, 10);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
	QDateTime dateTimeSet(dateSet, timeSet);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
	entry.setType(AgendaEntry::TypeEvent);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
	entry.setSummary("Test case");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
	entry.setStartAndEndTime(dateTimeSet, dateTimeSet);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
	// Run the case.
55
hgs
parents: 45
diff changeset
   242
	ulong id = mAgendaUtil->store(entry);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   244
	// Verify.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
	AgendaEntry retrievedEntry = mAgendaUtil->fetchById(id);
45
hgs
parents: 23
diff changeset
   246
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
	// Check if the fetched entry is same st the added entry
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
	QDateTime dateTimeRetrieved = retrievedEntry.startTime();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
	QDate dateRetrieved = dateTimeRetrieved.date();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
	QTime timeRetrieved = dateTimeRetrieved.time();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
	QVERIFY(dateRetrieved == dateSet);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
	QVERIFY(entry.type() == retrievedEntry.type());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
	QVERIFY(entry.summary() == retrievedEntry.summary());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
	mAgendaUtil->deleteEntry(id);
45
hgs
parents: 23
diff changeset
   255
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
	// Fetch the same again and check if its null.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
	AgendaEntry checkEntryIsNull = mAgendaUtil->fetchById(id);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
	QVERIFY(checkEntryIsNull.isNull());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
/*!
55
hgs
parents: 45
diff changeset
   262
    Test the api AgendaUtil::store.
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
 */
55
hgs
parents: 45
diff changeset
   264
void TestAgendaUtil::test_storeWithExistingEntry()
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
	// Test case setup.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
	AgendaEntry entry;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
	entry.setType(AgendaEntry::TypeAppoinment);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
	entry.setSummary("Test case");
55
hgs
parents: 45
diff changeset
   270
	entry.setDescription("Entry to test the store API");
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
	entry.setLocation("Nokia");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
	entry.setStartAndEndTime(
45
hgs
parents: 23
diff changeset
   273
			QDateTime::currentDateTime(),
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
			QDateTime::currentDateTime());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
	// Save the entry
55
hgs
parents: 45
diff changeset
   277
	ulong id = mAgendaUtil->store(entry);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
45
hgs
parents: 23
diff changeset
   279
	// Fetch the same entry
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
	AgendaEntry savedEntry = mAgendaUtil->fetchById(id);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
	QVERIFY(!savedEntry.isNull());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
	savedEntry.setSummary("Fetced Entry");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
	savedEntry.setLocation("India");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
	savedEntry.setStartAndEndTime(
45
hgs
parents: 23
diff changeset
   285
			QDateTime::currentDateTime().addDays(1),
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
			QDateTime::currentDateTime().addDays(1));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   287
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   288
	// Update the entry
55
hgs
parents: 45
diff changeset
   289
	ulong success = mAgendaUtil->store(savedEntry);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
	QVERIFY(success);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   292
	// Fetch the updated entry again
45
hgs
parents: 23
diff changeset
   293
	AgendaEntry updatedEntry = mAgendaUtil->fetchById(id);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
	// Verify
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
	QVERIFY(savedEntry.summary() == updatedEntry.summary());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
	QVERIFY(savedEntry.type() == updatedEntry.type());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
	// Cleanup.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
	QVERIFY(mAgendaUtil->deleteEntry(id));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
	Test the api AgendaUtil::createEntryIdListForDay.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   305
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   306
void TestAgendaUtil::test_createEntryIdListForDay()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   307
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
	// Clean up all the entries.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
	QDateTime startRange(QDate(1900, 01, 1), QTime(0, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   310
	QDateTime endRange(QDate(2100, 01, 01), QTime(23, 59, 59, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
	mAgendaUtil->deleteEntries(startRange, endRange);
45
hgs
parents: 23
diff changeset
   312
	// Start the timer as the above operation is asynchronous
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
	if (!mWait) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   314
		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
		if (!mWait->IsStarted()) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   316
			mWait->Start();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   317
		}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   318
	}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
	// Test for futur day.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   320
	AgendaEntry futureEntry;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   321
	// Create the day for which entries are needed
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   322
	QDateTime futureDay(QDate(2009, 05, 01), QTime(0, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   323
	futureEntry.setStartAndEndTime(futureDay, futureDay);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   324
	futureEntry.setType(AgendaEntry::TypeEvent);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   325
	futureEntry.setSummary("Test case");
55
hgs
parents: 45
diff changeset
   326
	ulong id = mAgendaUtil->store(futureEntry);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   327
	// Run the test case
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   328
	QList<AgendaEntry> entriesList;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
	entriesList.append(mAgendaUtil->createEntryIdListForDay(futureDay));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
	// Verify
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   332
	int num = entriesList.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
	QVERIFY( 1 == entriesList.count());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
	QString summary(entriesList.at(0).summary());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
	QVERIFY(summary == "Test case");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   336
	QVERIFY(entriesList.at(0).type() == AgendaEntry::TypeEvent);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
	// Cleanup
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
	mAgendaUtil->deleteEntry(id);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   342
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   343
	Test the api AgendaUtil::entryIds.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   344
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   345
void TestAgendaUtil::test_entryIds()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   346
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
	// Clean up all the entries.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
	QDateTime startRange(QDate(1900, 01, 1), QTime(0, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
	QDateTime endRange(QDate(2100, 01, 01), QTime(23, 59, 59, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
	mAgendaUtil->deleteEntries(startRange, endRange);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
	qDebug("Request for deletion made.");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
45
hgs
parents: 23
diff changeset
   354
	// Start the timer as the above operation is asynchronous
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
	if (!mWait) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
		if (!mWait->IsStarted()) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
			mWait->Start();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
		}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
	}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
	qDebug("Waiting for confirmation.");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
	QList<AgendaEntry> entriesRetrieved =
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   365
	        mAgendaUtil->fetchEntriesInRange(startRange, endRange);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
	int numOfEntriesRetrieved = entriesRetrieved.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   367
	QList<ulong> checkList = mAgendaUtil->entryIds();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
	int checkNum = checkList.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   370
	// Fetch the entries and see if none are there
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   371
	QList<ulong> testIds;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   372
	testIds.clear();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
	int count = testIds.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   374
	testIds = mAgendaUtil->entryIds();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   375
	count = testIds.size();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
	int numOfEntries = 0;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
	// Appointment.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
	AgendaEntry firstEntry;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
	firstEntry.setType(AgendaEntry::TypeAppoinment);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
	firstEntry.setSummary("first entry");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
	QDateTime firstEntryStart(QDate(2020, 05, 01), QTime(9, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
	QDateTime firstEntryEnd(QDate(2020, 05, 01), QTime(10, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
	firstEntry.setStartAndEndTime(firstEntryStart, firstEntryEnd);
55
hgs
parents: 45
diff changeset
   385
	ulong id = mAgendaUtil->store(firstEntry);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
	numOfEntries++;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   388
	// ToDo.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
	AgendaEntry firstToDo;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   390
	firstToDo.setType(AgendaEntry::TypeTodo);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
	firstToDo.setSummary("first ToDo");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
	QDateTime firstToDoStart(QDate(2026, 05, 01), QTime(10, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
	QDateTime firstToDoEnd(QDate(2026, 05, 01), QTime(10, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
	firstToDo.setStartAndEndTime(firstToDoStart, firstToDoEnd);
55
hgs
parents: 45
diff changeset
   395
	id = mAgendaUtil->store(firstToDo);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
	numOfEntries++;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
	// Run the test case
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
	QList<ulong> ids;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   400
	int num = ids.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
	ids = mAgendaUtil->entryIds(AgendaUtil::IncludeAppointments);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
	num = ids.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
	QVERIFY(1 == num);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
	Test the api AgendaUtil::fetchAllEntries.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
void TestAgendaUtil::test_fetchAllEntries()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
	// Clean up all the entries.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
	QDateTime startRange(QDate(1900, 01, 1), QTime(0, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
	QDateTime endRange(QDate(2100, 12, 30), QTime(23, 59, 59, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
	mAgendaUtil->deleteEntries(startRange, endRange);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   415
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   416
	qDebug("Request for deletion made.");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   417
45
hgs
parents: 23
diff changeset
   418
	// Start the timer as the above operation is asynchronous
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
	if (!mWait) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   420
		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   421
		if (!mWait->IsStarted()) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   422
			mWait->Start();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   423
		}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   424
	}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   425
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   426
	qDebug("Waiting for confirmation.");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   427
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   428
	QList<AgendaEntry> entriesRetrieved =
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   429
	        mAgendaUtil->fetchEntriesInRange(startRange, endRange);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   430
	int numOfEntriesRetrieved = entriesRetrieved.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   431
	QList<ulong> checkList = mAgendaUtil->entryIds();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   432
	int checkNum = checkList.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   433
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   434
	if (numOfEntriesRetrieved != 0 || checkNum != 0) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   435
		mAgendaUtil->deleteEntries(startRange, endRange);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   436
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   437
		qDebug("Request for deletion made.");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   438
45
hgs
parents: 23
diff changeset
   439
		// Start the timer as the above operation is asynchronous
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   440
		if (!mWait) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   441
			QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   442
			if (!mWait->IsStarted()) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   443
				mWait->Start();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   444
			}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   445
		}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   446
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   447
		qDebug("Waiting for confirmation.");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   448
	}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   449
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   450
	int numOfEntries = 0;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   451
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   452
	// Appointment.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   453
	AgendaEntry firstEntry;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   454
	firstEntry.setType(AgendaEntry::TypeAppoinment);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   455
	firstEntry.setSummary("first entry");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   456
	QDateTime firstEntryStart(QDate(2020, 05, 01), QTime(9, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   457
	QDateTime firstEntryEnd(QDate(2020, 05, 01), QTime(10, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   458
	firstEntry.setStartAndEndTime(firstEntryStart, firstEntryEnd);
55
hgs
parents: 45
diff changeset
   459
	ulong id = mAgendaUtil->store(firstEntry);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   460
	numOfEntries++;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   461
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   462
	// ToDo.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   463
	AgendaEntry firstToDo;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   464
	firstToDo.setType(AgendaEntry::TypeTodo);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   465
	firstToDo.setSummary("first ToDo");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   466
	QDateTime firstToDoStart(QDate(2026, 05, 01), QTime(10, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   467
	QDateTime firstToDoEnd(QDate(2026, 05, 01), QTime(10, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   468
	firstToDo.setStartAndEndTime(firstToDoStart, firstToDoEnd);
55
hgs
parents: 45
diff changeset
   469
	id = mAgendaUtil->store(firstToDo);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   470
	numOfEntries++;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   471
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   472
	// Run the test case
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   473
	QList<AgendaEntry> entries;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   474
	entries.clear();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   475
	entries = mAgendaUtil->fetchAllEntries();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   476
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   477
	// Verfiy
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   478
	numOfEntriesRetrieved = entries.count();
45
hgs
parents: 23
diff changeset
   479
	QCOMPARE(numOfEntries,numOfEntriesRetrieved);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   480
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   481
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   482
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
	Test the api AgendaUtil::deleteEntries.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   484
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   485
void TestAgendaUtil::test_deleteEntries()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   486
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
	// The range required for the deletion.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
	QDateTime startRange(QDate(1900, 01, 01), QTime(0, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   490
	QDateTime endRange(QDate(2100, 01, 01), QTime(23, 59, 59, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   491
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   492
	QList<AgendaEntry> entriesRetrieved =
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   493
	        mAgendaUtil->fetchEntriesInRange(startRange, endRange);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   494
	int numOfEntriesRetrieved = entriesRetrieved.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   495
	QList<ulong> checkList = mAgendaUtil->entryIds();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   496
	int checkNum = checkList.count();
45
hgs
parents: 23
diff changeset
   497
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   498
	// Create the required entries.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   499
	int numOfEntries = createMultipleEntries();
45
hgs
parents: 23
diff changeset
   500
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   501
	entriesRetrieved = mAgendaUtil->fetchEntriesInRange(startRange, endRange);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
	numOfEntriesRetrieved = entriesRetrieved.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   503
	checkList = mAgendaUtil->entryIds();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
	checkNum = checkList.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   505
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
	Q_ASSERT(numOfEntries);
45
hgs
parents: 23
diff changeset
   507
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
	qDebug("Entries have been created");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   510
	// Execute the case.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   511
	mAgendaUtil->deleteEntries(startRange, endRange);
45
hgs
parents: 23
diff changeset
   512
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   513
	qDebug("Request for deletion made.");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
45
hgs
parents: 23
diff changeset
   515
	// Start the timer as the above operation is asynchronous
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   516
	if (!mWait) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   517
		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   518
		if (!mWait->IsStarted()) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
			mWait->Start();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
		}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
	}
45
hgs
parents: 23
diff changeset
   522
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   523
	qDebug("Waiting for confirmation.");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   524
	entriesRetrieved = mAgendaUtil->fetchEntriesInRange(startRange, endRange);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   525
	numOfEntriesRetrieved = entriesRetrieved.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   526
	checkList = mAgendaUtil->entryIds();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
	checkNum = checkList.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   528
	QVERIFY(0 == numOfEntriesRetrieved);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   532
	Test the api AgendaUtil::fetchEntriesInRange.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   534
void TestAgendaUtil::test_fetchEntriesInRange()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   535
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   536
	// Clean up all the entries.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   537
	QDateTime startRange(QDate(1900, 01, 1), QTime(0, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   538
	QDateTime endRange(QDate(2100, 12, 30), QTime(23, 59, 59, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   539
	mAgendaUtil->deleteEntries(startRange,endRange);
45
hgs
parents: 23
diff changeset
   540
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
	//qDebug("Request for deletion made.");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   542
45
hgs
parents: 23
diff changeset
   543
	// Start the timer as the above operation is asynchronous
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   544
	if (!mWait) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   545
		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   546
		if (!mWait->IsStarted()) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
			mWait->Start();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   548
		}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   549
	}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
	//qDebug("Waiting for confirmation.");
45
hgs
parents: 23
diff changeset
   552
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   553
	QList<AgendaEntry> entriesRetrieved =
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   554
			mAgendaUtil->fetchEntriesInRange(startRange, endRange);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
	int numOfEntriesRetrieved = entriesRetrieved.count();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
	QList<ulong> checkList = mAgendaUtil->entryIds();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
	int checkNum = checkList.count();
45
hgs
parents: 23
diff changeset
   558
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   559
	// Appointment.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   560
	AgendaEntry firstEntry;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   561
	firstEntry.setType(AgendaEntry::TypeAppoinment);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   562
	firstEntry.setSummary("first entry");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   563
	QDateTime firstEntryStart(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   564
			QDate(2020, 05, 01), QTime(9, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   565
	QDateTime firstEntryEnd(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   566
			QDate(2020, 05, 01), QTime(10, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   567
	firstEntry.setStartAndEndTime(firstEntryStart, firstEntryEnd);
55
hgs
parents: 45
diff changeset
   568
	ulong id = mAgendaUtil->store(firstEntry);
45
hgs
parents: 23
diff changeset
   569
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   570
	// Create the range for which entries are needed
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   571
	QDateTime fromRange(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   572
			QDate(2020, 01, 01), QTime(0, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   573
	QDateTime toRange(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   574
			QDate(2023, 12, 31), QTime(23, 59, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   575
	// Run the test case
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   576
	QList<AgendaEntry> entries = mAgendaUtil->fetchEntriesInRange(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   577
			fromRange, toRange);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   578
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   579
	// Verify
45
hgs
parents: 23
diff changeset
   580
	int num = entries.count();
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   581
	QVERIFY( 1 == entries.count());
45
hgs
parents: 23
diff changeset
   582
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   583
	//cleanup();
45
hgs
parents: 23
diff changeset
   584
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   585
	//User::Exit(0);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   586
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   587
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   588
/*!
45
hgs
parents: 23
diff changeset
   589
	Test the api AgendaUtil::cloneEntry
hgs
parents: 23
diff changeset
   590
 */
hgs
parents: 23
diff changeset
   591
void TestAgendaUtil::test_cloneEntry()
hgs
parents: 23
diff changeset
   592
{
hgs
parents: 23
diff changeset
   593
	cloneNoteToTodo();
hgs
parents: 23
diff changeset
   594
	cloneNoteToMeeting();
hgs
parents: 23
diff changeset
   595
	cloneTodoToNote();
hgs
parents: 23
diff changeset
   596
	cloneTodoToMeeting();
hgs
parents: 23
diff changeset
   597
	cloneMeetingToNote();
hgs
parents: 23
diff changeset
   598
	cloneMeetingToTodo();
hgs
parents: 23
diff changeset
   599
}
hgs
parents: 23
diff changeset
   600
hgs
parents: 23
diff changeset
   601
/*
hgs
parents: 23
diff changeset
   602
	Test the api AgendaUtil::setCompleted
hgs
parents: 23
diff changeset
   603
 */
hgs
parents: 23
diff changeset
   604
void TestAgendaUtil::test_todoCompleted()
hgs
parents: 23
diff changeset
   605
{
hgs
parents: 23
diff changeset
   606
	completeTodo();
hgs
parents: 23
diff changeset
   607
	unCompletedTodo();
hgs
parents: 23
diff changeset
   608
}
hgs
parents: 23
diff changeset
   609
64
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   610
/*
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   611
	Test the api AgendaUtil::store for exceptional entry.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   612
 */
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   613
void TestAgendaUtil::test_createExceptionalEntryWithSubjectChange()
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   614
{
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   615
	// Test case setup.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   616
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   617
	// Clean up all the entries.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   618
	QDateTime startRange(QDate(1900, 01, 1), QTime(0, 0, 0, 0));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   619
	QDateTime endRange(QDate(2100, 12, 30), QTime(23, 59, 59, 0));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   620
	mAgendaUtil->deleteEntries(startRange,endRange);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   621
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   622
	// Start the timer as the above operation is asynchronous
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   623
	if (!mWait) {
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   624
		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   625
		if (!mWait->IsStarted()) {
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   626
			mWait->Start();
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   627
		}
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   628
	}
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   629
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   630
	// Create the repeating entry.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   631
	AgendaEntry entry;
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   632
	entry.setType(AgendaEntry::TypeAppoinment);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   633
	entry.setSummary("Test case");
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   634
	QDateTime startTime(QDate(2010,1,1),QTime(8,0,0,0));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   635
	QDateTime endTime(QDate(2010,1,1),QTime(9,0,0,0));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   636
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   637
	entry.setStartAndEndTime(
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   638
			startTime,
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   639
			endTime);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   640
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   641
	AgendaRepeatRule repeatRule;
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   642
	repeatRule.setType(AgendaRepeatRule::DailyRule);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   643
	repeatRule.setRepeatRuleStart(startTime);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   644
	QDateTime until(QDate(2010, 2, 3));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   645
	repeatRule.setUntil(until);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   646
	repeatRule.setInterval(1);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   647
	entry.setRepeatRule(repeatRule);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   648
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   649
	ulong id = mAgendaUtil->store(entry);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   650
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   651
	// Get the instance and create the exceptional entry by changing the subject
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   652
	AgendaEntry savedEntry = mAgendaUtil->fetchById(id);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   653
	QList<AgendaEntry> entriesRetrieved =
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   654
			mAgendaUtil->fetchEntriesInRange(
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   655
					QDateTime(QDate(2010, 1, 2), QTime(8, 0, 0, 0)),
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   656
					QDateTime(QDate(2010, 1, 2), QTime(9, 0, 0, 0)));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   657
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   658
	int numOfEntriesRetrieved = entriesRetrieved.count();
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   659
	AgendaEntry modifiedEntry = entriesRetrieved.first();
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   660
	// Verify
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   661
	QVERIFY(id == modifiedEntry.id());
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   662
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   663
	modifiedEntry.setSummary("Test case Exceptional");
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   664
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   665
	// Run the test case
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   666
	ulong newId = mAgendaUtil->store(
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   667
			modifiedEntry, AgendaUtil::ThisOnly, modifiedEntry.startTime());
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   668
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   669
	// Verify.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   670
	QVERIFY(id != newId);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   671
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   672
	entriesRetrieved.clear();
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   673
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   674
	// Get the exceptional entry.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   675
	AgendaEntry exceptionalEntry = mAgendaUtil->fetchById(newId);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   676
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   677
	// Verify.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   678
	QCOMPARE(exceptionalEntry.summary(), modifiedEntry.summary());
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   679
	QVERIFY(exceptionalEntry.recurrenceId() == modifiedEntry.startTime());
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   680
}
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   681
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   682
/*!
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   683
	Test the api AgendaUtil::store for exceptional entry.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   684
 */
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   685
void TestAgendaUtil::test_createExceptionalEntryWithStartTimeChange()
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   686
{
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   687
	// Test case setup.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   688
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   689
	// Clean up all the entries.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   690
	QDateTime startRange(QDate(1900, 01, 1), QTime(0, 0, 0, 0));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   691
	QDateTime endRange(QDate(2100, 12, 30), QTime(23, 59, 59, 0));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   692
	mAgendaUtil->deleteEntries(startRange,endRange);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   693
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   694
	// Start the timer as the above operation is asynchronous
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   695
	if (!mWait) {
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   696
		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   697
		if (!mWait->IsStarted()) {
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   698
			mWait->Start();
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   699
		}
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   700
	}
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   701
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   702
	QList<AgendaEntry> allEntries = mAgendaUtil->fetchAllEntries();
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   703
	int count = allEntries.count();
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   704
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   705
	// Create the repeating entry.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   706
	AgendaEntry entry;
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   707
	entry.setType(AgendaEntry::TypeAppoinment);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   708
	entry.setSummary("Test case");
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   709
	QDateTime startTime(QDate(2010,2,1),QTime(8,0,0,0));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   710
	QDateTime endTime(QDate(2010,2,1),QTime(9,0,0,0));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   711
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   712
	entry.setStartAndEndTime(startTime, endTime);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   713
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   714
	AgendaRepeatRule repeatRule;
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   715
	repeatRule.setType(AgendaRepeatRule::DailyRule);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   716
	repeatRule.setRepeatRuleStart(startTime);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   717
	QDateTime until(QDate(2010, 3, 3));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   718
	repeatRule.setUntil(until);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   719
	repeatRule.setInterval(1);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   720
	entry.setRepeatRule(repeatRule);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   721
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   722
	ulong id = mAgendaUtil->store(entry);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   723
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   724
	// Get the instance and create the exceptional entry by changing the subject
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   725
	AgendaEntry savedEntry = mAgendaUtil->fetchById(id);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   726
	QList<AgendaEntry> entriesRetrieved =
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   727
			mAgendaUtil->fetchEntriesInRange(
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   728
					QDateTime(QDate(2010, 2, 2), QTime(8, 0, 0, 0)),
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   729
					QDateTime(QDate(2010, 2, 2), QTime(9, 0, 0, 0)));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   730
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   731
	int numOfEntriesRetrieved = entriesRetrieved.count();
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   732
	AgendaEntry modifiedEntry = entriesRetrieved.first();
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   733
	AgendaEntry originalEntry = modifiedEntry;
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   734
	// Verify
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   735
	QVERIFY(id == modifiedEntry.id());
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   736
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   737
	QDateTime modifiedStartTime(QDate(2010,2,1),QTime(8,0,0,0));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   738
	QDateTime modifiedEndTime(QDate(2010,2,1),QTime(9,0,0,0));
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   739
	modifiedEntry.setStartAndEndTime(modifiedStartTime, modifiedStartTime);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   740
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   741
	// Run the test case
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   742
	ulong newId = mAgendaUtil->store(
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   743
			modifiedEntry, AgendaUtil::ThisOnly, originalEntry.startTime());
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   744
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   745
	// Verify.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   746
	QVERIFY(id != newId);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   747
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   748
	entriesRetrieved.clear();
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   749
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   750
	// Get the exceptional entry.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   751
	AgendaEntry exceptionalEntry = mAgendaUtil->fetchById(newId);
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   752
	
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   753
	// Verify.
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   754
	QVERIFY(exceptionalEntry.recurrenceId() == originalEntry.startTime());
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   755
}
1881ad52dc45 201033_03
hgs
parents: 55
diff changeset
   756
45
hgs
parents: 23
diff changeset
   757
/*!
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   758
	Slot to listen for the completion of deleting the entries asynchronously.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   759
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   760
void TestAgendaUtil::handleEntriesDeletion(int error)
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   761
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   762
	// Stop the wait timer.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   763
	if (mWait && mWait->IsStarted()) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   764
		mWait->AsyncStop();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   765
	}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   766
	QVERIFY(!error);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   767
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   768
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   769
/*!
45
hgs
parents: 23
diff changeset
   770
	Slot to handle the entry view creation.
hgs
parents: 23
diff changeset
   771
 */
hgs
parents: 23
diff changeset
   772
void TestAgendaUtil::handleEntryViewCreationCompleted(int status)
hgs
parents: 23
diff changeset
   773
{
hgs
parents: 23
diff changeset
   774
	// Stop the wait timer.
hgs
parents: 23
diff changeset
   775
	if (mWait && mWait->IsStarted()) {
hgs
parents: 23
diff changeset
   776
		mWait->AsyncStop();
hgs
parents: 23
diff changeset
   777
	}
hgs
parents: 23
diff changeset
   778
	QVERIFY(!status);
hgs
parents: 23
diff changeset
   779
}
hgs
parents: 23
diff changeset
   780
hgs
parents: 23
diff changeset
   781
/*!
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   782
	Private function to create entries needed for some of the test cases.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   783
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   784
int TestAgendaUtil::createMultipleEntries()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   785
{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   786
	// Start creating the entries.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   787
	int numOfEntries = 0;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   788
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   789
	// Appointments.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   790
	AgendaEntry firstEntry;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   791
	firstEntry.setType(AgendaEntry::TypeAppoinment);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   792
	firstEntry.setSummary("first entry");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   793
	QDateTime firstEntryStart(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   794
			QDate(2020, 05, 01), QTime(9, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   795
	QDateTime firstEntryEnd(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   796
			QDate(2020, 05, 01), QTime(10, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   797
	firstEntry.setStartAndEndTime(firstEntryStart, firstEntryEnd);
55
hgs
parents: 45
diff changeset
   798
	ulong id = mAgendaUtil->store(firstEntry);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   799
	numOfEntries++;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   800
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   801
	// Events.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   802
	AgendaEntry firstEvent;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   803
	firstEvent.setType(AgendaEntry::TypeEvent);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   804
	firstEvent.setSummary("first event");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   805
	QDateTime firstEventStart(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   806
			QDate(2023, 05, 01), QTime(10, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   807
	QDateTime firstEventEnd(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   808
			QDate(2023, 05, 01), QTime(12, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   809
	firstEvent.setStartAndEndTime(firstEventStart, firstEventEnd);
55
hgs
parents: 45
diff changeset
   810
	id = mAgendaUtil->store(firstEvent);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   811
	numOfEntries++;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   812
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   813
	// ToDos.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   814
	AgendaEntry firstToDo;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   815
	firstToDo.setType(AgendaEntry::TypeTodo);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   816
	firstToDo.setSummary("first ToDo");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   817
	QDateTime firstToDoStart(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   818
			QDate(2026, 05, 01), QTime(10, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   819
	QDateTime firstToDoEnd(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   820
				QDate(2026, 05, 01), QTime(10, 0, 0, 0));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   821
	firstToDo.setStartAndEndTime(firstToDoStart, firstToDoEnd);
55
hgs
parents: 45
diff changeset
   822
	id = mAgendaUtil->store(firstToDo);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   823
	numOfEntries++;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   824
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   825
	return numOfEntries;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   826
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   827
45
hgs
parents: 23
diff changeset
   828
/*!
hgs
parents: 23
diff changeset
   829
	Test Cloning of Note to To-do
hgs
parents: 23
diff changeset
   830
 */
hgs
parents: 23
diff changeset
   831
void TestAgendaUtil::cloneNoteToTodo()
hgs
parents: 23
diff changeset
   832
{
hgs
parents: 23
diff changeset
   833
	// Create an agenda entry(TypeNote) and save it.
hgs
parents: 23
diff changeset
   834
	AgendaEntry noteEntry(AgendaEntry::TypeNote);
hgs
parents: 23
diff changeset
   835
	noteEntry.setDescription(QString("test cloning of note to todo"));
hgs
parents: 23
diff changeset
   836
hgs
parents: 23
diff changeset
   837
	// Clone the entry type TypeNote to TypeTodo
hgs
parents: 23
diff changeset
   838
	long notSavedEntryId = mAgendaUtil->cloneEntry(
hgs
parents: 23
diff changeset
   839
			noteEntry, AgendaEntry::TypeTodo);
hgs
parents: 23
diff changeset
   840
	// Shouldn't clone the entry as AgendaEntry is not yet saved.
hgs
parents: 23
diff changeset
   841
	QVERIFY(!notSavedEntryId);
hgs
parents: 23
diff changeset
   842
55
hgs
parents: 45
diff changeset
   843
	long noteId = mAgendaUtil->store(noteEntry);
45
hgs
parents: 23
diff changeset
   844
	QVERIFY(noteId);
hgs
parents: 23
diff changeset
   845
hgs
parents: 23
diff changeset
   846
	// Fetch the saved note entry for cloning
hgs
parents: 23
diff changeset
   847
	AgendaEntry fetchedNoteEntry = mAgendaUtil->fetchById(noteId);
hgs
parents: 23
diff changeset
   848
hgs
parents: 23
diff changeset
   849
	// Clone the entry type ENote to ETodo
hgs
parents: 23
diff changeset
   850
	long clonedTodoEntryId = mAgendaUtil->cloneEntry(
hgs
parents: 23
diff changeset
   851
			fetchedNoteEntry, AgendaEntry::TypeTodo);
hgs
parents: 23
diff changeset
   852
	QVERIFY(clonedTodoEntryId);
hgs
parents: 23
diff changeset
   853
hgs
parents: 23
diff changeset
   854
	AgendaEntry clonedTodoEntry = mAgendaUtil->fetchById(clonedTodoEntryId);
hgs
parents: 23
diff changeset
   855
	// Compare the attributes.
hgs
parents: 23
diff changeset
   856
	QCOMPARE(AgendaEntry::TypeTodo,clonedTodoEntry.type());
hgs
parents: 23
diff changeset
   857
	QCOMPARE(fetchedNoteEntry.description(),clonedTodoEntry.description());
hgs
parents: 23
diff changeset
   858
}
hgs
parents: 23
diff changeset
   859
hgs
parents: 23
diff changeset
   860
/*!
hgs
parents: 23
diff changeset
   861
	Test Cloning of Note to Meeting
hgs
parents: 23
diff changeset
   862
 */
hgs
parents: 23
diff changeset
   863
hgs
parents: 23
diff changeset
   864
void TestAgendaUtil::cloneNoteToMeeting()
hgs
parents: 23
diff changeset
   865
{
hgs
parents: 23
diff changeset
   866
	// Create an agenda entry(TypeNote) and save it.
hgs
parents: 23
diff changeset
   867
	AgendaEntry noteEntry(AgendaEntry::TypeNote);
hgs
parents: 23
diff changeset
   868
	noteEntry.setDescription(QString("test cloning of note to meeting"));
hgs
parents: 23
diff changeset
   869
55
hgs
parents: 45
diff changeset
   870
	long noteId = mAgendaUtil->store(noteEntry);
45
hgs
parents: 23
diff changeset
   871
	QVERIFY(noteId);
hgs
parents: 23
diff changeset
   872
hgs
parents: 23
diff changeset
   873
	// Fetch the saved note entry for cloning
hgs
parents: 23
diff changeset
   874
	AgendaEntry fetchedNoteEntry = mAgendaUtil->fetchById(noteId);
hgs
parents: 23
diff changeset
   875
hgs
parents: 23
diff changeset
   876
	// Clone the entry type TypeNote to TypeTodo
hgs
parents: 23
diff changeset
   877
	long clonedMeetingEntryId = mAgendaUtil->cloneEntry(
hgs
parents: 23
diff changeset
   878
			fetchedNoteEntry, AgendaEntry::TypeAppoinment);
hgs
parents: 23
diff changeset
   879
	QVERIFY(clonedMeetingEntryId);
hgs
parents: 23
diff changeset
   880
hgs
parents: 23
diff changeset
   881
	AgendaEntry clonedMeetingEntry = mAgendaUtil->fetchById(clonedMeetingEntryId);
hgs
parents: 23
diff changeset
   882
	// Compare the attributes.
hgs
parents: 23
diff changeset
   883
	QCOMPARE(AgendaEntry::TypeAppoinment,clonedMeetingEntry.type());
hgs
parents: 23
diff changeset
   884
	QCOMPARE(fetchedNoteEntry.description(),clonedMeetingEntry.description());
hgs
parents: 23
diff changeset
   885
}
hgs
parents: 23
diff changeset
   886
hgs
parents: 23
diff changeset
   887
/*!
hgs
parents: 23
diff changeset
   888
	Test Cloning of To-do to Note
hgs
parents: 23
diff changeset
   889
 */
hgs
parents: 23
diff changeset
   890
void TestAgendaUtil::cloneTodoToNote()
hgs
parents: 23
diff changeset
   891
{
hgs
parents: 23
diff changeset
   892
	// Create an agenda entry(TypeTodo) and save it.
hgs
parents: 23
diff changeset
   893
	AgendaEntry todoEntry(AgendaEntry::TypeTodo);
hgs
parents: 23
diff changeset
   894
	todoEntry.setDescription(QString("test cloning of todo to note"));
hgs
parents: 23
diff changeset
   895
	QDateTime dueDate(QDate(2011, 06, 01), QTime(10, 0, 0, 0));
hgs
parents: 23
diff changeset
   896
	todoEntry.setStartAndEndTime(dueDate, dueDate);
55
hgs
parents: 45
diff changeset
   897
	long todoId = mAgendaUtil->store(todoEntry);
45
hgs
parents: 23
diff changeset
   898
	QVERIFY(todoId);
hgs
parents: 23
diff changeset
   899
hgs
parents: 23
diff changeset
   900
	// Fetch the saved note entry for cloning
hgs
parents: 23
diff changeset
   901
	AgendaEntry fetchedTodoEntry = mAgendaUtil->fetchById(todoId);
hgs
parents: 23
diff changeset
   902
hgs
parents: 23
diff changeset
   903
	// Clone the entry type ETodo to EANote
hgs
parents: 23
diff changeset
   904
	ulong clonedNoteId = mAgendaUtil->cloneEntry(
hgs
parents: 23
diff changeset
   905
			fetchedTodoEntry, AgendaEntry::TypeNote);
hgs
parents: 23
diff changeset
   906
	QVERIFY(clonedNoteId);
hgs
parents: 23
diff changeset
   907
	AgendaEntry clonedNoteEntry =
hgs
parents: 23
diff changeset
   908
			mAgendaUtil->fetchById(clonedNoteId);
hgs
parents: 23
diff changeset
   909
hgs
parents: 23
diff changeset
   910
	// Compare the attributes.
hgs
parents: 23
diff changeset
   911
	QCOMPARE(AgendaEntry::TypeNote,clonedNoteEntry.type());
hgs
parents: 23
diff changeset
   912
	QCOMPARE(fetchedTodoEntry.description(),clonedNoteEntry.description());
hgs
parents: 23
diff changeset
   913
	QCOMPARE(fetchedTodoEntry.favourite(),clonedNoteEntry.favourite());
hgs
parents: 23
diff changeset
   914
}
hgs
parents: 23
diff changeset
   915
hgs
parents: 23
diff changeset
   916
/*!
hgs
parents: 23
diff changeset
   917
	Test Cloning of To-do to Meeting
hgs
parents: 23
diff changeset
   918
 */
hgs
parents: 23
diff changeset
   919
void TestAgendaUtil::cloneTodoToMeeting()
hgs
parents: 23
diff changeset
   920
{
hgs
parents: 23
diff changeset
   921
	// Create an agenda entry(TypeTodo) and save it.
hgs
parents: 23
diff changeset
   922
	AgendaEntry todoEntry(AgendaEntry::TypeTodo);
hgs
parents: 23
diff changeset
   923
	todoEntry.setSummary(QString("test cloning of todo to meeting"));
hgs
parents: 23
diff changeset
   924
	QDateTime dueDate(QDate(2011, 06, 01), QTime(10, 0, 0, 0));
hgs
parents: 23
diff changeset
   925
	todoEntry.setStartAndEndTime(dueDate, dueDate);
55
hgs
parents: 45
diff changeset
   926
	long todoId = mAgendaUtil->store(todoEntry);
45
hgs
parents: 23
diff changeset
   927
	QVERIFY(todoId);
hgs
parents: 23
diff changeset
   928
hgs
parents: 23
diff changeset
   929
	// Fetch the saved note entry for cloning
hgs
parents: 23
diff changeset
   930
	AgendaEntry fetchedTodoEntry = mAgendaUtil->fetchById(todoId);
hgs
parents: 23
diff changeset
   931
hgs
parents: 23
diff changeset
   932
	// Clone the entry type TypeTodo to TypeAppointment
hgs
parents: 23
diff changeset
   933
	ulong clonedAppointmentId = mAgendaUtil->cloneEntry(
hgs
parents: 23
diff changeset
   934
			fetchedTodoEntry, AgendaEntry::TypeAppoinment);
hgs
parents: 23
diff changeset
   935
	QVERIFY(clonedAppointmentId);
hgs
parents: 23
diff changeset
   936
	AgendaEntry clonedAppointmentEntry =
hgs
parents: 23
diff changeset
   937
			mAgendaUtil->fetchById(clonedAppointmentId);
hgs
parents: 23
diff changeset
   938
hgs
parents: 23
diff changeset
   939
	// Compare the attributes.
hgs
parents: 23
diff changeset
   940
	QCOMPARE(AgendaEntry::TypeAppoinment,clonedAppointmentEntry.type());
hgs
parents: 23
diff changeset
   941
	QCOMPARE(fetchedTodoEntry.summary(),clonedAppointmentEntry.summary());
hgs
parents: 23
diff changeset
   942
	QCOMPARE(fetchedTodoEntry.startTime(),clonedAppointmentEntry.startTime());
hgs
parents: 23
diff changeset
   943
	QCOMPARE(fetchedTodoEntry.endTime(),clonedAppointmentEntry.endTime());
hgs
parents: 23
diff changeset
   944
}
hgs
parents: 23
diff changeset
   945
hgs
parents: 23
diff changeset
   946
/*!
hgs
parents: 23
diff changeset
   947
	Test Cloning of Meeting to Note
hgs
parents: 23
diff changeset
   948
 */
hgs
parents: 23
diff changeset
   949
void TestAgendaUtil::cloneMeetingToNote()
hgs
parents: 23
diff changeset
   950
{
hgs
parents: 23
diff changeset
   951
	// Create an agenda entry(TypeAppointment) and save it.
hgs
parents: 23
diff changeset
   952
	AgendaEntry appointment(AgendaEntry::TypeAppoinment);
hgs
parents: 23
diff changeset
   953
	appointment.setSummary(QString("test cloning of meeting to note"));
hgs
parents: 23
diff changeset
   954
	QDateTime startDate(QDate(2011, 06, 01), QTime(10, 0, 0, 0));
hgs
parents: 23
diff changeset
   955
	QDateTime endDate(QDate(2011, 06, 01), QTime(12, 0, 0, 0));
hgs
parents: 23
diff changeset
   956
	appointment.setStartAndEndTime(startDate, endDate);
55
hgs
parents: 45
diff changeset
   957
	long appointmentId = mAgendaUtil->store(appointment);
45
hgs
parents: 23
diff changeset
   958
	QVERIFY(appointmentId);
hgs
parents: 23
diff changeset
   959
hgs
parents: 23
diff changeset
   960
	// Fetch the saved note entry for cloning
hgs
parents: 23
diff changeset
   961
	AgendaEntry fetchedAppointment = mAgendaUtil->fetchById(appointmentId);
hgs
parents: 23
diff changeset
   962
hgs
parents: 23
diff changeset
   963
	// Clone the entry type TypeAppointment to TypeNote
hgs
parents: 23
diff changeset
   964
	ulong clonedNoteId = mAgendaUtil->cloneEntry(
hgs
parents: 23
diff changeset
   965
			fetchedAppointment, AgendaEntry::TypeNote);
hgs
parents: 23
diff changeset
   966
	QVERIFY(clonedNoteId);
hgs
parents: 23
diff changeset
   967
hgs
parents: 23
diff changeset
   968
	AgendaEntry clonedNote = mAgendaUtil->fetchById(clonedNoteId);
hgs
parents: 23
diff changeset
   969
	// Compare the attributes.
hgs
parents: 23
diff changeset
   970
	QCOMPARE(AgendaEntry::TypeNote,clonedNote.type());
hgs
parents: 23
diff changeset
   971
	QCOMPARE(fetchedAppointment.description(),clonedNote.description());
hgs
parents: 23
diff changeset
   972
	QCOMPARE(fetchedAppointment.favourite(),clonedNote.favourite());
hgs
parents: 23
diff changeset
   973
}
hgs
parents: 23
diff changeset
   974
hgs
parents: 23
diff changeset
   975
/*!
hgs
parents: 23
diff changeset
   976
	Test Cloning of Meeting to To-do
hgs
parents: 23
diff changeset
   977
 */
hgs
parents: 23
diff changeset
   978
void TestAgendaUtil::cloneMeetingToTodo()
hgs
parents: 23
diff changeset
   979
{
hgs
parents: 23
diff changeset
   980
	// Create an agenda entry(TypeAppointment) and save it.
hgs
parents: 23
diff changeset
   981
	AgendaEntry appointment(AgendaEntry::TypeAppoinment);
hgs
parents: 23
diff changeset
   982
	appointment.setSummary(QString("test cloning of meeting to todo"));
hgs
parents: 23
diff changeset
   983
	QDateTime startDate(QDate(2011, 06, 01), QTime(10, 0, 0, 0));
hgs
parents: 23
diff changeset
   984
	QDateTime endDate(QDate(2011, 06, 01), QTime(12, 0, 0, 0));
hgs
parents: 23
diff changeset
   985
	appointment.setStartAndEndTime(startDate, endDate);
55
hgs
parents: 45
diff changeset
   986
	long appointmentId = mAgendaUtil->store(appointment);
45
hgs
parents: 23
diff changeset
   987
	QVERIFY(appointmentId);
hgs
parents: 23
diff changeset
   988
hgs
parents: 23
diff changeset
   989
	// Fetch the saved note entry for cloning
hgs
parents: 23
diff changeset
   990
	AgendaEntry fetchedAppointment = mAgendaUtil->fetchById(appointmentId);
hgs
parents: 23
diff changeset
   991
hgs
parents: 23
diff changeset
   992
	// Clone the entry type EAppointment to TypeNote
hgs
parents: 23
diff changeset
   993
	ulong clonedTodoId = mAgendaUtil->cloneEntry(
hgs
parents: 23
diff changeset
   994
			fetchedAppointment, AgendaEntry::TypeTodo);
hgs
parents: 23
diff changeset
   995
	QVERIFY(clonedTodoId);
hgs
parents: 23
diff changeset
   996
hgs
parents: 23
diff changeset
   997
	AgendaEntry clonedTodo = mAgendaUtil->fetchById(clonedTodoId);
hgs
parents: 23
diff changeset
   998
	// Compare the attributes.
hgs
parents: 23
diff changeset
   999
	QCOMPARE(AgendaEntry::TypeTodo,clonedTodo.type());
hgs
parents: 23
diff changeset
  1000
	QCOMPARE(fetchedAppointment.summary(),clonedTodo.summary());
hgs
parents: 23
diff changeset
  1001
	QCOMPARE(fetchedAppointment.startTime(),clonedTodo.startTime());
hgs
parents: 23
diff changeset
  1002
	QCOMPARE(fetchedAppointment.endTime(),clonedTodo.endTime());
hgs
parents: 23
diff changeset
  1003
}
hgs
parents: 23
diff changeset
  1004
hgs
parents: 23
diff changeset
  1005
/*!
hgs
parents: 23
diff changeset
  1006
	test making To-do as completed
hgs
parents: 23
diff changeset
  1007
 */
hgs
parents: 23
diff changeset
  1008
void TestAgendaUtil::completeTodo()
hgs
parents: 23
diff changeset
  1009
{
hgs
parents: 23
diff changeset
  1010
	// Create and Save a To-do event.
hgs
parents: 23
diff changeset
  1011
	AgendaEntry todoEntry(AgendaEntry::TypeTodo);
hgs
parents: 23
diff changeset
  1012
	todoEntry.setSummary(QString("Test making To-do event as Completed"));
hgs
parents: 23
diff changeset
  1013
	QDateTime dueDate(QDate(2011, 06, 01), QTime(0, 0, 0, 0));
hgs
parents: 23
diff changeset
  1014
	todoEntry.setStartAndEndTime(dueDate, dueDate);
hgs
parents: 23
diff changeset
  1015
55
hgs
parents: 45
diff changeset
  1016
	ulong todoId = mAgendaUtil->store(todoEntry);
45
hgs
parents: 23
diff changeset
  1017
	QVERIFY(todoId);
hgs
parents: 23
diff changeset
  1018
hgs
parents: 23
diff changeset
  1019
	// Complete the to-do.
hgs
parents: 23
diff changeset
  1020
	AgendaEntry fetchedTodoEntry = mAgendaUtil->fetchById(todoId);
hgs
parents: 23
diff changeset
  1021
	QDateTime completedTime(QDate(2011, 07, 01),QTime(0, 0, 0, 0));
hgs
parents: 23
diff changeset
  1022
	mAgendaUtil->setCompleted(fetchedTodoEntry, true, completedTime);
hgs
parents: 23
diff changeset
  1023
hgs
parents: 23
diff changeset
  1024
	// Compare the completed time.
hgs
parents: 23
diff changeset
  1025
	AgendaEntry completedTodo = mAgendaUtil->fetchById(todoId);
hgs
parents: 23
diff changeset
  1026
	QCOMPARE(completedTime,completedTodo.completedDateTime());
hgs
parents: 23
diff changeset
  1027
}
hgs
parents: 23
diff changeset
  1028
hgs
parents: 23
diff changeset
  1029
/*!
hgs
parents: 23
diff changeset
  1030
	test making To-do as uncompleted
hgs
parents: 23
diff changeset
  1031
 */
hgs
parents: 23
diff changeset
  1032
void TestAgendaUtil::unCompletedTodo()
hgs
parents: 23
diff changeset
  1033
{
hgs
parents: 23
diff changeset
  1034
	// Create and Save a To-do event.
hgs
parents: 23
diff changeset
  1035
	AgendaEntry todoEntry(AgendaEntry::TypeTodo);
hgs
parents: 23
diff changeset
  1036
	todoEntry.setSummary(QString("Test making To-do event as Completed"));
hgs
parents: 23
diff changeset
  1037
	QDateTime dueDate(QDate(2011, 06, 01), QTime(0, 0, 0, 0));
hgs
parents: 23
diff changeset
  1038
	todoEntry.setStartAndEndTime(dueDate, dueDate);
hgs
parents: 23
diff changeset
  1039
55
hgs
parents: 45
diff changeset
  1040
	ulong todoId = mAgendaUtil->store(todoEntry);
45
hgs
parents: 23
diff changeset
  1041
	QVERIFY(todoId);
hgs
parents: 23
diff changeset
  1042
hgs
parents: 23
diff changeset
  1043
	// Complete the to-do.
hgs
parents: 23
diff changeset
  1044
	AgendaEntry fetchedTodoEntry = mAgendaUtil->fetchById(todoId);
hgs
parents: 23
diff changeset
  1045
	QDateTime completedTime(QDate(2011, 07, 01),QTime(0, 0, 0, 0));
hgs
parents: 23
diff changeset
  1046
	mAgendaUtil->setCompleted(fetchedTodoEntry, true, completedTime);
hgs
parents: 23
diff changeset
  1047
hgs
parents: 23
diff changeset
  1048
	// Compare the completed time.
hgs
parents: 23
diff changeset
  1049
	AgendaEntry unCompletedTodo = mAgendaUtil->fetchById(todoId);
hgs
parents: 23
diff changeset
  1050
	// make to-do as uncompleted.
hgs
parents: 23
diff changeset
  1051
	mAgendaUtil->setCompleted(fetchedTodoEntry, false, completedTime);
hgs
parents: 23
diff changeset
  1052
hgs
parents: 23
diff changeset
  1053
	QCOMPARE(completedTime, unCompletedTodo.completedDateTime());
hgs
parents: 23
diff changeset
  1054
}
hgs
parents: 23
diff changeset
  1055
81
hgs
parents: 64
diff changeset
  1056
/*
45
hgs
parents: 23
diff changeset
  1057
int main(int argc, char *argv[])
hgs
parents: 23
diff changeset
  1058
{
hgs
parents: 23
diff changeset
  1059
	QApplication app(argc, argv);
hgs
parents: 23
diff changeset
  1060
	TestAgendaUtil tc;
hgs
parents: 23
diff changeset
  1061
hgs
parents: 23
diff changeset
  1062
	char *pass[3];
hgs
parents: 23
diff changeset
  1063
	pass[0] = argv[0];
hgs
parents: 23
diff changeset
  1064
	pass[1] = "-o";
hgs
parents: 23
diff changeset
  1065
	pass[2] = "c:\\data\\TestAgendaUtil.txt";
hgs
parents: 23
diff changeset
  1066
hgs
parents: 23
diff changeset
  1067
	int res = QTest::qExec(&tc, 3, pass);
hgs
parents: 23
diff changeset
  1068
	return res;
hgs
parents: 23
diff changeset
  1069
}
81
hgs
parents: 64
diff changeset
  1070
*/
hgs
parents: 64
diff changeset
  1071
hgs
parents: 64
diff changeset
  1072
QTEST_MAIN ( TestAgendaUtil )
45
hgs
parents: 23
diff changeset
  1073
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1074
#include "unittest_agendautil.moc"
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1075
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1076
// End of file	--Don't remove this.