tizen 2.3 release
[framework/web/wearable/wrt-security.git] / tests / smack_security / smackSecurityTest2 / js / WAC2.0 / TestTask.js
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 /**
17  * This file contains the implementation of test task class.
18  *
19  * @author      Shi Hezhang (hezhang.shi@samsung.com)
20  * @author      Pan Rui (r.pan@samsung.com)
21  * @version     0.1
22  */
23
24 var TestTask = {
25     TYPE_MISMATCH_ERR: 17,
26     INVALID_VALUES_ERR: 22,
27     task: null,
28     Itask:null,
29     old_task:null,
30     num_tasks:null,
31     found_tasks:null,
32     all_tasks:null,
33     expectedErrorCode: null,
34
35         createTestEvent: function (response)
36     {
37         TestTask.task.createTask({description:'Test Task 1',
38                 summary:'Task created to test Itask creation',
39                 dueDate: new Date(2009, 3, 30, 10, 0),
40                 status:0,
41                 priority:0});
42     },
43
44     onSuccessNonExpected: function(response)
45     {
46         TestEngine.test("non expected successCallback invoked", false);
47     },
48
49     onErrorExpected: function(response)
50     {
51         TestEngine.test("expected errorCallback invoked", true);
52         TestEngine.testPresence("error code", response.code);
53         TestEngine.test("Error number, was: " + response.code + ', expected: ' + TestTask.expectedErrorCode, response.code == TestTask.expectedErrorCode);
54     },
55
56     onSuccess: function(response)
57     {
58         TestEngine.test("Callback success", true);
59     },
60
61     onErrorCb: function(response)
62     {
63         TestEngine.logErr("errorCallback invoked [" + response.code + ']');
64     },
65
66     //Cal001
67     test_modulePresence: function()
68     {
69         TestEngine.test("Calendar manager presence", deviceapis.pim.task);
70     },
71
72     //Cal002
73     test_taskProperties: function()
74     {
75         TestEngine.test("test property HIGH_PRIORITY", deviceapis.pim.task.taskproperties.HIGH_PRIORITY === 0);
76         TestEngine.test("test property MEDIUM_PRIORITY", deviceapis.pim.task.taskproperties.MEDIUM_PRIORITY  === 1);
77         TestEngine.test("test property LOW_PRIORITY", deviceapis.pim.task.taskproperties.LOW_PRIORITY === 2);
78         TestEngine.test("test property STATUS_COMPLETED", deviceapis.pim.task.taskproperties.STATUS_COMPLETED === 0);
79         TestEngine.test("test property STATUS_NEEDS_ACTION", deviceapis.pim.task.taskproperties.STATUS_NEEDS_ACTION === 1);
80         TestEngine.test("test property STATUS_IN_PROCESS", deviceapis.pim.task.taskproperties.STATUS_IN_PROCESS === 2);
81         TestEngine.test("test property STATUS_CANCELLED", deviceapis.pim.task.taskproperties.STATUS_CANCELLED === 3);
82     },
83
84     onSuccessGetTask: function (response)
85     {
86         TestEngine.test("Found tasks", response.length > 0);
87         TestTask.task=response[0];
88     },
89
90     acceptError: function()
91     {
92         TestEngine.test("Error as expected", true);
93     },
94
95     rejectSuccess: function()
96     {
97         TestEngine.test("Success - error expected", false);
98     },
99
100     //Cal003
101     test_getTask: function()
102     {
103         var cbObj = TestEngine.registerCallback("getTaskLists",
104             TestTask.rejectSuccess,
105             TestTask.acceptError);
106         deviceapis.pim.task.getTaskLists(cbObj.successCallback, cbObj.errorCallback);
107     },
108
109     //Cal004
110     test_getTaskNoCallbacks: function()
111     {
112         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, deviceapis.pim.task, "getTaskLists");
113         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, deviceapis.pim.task, "getTaskLists", 1);
114         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, deviceapis.pim.task, "getTaskLists", "test1");
115     },
116
117     //Cal005
118     test_getTaskInvalidCallbacks: function()
119     {
120         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, deviceapis.pim.task, "getTaskLists", 1, TestTask.onErrorCb);
121         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, deviceapis.pim.task, "getTaskLists", TestTask.onErrorCb, 2);
122         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, deviceapis.pim.task, "getTaskLists", 1, 2);
123         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, deviceapis.pim.task, "getTaskLists", "test1", "test2");
124     },
125
126     //Cal006
127     test_taskMethodsPresence: function()
128     {
129         TestEngine.testPresence("task.createTask presence", TestTask.task.createTask);
130         TestEngine.testPresence("task.addTask presence", TestTask.task.addTask);
131         TestEngine.testPresence("task.updateTask presence", TestTask.task.updateTask);
132         TestEngine.testPresence("task.deleteTask presence", TestTask.task.deleteTask);
133         TestEngine.testPresence("task.findTasks presence", TestTask.task.findTasks);
134     },
135
136     //Cal007
137     test_getTaskName: function()
138     {
139         var cName = TestTask.task.name;
140         TestEngine.test("test getName", isString(cName) && cName.length > 0);
141         TestEngine.log("task name: " + cName);
142     },
143
144     //Cal008
145     test_getTaskType: function ()
146     {
147         var cType = TestTask.task.type;
148         TestEngine.test("test getType", cType === 0 || cType === 1);
149         TestEngine.log("task type: " + cType);
150
151     },
152
153     //Cal009
154     test_taskStaticProperties: function()
155     {
156         TestEngine.test("test property SIM_TASK", TestTask.task.SIM_TASK === 0);
157         TestEngine.test("test property DEVICE_TASK", TestTask.task.DEVICE_TASK === 1);
158     },
159
160     //Cal010
161     test_createEmptyTask: function()
162     {
163         TestTask.Itask = null;
164         TestTask.Itask = TestTask.task.createTask();
165         TestEngine.test("Itask created", TestTask.Itask != null);
166     },
167
168     //Cal011
169     test_taskAttributes: function()
170     {
171         var Itask = TestTask.task.createTask();
172         TestEngine.test("test attribute id - type: " + typeof Itask.id,
173             isString(Itask.id));
174         var oldId = Itask.id;
175         Itask.id = "test" + oldId;
176         TestEngine.test("attribute id is read only", Itask.id === oldId);
177         TestEngine.test("test attribute description - type: " + typeof Itask.description,
178             isString(Itask.description));
179         TestEngine.test("test attribute summary - type: " + typeof Itask.summary,
180             isString(Itask.summary));
181         //TestEngine.test("test attribute categories - type: " + typeof Itask.categories,
182          //   typeof Itask.categories == 'object' && Itask.categories.length == 0);
183         TestEngine.test("test attribute status - type: " + typeof Itask.status + ", value: " + Itask.status,
184             isNumber(Itask.status));
185          TestEngine.test("test attribute priority - type: " + typeof Itask.priority + ", value: " + Itask.priority,
186             isNumber(Itask.priority));
187     },
188
189     //Cal012
190     test_createTask: function()
191     {
192         var date = new Date(2009, 3, 30, 10, 0);
193         var newEvent = TestTask.task.createTask({
194                priority:1,
195                description:'Test Task 1',
196                summary:'Task created to test Itask creation',
197                dueDate: new Date(2009, 3, 30, 10, 0),
198                status:1
199           });
200                 TestEngine.test("correct duration", newEvent.priority === 1);
201                 TestEngine.test("correct duration", newEvent.status === 1);
202                 TestEngine.test("Itask with param created ", newEvent);
203                 TestEngine.test("correct description", newEvent.description === 'Test Task 1');
204                 TestEngine.test("correct summary", newEvent.summary === 'Task created to test Itask creation');
205                 TestEngine.test("correct dueDate", newEvent.dueDate.toString() === date.toString());
206     },
207
208     onSuccessAddTaskCountBefore: function(response)
209     {
210         TestEngine.log("onSuccessAddTaskCountBefore entered");
211         //save current number of tasks
212         TestTask.num_tasks = response.length;
213         //add new Itask
214         var objCb = TestEngine.registerCallback("onSuccessAddTaskCountBefore",
215             TestTask.onSuccessAddTaskAdd,
216             TestTask.onErrorCb);
217         TestTask.task.addTask(objCb.successCallback,
218             objCb.errorCallback,
219             TestTask.Itask);
220     },
221
222     onSuccessAddTaskAdd: function(response)
223     {
224         TestEngine.log("onSuccessAddTaskAdd entered");
225         //count the number of tasks
226         var objCb = TestEngine.registerCallback("onSuccessAddTaskAdd",
227             TestTask.onSuccessAddTaskCountAfter,
228             TestTask.onErrorCb);
229         TestTask.task.findTasks(objCb.successCallback,
230             objCb.errorCallback);
231     },
232
233     onSuccessAddTaskCountAfter: function(response)
234     {
235         TestEngine.log("onSuccessAddTaskCountAfter entered");
236         TestEngine.test("Number of tasks increased", TestTask.num_tasks+1 == response.length);
237         //validate Itask
238         var eventValidated = false;
239         TestEngine.log("added Itask's id " + TestTask.Itask.id);
240         for (var i in response) {
241             if (TestTask.Itask.id != response[i].id) {
242                 continue;
243             }
244             TestEngine.test("description the same", response[i].description === TestTask.Itask.description);
245             TestEngine.test("summary the same", response[i].summary === TestTask.Itask.summary);
246             TestEngine.test("dueDate the same", response[i].dueDate.toString() === TestTask.Itask.dueDate.toString());
247             TestEngine.test("status the same", response[i].status === TestTask.Itask.status);
248             TestEngine.test("priority the same", response[i].priority === TestTask.Itask.priority);
249             eventValidated = true;
250         }
251         TestEngine.test("Task has been validated", eventValidated)
252         TestTask.found_tasks=null;
253         TestTask.num_tasks=null;
254     },
255
256     //Cal013
257     test_addTask1: function()
258     {
259         TestTask.Itask = TestTask.task.createTask({
260                     description:'Task created to test Itask creation',
261                 summary:'Test Task 1',
262                 dueDate: new Date(2012, 11, 30, 10, 0),
263                 status: deviceapis.pim.task.taskproperties.STATUS_COMPLETED,
264                 priority: deviceapis.pim.task.taskproperties.HIGH_PRIORITY});
265         //save current number of tasks
266         var objCb = TestEngine.registerCallback("findTasks",
267             TestTask.onSuccessAddTaskCountBefore,
268             TestTask.onErrorCb);
269         TestTask.task.findTasks(objCb.successCallback, objCb.errorCallback);
270         //rest of test in callbacks...
271     },
272
273     //Cal014
274     test_addTask2: function()
275     {
276         TestTask.Itask = TestTask.task.createTask({
277                 summary:'Test Task 2',
278                 description:'Task created to test Itask creation',
279                 dueDate: new Date(2012, 11, 30, 10, 0),
280                 status: deviceapis.pim.task.taskproperties.STATUS_COMPLETED,
281                 priority: deviceapis.pim.task.taskproperties.HIGH_PRIORITY});
282         TestTask.Itask.dueDate = new Date(2012, 10, 30, 10, 0);
283         //save current number of tasks
284         var objCb = TestEngine.registerCallback("findTasks",
285             TestTask.onSuccessAddTaskCountBefore,
286             TestTask.onErrorCb);
287         TestTask.task.findTasks(objCb.successCallback, objCb.errorCallback);
288         //rest of test in callbacks...
289     },
290
291     //Cal015
292     test_addTask3: function()
293     {
294         TestTask.Itask = TestTask.task.createTask({
295                 summary:'Test Task 3',
296                 description:'Task created to test Itask creation',
297                 dueDate: new Date(2012, 11, 30, 10, 0),
298                 status: 2,
299                 priority: 0});
300         //save current number of tasks
301         var objCb = TestEngine.registerCallback("findTasks",
302             TestTask.onSuccessAddTaskCountBefore,
303             TestTask.onErrorCb);
304         TestTask.task.findTasks(objCb.successCallback, objCb.errorCallback);
305         //rest of test in callbacks...
306     },
307
308     //Cal016
309     test_addTask4: function()
310     {
311         TestTask.Itask = TestTask.task.createTask({
312                 summary:'Test Task 4',
313                 description:'Task created to test Itask creation',
314                 dueDate: new Date(2012, 11, 30, 10, 0),
315                 status: 0,
316                 priority: 0});
317
318         //save current number of tasks
319         var objCb = TestEngine.registerCallback("findTasks",
320             TestTask.onSuccessAddTaskCountBefore,
321             TestTask.onErrorCb);
322         TestTask.task.findTasks(objCb.successCallback, objCb.errorCallback);
323         //rest of test in callbacks...
324     },
325
326     //Cal017
327     test_addTask5: function()
328     {
329         TestTask.Itask = TestTask.task.createTask({
330                 summary:'Test Task 5',
331                 description:'Task created to test Itask creation',
332                 dueDate: new Date(2012, 11, 30, 10, 0),
333                 status: 0,
334                 priority: 0});
335         //save current number of tasks
336         var objCb = TestEngine.registerCallback("findTasks",
337             TestTask.onSuccessAddTaskCountBefore,
338             TestTask.onErrorCb);
339         TestTask.task.findTasks(objCb.successCallback, objCb.errorCallback);
340         //rest of test in callbacks...
341     },
342
343     //Cal018
344     test_addTaskNoParams: function()
345     {
346         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask");
347     },
348
349     //Cal019
350     test_addTaskNullCallbacksParams: function()
351     {
352         var Itask = TestTask.createTestEvent();
353         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", 1, TestTask.onErrorCb);
354         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", "test", TestTask.onErrorCb);
355         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", "test", TestTask.onErrorCb, Itask);
356         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", TestTask.onSuccessNonExpected, 1);
357         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", TestTask.onSuccessNonExpected, "test");
358         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", TestTask.onSuccessNonExpected, "test", Itask);
359         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", 1, 1, Itask);
360         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", "test", "test", Itask);
361     },
362
363     //Cal020
364     test_addTaskWrongEventParam: function()
365     {
366         TestTask.expectedErrorCode = TestTask.INVALID_VALUES_ERR;
367
368         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", TestTask.onSuccessNonExpected, TestTask.onErrorCb, 22);
369         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", TestTask.onSuccessNonExpected, TestTask.onErrorCb, "test");
370         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", TestTask.onSuccessNonExpected, TestTask.onErrorCb);
371         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "addTask", TestTask.onSuccessNonExpected, TestTask.onErrorCb, new Date());
372         var objCb1 = TestEngine.registerCallback("Add Itask with null Itask param",
373             TestTask.onSuccessNonExpected,
374             TestTask.onErrorExpected);
375         TestTask.task.addTask(objCb1.successCallback,
376             objCb1.errorCallback,
377             null);
378
379         var objCb2 = TestEngine.registerCallback("Add Itask with undefined Itask param",
380             TestTask.onSuccessNonExpected,
381             TestTask.onErrorExpected);
382         TestTask.task.addTask(objCb2.successCallback,
383             objCb2.errorCallback,
384             undefined);
385
386     },
387
388     onSuccessFindAllTasks: function(response)
389     {
390         TestEngine.test("FindAllTasks", response.length > 0);
391         TestTask.all_tasks=response;
392     },
393
394     //Cal021
395     test_findAllTasks: function()
396     {
397         var objCb = TestEngine.registerCallback("findTasks",
398             TestTask.onSuccessFindAllTasks,
399             TestTask.onErrorCb);
400         TestTask.task.findTasks(objCb.successCallback,
401             objCb.errorCallback);
402     },
403
404     onSuccessFindTaskWithFilterNoResults: function(response)
405     {
406         TestEngine.test("FindTasks with filter not found results", response.length == 0);
407         TestTask.num_tasks=null;
408     },
409
410     test_FindTasksWithFilterNoResults: function(filter)
411     {
412         if(filter) {
413             for(var i in filter) {
414                 TestEngine.log("---Filter---: " + i + " : " + filter[i]);
415             }
416         }
417         var objCb = TestEngine.registerCallback("findTasks",
418             TestTask.onSuccessFindTaskWithFilterNoResults,
419             TestTask.onErrorCb);
420         TestTask.task.findTasks(objCb.successCallback,
421             objCb.errorCallback,
422             filter);
423     },
424
425     onSuccessFindTaskWithFilterSomeResults: function(response)
426     {
427         TestEngine.test("FindTasks with filter found results", response.length > 0);
428         TestTask.num_tasks=null;
429     },
430
431     test_FindTasksWithFilterSomeResults: function(filter)
432     {
433         if(filter) {
434             for(var i in filter) {
435                 TestEngine.log("---Filter---: " + i + " : " + filter[i]);
436             }
437         }
438         var objCb = TestEngine.registerCallback("findTasks",
439             TestTask.onSuccessFindTaskWithFilterSomeResults,
440             TestTask.onErrorCb);
441         TestTask.task.findTasks(objCb.successCallback,
442             objCb.errorCallback,
443             filter);
444     },
445
446     //Cal022
447     test_findTasksId: function()
448     {
449         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
450         TestTask.test_FindTasksWithFilterSomeResults(
451             {id: TestTask.all_tasks[0].id});
452     },
453
454     //Cal023
455     test_findTasksSummary: function()
456     {
457         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
458         TestTask.test_FindTasksWithFilterSomeResults(
459             {summary:'Test Task 1'});
460     },
461
462     //Cal024
463     test_findTasksDescription: function()
464     {
465         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
466         TestTask.test_FindTasksWithFilterSomeResults(
467             {description:'Task created to test Itask creation'});
468     },
469
470     //Cal028~~~~~~~~~~~~
471     test_findTasksStatus: function()
472     {
473             var status1 = deviceapis.pim.task.taskproperties.STATUS_COMPLETED;
474             var status2 = deviceapis.pim.task.taskproperties.STATUS_IN_PROCESS;
475             var statusArray =new Array();
476                 statusArray.push(status1);
477                 statusArray.push(status2);
478         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
479         TestTask.test_FindTasksWithFilterSomeResults(
480             {status: statusArray});
481     },
482
483     //Cal028~~~~~~~~~~~~
484     test_findTasksPriority: function()
485     {
486             var priority1 = deviceapis.pim.task.taskproperties.HIGH_PRIORITY;
487             var priority2 = deviceapis.pim.task.taskproperties.MEDIUM_PRIORITY;
488             var priorityArray =new Array();
489                 priorityArray.push(priority1);
490                 priorityArray.push(priority2);
491         TestEngine.test("Some priority to be found", TestTask.all_tasks.length > 0);
492         TestTask.test_FindTasksWithFilterSomeResults(
493             {priority: priorityArray});
494     },
495
496
497     //Cal029
498     test_findTasksFullDueDate: function()
499     {
500         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
501         TestTask.test_FindTasksWithFilterSomeResults(
502             {initialDueDate: new Date(2010, 11, 30, 1, 0),
503              endDueDate: new Date(2012, 11, 30, 23, 0)});
504     },
505
506     //Cal030
507     test_findTasksInitialDueDate: function()
508     {
509         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
510         TestTask.test_FindTasksWithFilterSomeResults(
511             {initialDueDate: new Date(2010, 11, 30, 1, 0),
512               endDueDate: null});
513     },
514
515     //Cal031
516     test_findTasksEndDueDate: function()
517     {
518         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
519         TestTask.test_FindTasksWithFilterSomeResults(
520             {initialDueDate: null,
521               endDueDate: new Date(2012, 11, 30, 23, 0)});
522     },
523
524     //Cal032
525     test_findTasksEmptyFilter: function()
526     {
527         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
528         TestTask.test_FindTasksWithFilterSomeResults({});
529     },
530
531     //Cal033
532     test_findTasksFullDueDateNoResults: function()
533     {
534         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
535         TestTask.test_FindTasksWithFilterNoResults(
536             {initialDueDate: new Date(1980, 11, 30, 1, 0),
537              endDueDate: new Date(1980, 11, 30, 23, 0)});
538     },
539
540     //Cal035
541     test_findTasksSummaryNoResults: function()
542     {
543         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
544         TestTask.test_FindTasksWithFilterNoResults(
545             {summary:'non existing summary'});
546     },
547
548     //Cal036
549     test_findTasksDescriptionNoResults: function()
550     {
551         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
552         TestTask.test_FindTasksWithFilterNoResults(
553             {description:'non existing description'});
554     },
555
556     //Cal037
557     test_findTasksIdNoResults: function()
558     {
559         TestEngine.test("Some tasks to be found", TestTask.all_tasks.length > 0);
560         TestTask.test_FindTasksWithFilterNoResults(
561             {id:"2000000"});
562     },
563
564     //Cal039
565     test_findTasksNoParams: function()
566     {
567         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "findTasks");
568     },
569
570     //Cal040
571     test_findTasksNullCallbacksParams: function()
572     {
573         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "findTasks", TestTask.onSuccessNonExpected, 1);
574         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "findTasks", TestTask.onSuccessNonExpected, "test");
575         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "findTasks", 1, TestTask.onErrorCb);
576         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "findTasks", "test", TestTask.onErrorCb);
577         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "findTasks", 1, 1);
578         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "findTasks", "test", "test");
579     },
580
581     //Cal041
582     test_findTasksWrongFilterParam: function()
583     {
584         TestTask.expectedErrorCode = TestTask.TYPE_MISMATCH_ERR;
585         var objCb1 = TestEngine.registerCallback("Find tasks with null filter param",
586             TestTask.onSuccess,
587             TestTask.onErrorCb);
588         TestTask.task.findTasks(objCb1.successCallback,
589             objCb1.errorCallback,
590             null);
591
592         var objCb2 = TestEngine.registerCallback("Find tasks with undefined filter param",
593             TestTask.onSuccess,
594             TestTask.onErrorCb);
595         TestTask.task.findTasks(objCb2.successCallback,
596             objCb2.errorCallback,
597             undefined);
598
599         var objCb3 = TestEngine.registerCallback("Find tasks with null filter param",
600             TestTask.onSuccess,
601             TestTask.onErrorCb);
602         TestTask.task.findTasks(objCb3.successCallback,
603             objCb3.errorCallback,
604             22);
605
606         var objCb4 = TestEngine.registerCallback("Find tasks with undefined filter param",
607             TestTask.onSuccess,
608             TestTask.onErrorCb);
609         TestTask.task.findTasks(objCb4.successCallback,
610             objCb4.errorCallback,
611             "test");
612     },
613
614     //Cal042
615     test_updateTask: function()
616     {
617         if(TestTask.all_tasks.length > 0)
618         {
619             var all=TestTask.all_tasks;
620             TestTask.old_task=all[0];
621
622             //all_tasks.length is added to be sure that it is not
623             //result of previous update
624
625             all[0].description = "Updated"+all.length;
626             all[0].summary = "Updated";
627             TestTask.Itask = all[0];
628
629             var objCb = TestEngine.registerCallback("updateTask",
630                 TestTask.onSuccessUpdateTask1,
631                 TestTask.onErrorCb);
632             TestTask.task.updateTask(objCb.successCallback,
633                 objCb.errorCallback,
634                 TestTask.Itask);
635         }
636     },
637
638     onSuccessUpdateTask1: function(response)
639     {
640         TestEngine.log("onSuccessUpdateTask1 entered");
641         //find this Itask
642         var objCb = TestEngine.registerCallback("findTasks",
643             TestTask.onSuccessUpdateTask2,
644             TestTask.onErrorCb);
645
646         TestTask.task.findTasks(objCb.successCallback,
647             objCb.errorCallback,
648             {description: TestTask.Itask.description,
649                 summary: TestTask.Itask.summary});
650     },
651
652     onSuccessUpdateTask2: function(response)
653     {
654         TestEngine.log("onSuccessUpdateTask2 entered");
655         TestTask.found_tasks=response;
656         TestTask.num_tasks = response.length;
657         if(TestTask.found_tasks.length>0)
658         {
659             var f_flag=0;
660             for(var i in TestTask.found_tasks)
661             {
662                 if( TestTask.found_tasks[i].description == TestTask.Itask.description &&
663                     TestTask.found_tasks[i].summary == TestTask.Itask.summary)
664                 {
665                     TestEngine.test("Update Itask", true);
666                     f_flag=1;
667                 }
668             }
669
670             if(f_flag==0)
671             {
672                 TestEngine.test("Update Itask", false);
673             }
674         }
675         else
676         {
677             TestEngine.test("Updated tasks found", false);
678         }
679
680         var objCb = TestEngine.registerCallback("updateTask",
681             TestTask.onSuccessUpdateTask3,
682             TestTask.onErrorCb);
683         TestTask.task.updateTask(objCb.successCallback,
684             objCb.errorCallback,
685             TestTask.old_task);
686
687     },
688
689     onSuccessUpdateTask3: function(response)
690     {
691         TestEngine.log("onSuccessUpdateTask3 entered");
692         TestEngine.test("Task restored from update", true);
693     },
694
695     //Cal043
696     test_updateTaskNoParams: function()
697     {
698         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask");
699     },
700
701     //Cal044
702     test_updateTaskNullCallbacksParams: function()
703     {
704         var Itask = TestTask.createTestEvent();
705         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", 1, TestTask.onErrorCb);
706         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", "test", TestTask.onErrorCb);
707         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", "test", TestTask.onErrorCb, Itask);
708         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", TestTask.onSuccessNonExpected, 1);
709         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", TestTask.onSuccessNonExpected, "test");
710         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", TestTask.onSuccessNonExpected, "test", Itask);
711         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", 1, 1, Itask);
712         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", "test", "test", Itask);
713     },
714
715     //Cal045
716     test_updateTaskWrongTaskParam: function()
717     {
718         TestTask.expectedErrorCode = TestTask.INVALID_VALUES_ERR;
719
720         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", TestTask.onSuccessNonExpected, TestTask.onErrorCb, 22);
721         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", TestTask.onSuccessNonExpected, TestTask.onErrorCb, "test");
722         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", TestTask.onSuccessNonExpected, TestTask.onErrorCb);
723         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "updateTask", TestTask.onSuccessNonExpected, TestTask.onErrorCb, new Date());
724
725         var objCb1 = TestEngine.registerCallback("Update Itask with null Itask param",
726             TestTask.onSuccessNonExpected,
727             TestTask.onErrorExpected);
728         TestTask.task.updateTask(objCb1.successCallback,
729             objCb1.errorCallback,
730             null);
731
732         var objCb2 = TestEngine.registerCallback("Update Itask with undefined Itask param",
733             TestTask.onSuccessNonExpected,
734             TestTask.onErrorExpected);
735         TestTask.task.updateTask(objCb2.successCallback,
736             objCb2.errorCallback,
737             undefined);
738     },
739     //Cal046
740     test_deleteTask: function()
741     {
742         //find all tasks
743         var objCb = TestEngine.registerCallback("findTasks",
744             TestTask.onSuccessDeleteTask1,
745             TestTask.onErrorCb);
746         TestTask.task.findTasks(objCb.successCallback,
747             objCb.errorCallback);
748     },
749
750     onSuccessDeleteTask1: function(response)
751     {
752         TestEngine.log("onSuccessDeleteTask1 entered");
753         TestEngine.test("FindAllTasks", response.length > 0);
754         TestTask.all_tasks=response;
755
756         if(TestTask.all_tasks.length > 0)
757         {
758             TestTask.old_task=TestTask.all_tasks.length;
759             TestTask.Itask = TestTask.all_tasks[0];
760
761             var objCb = TestEngine.registerCallback("deleteTask",
762                 TestTask.onSuccessDeleteTask2,
763                 TestTask.onErrorCb);
764             TestTask.task.deleteTask(objCb.successCallback,
765                 objCb.errorCallback,
766                 TestTask.Itask.id);
767         }
768         else
769         {
770             TestEngine.test("Events for delete found", false);
771         }
772     },
773
774     onSuccessDeleteTask2: function(response)
775     {
776         TestEngine.log("onSuccessDeleteTask2 entered");
777         //check number of tasks now
778         var objCb = TestEngine.registerCallback("findTasks",
779             TestTask.onSuccessDeleteTask3,
780             TestTask.onErrorCb);
781         TestTask.task.findTasks(objCb.successCallback,
782             objCb.errorCallback);
783     },
784
785     onSuccessDeleteTask3: function(response)
786     {
787         TestEngine.log("onSuccessDeleteTask3 entered");
788         TestTask.all_tasks=response;
789         var num_after=response.length;
790         TestEngine.test("deleteTask", num_after + 1 == TestTask.old_task );
791     },
792
793
794     //Cal047
795     test_deleteTaskNoParams: function()
796     {
797         TestEngine.catchErrorType("code", 17, TestTask.task, "deleteTask");
798     },
799
800     //Cal048
801     test_deleteTaskNullCallbacksParams: function()
802     {
803         var Itask = TestTask.createTestEvent();
804         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "deleteTask", "test", TestTask.onErrorCb);
805         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "deleteTask", 1, TestTask.onErrorCb);
806         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "deleteTask", "test", TestTask.onErrorCb, 1);
807         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "deleteTask", TestTask.onSuccessNonExpected, "test");
808         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "deleteTask", TestTask.onSuccessNonExpected, "test");
809         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "deleteTask", TestTask.onSuccessNonExpected, "test", 1);
810     },
811
812     //Cal049
813     test_deleteTaskWrongTaskParam: function()
814     {
815         TestTask.expectedErrorCode = TestTask.INVALID_VALUES_ERR;
816
817         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "deleteTask", TestTask.onSuccessNonExpected, TestTask.onErrorCb);
818         TestEngine.catchErrorType("code", TestTask.TYPE_MISMATCH_ERR, TestTask.task, "deleteTask", TestTask.onSuccessNonExpected, TestTask.onErrorCb, new Date());
819
820         var objCb1 = TestEngine.registerCallback("Delete Itask with null Itask param",
821             TestTask.onSuccessNonExpected,
822             TestTask.onErrorExpected);
823         TestTask.task.deleteTask(objCb1.successCallback,
824             objCb1.errorCallback,
825             null);
826
827         var objCb2 = TestEngine.registerCallback("Delete Itask with undefined Itask param",
828             TestTask.onSuccessNonExpected,
829             TestTask.onErrorExpected);
830         TestTask.task.deleteTask(objCb2.successCallback,
831             objCb2.errorCallback,
832             undefined);
833     }
834 };
835
836 TestEngine.setTestSuiteName("[WAC2.0][Task]");
837
838 //Cal001
839 //TestEngine.addTest(true,TestTask.test_modulePresence, "[WAC2.0][Task] Test Task");
840 //
841 ////Cal002
842 //TestEngine.addTest(true,TestTask.test_taskProperties, "[WAC2.0][Task] Test Itask properties");
843 ////Cal003
844 TestEngine.addTest(true,TestTask.test_getTask, "[WAC2.0][Task] Get task");
845 //
846 ////Cal004
847 //TestEngine.addTest(true,TestTask.test_getTaskNoCallbacks, "[WAC2.0][Task] Get task with no callbacks");
848 ////Cal005
849 //TestEngine.addTest(true,TestTask.test_getTaskInvalidCallbacks, "[WAC2.0][Task] Get task with invalid callbacks");
850 ////Cal006
851 //TestEngine.addTest(true,TestTask.test_taskMethodsPresence, "[WAC2.0][Task] Task methods presence");
852 ////Cal007
853 //TestEngine.addTest(true,TestTask.test_getTaskName, "[WAC2.0][Task] Get task name");
854 ////Cal008
855 //TestEngine.addTest(true,TestTask.test_getTaskType, "[WAC2.0][Task] Get task type");
856 ////Cal009
857 //TestEngine.addTest(true,TestTask.test_taskStaticProperties, "[WAC2.0][Task] Task static properties");
858 //
859 ////Cal010
860 //TestEngine.addTest(true,TestTask.test_createEmptyTask, "[WAC2.0][Task] Create empty Itask");
861 ////Cal011
862 //TestEngine.addTest(true,TestTask.test_taskAttributes, "[WAC2.0][Task] Itask attributes");
863 ////Cal012
864 //TestEngine.addTest(true,TestTask.test_createTask, "[WAC2.0][Task] Create Itask");
865 //
866 ////Cal013
867 //TestEngine.addTest(true,TestTask.test_addTask1, "[WAC2.0][Task] Add event1");
868 ////Cal014
869 //TestEngine.addTest(true,TestTask.test_addTask2, "[WAC2.0][Task] Add event2");
870 ////Cal015
871 //TestEngine.addTest(true,TestTask.test_addTask3, "[WAC2.0][Task] Add event3");
872 ////Cal016
873 //TestEngine.addTest(true,TestTask.test_addTask4, "[WAC2.0][Task] Add event4");
874 ////Cal017
875 //TestEngine.addTest(true,TestTask.test_addTask5, "[WAC2.0][Task] Add event5");
876 //
877 ////Cal018
878 //TestEngine.addTest(true,TestTask.test_addTaskNoParams, "[WAC2.0][Task] Add Itask with no params");
879 ////Cal019
880 //TestEngine.addTest(true,TestTask.test_addTaskNullCallbacksParams, "[WAC2.0][Task] Add Itask with wrong callbacks");
881 ////Cal020
882 //TestEngine.addTest(true,TestTask.test_addTaskWrongEventParam, "[WAC2.0][Task] Add Itask with wrong Itask param");
883 //
884 ////Cal021
885 //TestEngine.addTest(true,TestTask.test_findAllTasks, "[WAC2.0][Task] Find all tasks");
886 ////Cal022
887 //TestEngine.addTest(true,TestTask.test_findTasksId, "[WAC2.0][Task] Find tasks, filter: id");
888 ////Cal023
889 //TestEngine.addTest(true,TestTask.test_findTasksSummary, "[WAC2.0][Task] Find tasks, filter: summary");
890 ////Cal024
891 //TestEngine.addTest(true,TestTask.test_findTasksDescription, "[WAC2.0][Task] Find tasks, filter: description");
892 ////Cal025
893 //TestEngine.addTest(true,TestTask.test_findTasksStatus, "[WAC2.0][Task] Find tasks, filter: status");
894 //
895 //TestEngine.addTest(true,TestTask.test_findTasksPriority, "[WAC2.0][Task] Find tasks, filter: priority");
896 ////Cal030
897 //TestEngine.addTest(true,TestTask.test_findTasksInitialDueDate, "[WAC2.0][Task] Find tasks, filter: initialDueDate");
898 ////Cal031
899 //TestEngine.addTest(true,TestTask.test_findTasksEndDueDate, "[WAC2.0][Task] Find tasks, filter: endDueDate");
900 ////Cal032
901 //TestEngine.addTest(true,TestTask.test_findTasksEmptyFilter, "[WAC2.0][Task] Find tasks, filter: empty filter");
902 //
903 ////Cal035
904 //TestEngine.addTest(true,TestTask.test_findTasksSummaryNoResults, "[WAC2.0][Task] Find tasks, no results, filter: summary");
905 ////Cal036
906 //TestEngine.addTest(true,TestTask.test_findTasksDescriptionNoResults, "[WAC2.0][Task] Find tasks, no results, filter: description");
907 ////Cal039
908 //TestEngine.addTest(true,TestTask.test_findTasksNoParams, "[WAC2.0][Task] Find tasks with no params");
909 ////Cal040
910 //TestEngine.addTest(true,TestTask.test_findTasksNullCallbacksParams, "[WAC2.0][Task] Find tasks with wrong callbacks");
911 ////Cal041
912 //TestEngine.addTest(true,TestTask.test_findTasksWrongFilterParam, "[WAC2.0][Task] Find tasks with wrong filter param");
913 //
914 //TestEngine.addTest(true,TestTask.test_updateTask, "[WAC2.0][Task] Update Itask");
915 ////Cal043
916 //TestEngine.addTest(true,TestTask.test_updateTaskNoParams, "[WAC2.0][Task] Update Itask with no params");
917 ////Cal044
918 //TestEngine.addTest(true,TestTask.test_updateTaskNullCallbacksParams, "[WAC2.0][Task] Update Itask with wrong callbacks");
919 ////Cal045
920 //TestEngine.addTest(true,TestTask.test_updateTaskWrongTaskParam, "[WAC2.0][Task] Update Itask with wrong Itask param");
921 //
922 ////Cal046
923 //TestEngine.addTest(true,TestTask.test_deleteTask, "[WAC2.0][Task] Delete Itask");
924 ////Cal047
925 //TestEngine.addTest(true,TestTask.test_deleteTaskNoParams, "[WAC2.0][Task] Delete Itask with no params");
926 ////Cal048
927 //TestEngine.addTest(true,TestTask.test_deleteTaskNullCallbacksParams, "[WAC2.0][Task] Delete Itask with wrong callbacks");
928 ////Cal049
929 //TestEngine.addTest(true,TestTask.test_deleteTaskWrongTaskParam, "[WAC2.0][Task] Delete Itask with wrong Itask param");