]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/modules/Tasks/TasksTest.php
Release 6.4.0
[Github/sugarcrm.git] / tests / modules / Tasks / TasksTest.php
1 <?php
2 /*********************************************************************************
3  * SugarCRM Community Edition is a customer relationship management program developed by
4  * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
5  * 
6  * This program is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  * 
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
16  * details.
17  * 
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  * 
23  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
24  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
25  * 
26  * The interactive user interfaces in modified source and object code versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  * 
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the "Powered by
32  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
33  * technical reasons, the Appropriate Legal Notices must display the words
34  * "Powered by SugarCRM".
35  ********************************************************************************/
36
37
38 require_once "modules/Tasks/Task.php";
39
40 class TasksTest extends Sugar_PHPUnit_Framework_TestCase
41 {
42     public static function setUpBeforeClass()
43     {
44         $GLOBALS['current_user'] = SugarTestUserUtilities::createAnonymousUser();
45         }
46
47         public static function tearDownAfterClass()
48     {
49         SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
50         unset($GLOBALS['current_user']);
51     }
52
53     public function setUp()
54     {
55         $_REQUEST['module'] = 'Tasks';
56     }
57
58     public function tearDown()
59     {
60         unset($_REQUEST['module']);
61         if(!empty($this->taskid)) {
62             $GLOBALS['db']->query("DELETE FROM tasks WHERE id='{$this->taskid}'");
63         }
64     }
65
66     /**
67      * @ticket 39259
68      */
69     public function testListviewTimeDueFieldProperlyHandlesDst()
70     {
71         $task = new Task();
72         $task->name = "New Task";
73         $task->date_due = $GLOBALS['timedate']->to_display_date_time("2010-08-30 15:00:00");
74         $listViewFields = $task->get_list_view_data();
75         $this->assertEquals($GLOBALS['timedate']->to_display_time("15:00:00"), $listViewFields['TIME_DUE']);
76     }
77
78     /**
79      * @group bug40999
80      */
81     public function testTaskStatus()
82     {
83          $task = new Task();
84          $this->taskid = $task->id = create_guid();
85          $task->new_with_id = 1;
86          $task->status = 'Done';
87          $task->save();
88          // then retrieve
89          $task = new Task();
90          $task->retrieve($this->taskid);
91          $this->assertEquals('Done', $task->status);
92     }
93
94     /**
95      * @group bug40999
96      */
97     public function testTaskEmptyStatus()
98     {
99          $task = new Task();
100          $this->taskid = $task->id = create_guid();
101          $task->new_with_id = 1;
102          $task->save();
103          // then retrieve
104          $task = new Task();
105          $task->retrieve($this->taskid);
106          $this->assertEquals('Not Started', $task->status);
107     }
108
109 }