1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
/****************************************************************************
**
** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Mobility Components.
**
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.0
import QtTest 1.0
import QtOrganizer 5.0
Rectangle {
id: test;
QOrganizerTestUtility {
id: utility
}
Event { id: event }
Event {
id:newEvent1
displayLabel: "NewEvent1"
description: "This is a new created event 1"
startDateTime: '2010-12-12'
endDateTime: '2010-12-13'
}
Event {
id:newEvent2
displayLabel: "NewEvent2"
description: "This is a new created event 2"
startDateTime: '2010-12-13'
endDateTime: '2010-12-14'
}
TestCase {
name: "OrganizerItemTests"
function test_addRemoveEvent() {
var list = utility.getManagerList();
if (list.length < 0) {
console.log("No manager to test");
return;
}
//Test all manager backends
for (var i = 0; i < list.length; i ++) {
var managerName = list[i];
console.log(managerName);
var model = utility.createModel(managerName);
utility.init(model);
utility.empty_calendar()
//------model save event------//
model.saveItem(newEvent1);
//make sure event is saved
utility.waitModelChange(1);
verify(model.itemCount === 1);
var ids = model.itemIds();
verify(ids.length === 1);
var item = model.item(ids[0]);
//verify DisplayLabel and description
verify(item.displayLabel === "NewEvent1");
verify(item.description === "This is a new created event 1");
//------modify saved event------//
item.displayLabel = "EditedEvent1";
model.saveItem(item);
//make sure exist event saved/updated and no duplicated items saved
utility.waitModelChange(1);
//console.log(model.itemCount);
verify(model.itemCount === 1);
var item2 = model.item(ids[0]);
verify(item2.displayLabel === "EditedEvent1");
//------delete event------//
model.removeItem(ids[0]);
utility.waitModelChange(0);
verify(model.itemCount === 0);
//delete invalid items and no crash
model.removeItem(ids[0]);
utility.waitModelChange(0);
verify(model.itemCount === 0);
//remove a list of event
model.saveItem(newEvent2);
utility.waitModelChange(1);
model.saveItem(newEvent1);
utility.waitModelChange(1);
var deletList = model.itemIds();
model.removeItems(deletList);
utility.waitModelChange(0);
}
}
}
}
|