Completed
Push — console-installer ( 186d32...cb4007 )
by Adam
91:14 queued 78:40
created

EmployeeTest::testpreprocess_fields_on_save()   A

Complexity

Conditions 2
Paths 3

Size

Total Lines 16
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 7
nc 3
nop 0
dl 0
loc 16
rs 9.4285
c 1
b 0
f 0
1
<?php
2
3
class EmployeeTest extends PHPUnit_Framework_TestCase {
4
5
6
	public function testEmployee() {
7
8
		//execute the contructor and check for the Object type and  attributes
9
		$employee = new Employee();
10
		$this->assertInstanceOf('Employee',$employee);
11
		$this->assertInstanceOf('Person',$employee);
12
		$this->assertInstanceOf('SugarBean',$employee);
13
14
		$this->assertAttributeEquals('Employees', 'module_dir', $employee);
15
		$this->assertAttributeEquals('Employee', 'object_name', $employee);
16
		$this->assertAttributeEquals('users', 'table_name', $employee);
17
		$this->assertAttributeEquals(true, 'new_schema', $employee);
18
19
	}
20
21
22
	public function testget_summary_text() {
23
24
		error_reporting(E_ERROR | E_PARSE);
25
26
		$employee = new Employee();
27
28
		//test without setting name
29
		$this->assertEquals(' ',$employee->get_summary_text());
30
31
		//test with name set
32
		$employee->retrieve(1);
33
		$this->assertEquals('Administrator',$employee->get_summary_text());
34
35
    }
36
37
38
	public function testfill_in_additional_list_fields() {
39
40
		$employee = new Employee();
41
42
		//execute the method and test if it works and does not throws an exception.
43
		try {
44
			$employee->fill_in_additional_list_fields();
45
			$this->assertTrue(true);
46
		}
47
		catch (Exception $e) {
48
			$this->fail();
49
		}
50
51
	}
52
53
	public function testfill_in_additional_detail_fields()
54
	{
55
		$employee = new Employee();
56
57
58
		//test with a empty employee bean
59
		$employee->fill_in_additional_detail_fields();
60
		$this->assertEquals("", $employee->reports_to_name);
61
62
63
		//test with a valid employee bean
64
		$employee->retrieve(1);
65
		$employee->fill_in_additional_detail_fields();
66
		$this->assertEquals("", $employee->reports_to_name);
67
68
	}
69
70
	public function testretrieve_employee_id()
71
	{
72
		$employee = new Employee();
73
		//$this->assertEquals('1' ,$employee->retrieve_employee_id('admin'));
74
75
		$this->markTestSkipped('Bug in query: employee_name parameter is wrongly used as user_name');
76
77
	}
78
79
80
	public function testverify_data()
81
	{
82
		$employee = new Employee();
83
		$this->assertEquals(true ,$employee->verify_data() );
84
85
	}
86
87
	public function testget_list_view_data(){
88
89
		$employee = new Employee();
90
91
		$expected = array (
92
					  'SUGAR_LOGIN' => '1',
93
					  'FULL_NAME' => ' ',
94
					  'NAME' => ' ',
95
					  'IS_ADMIN' => '0',
96
					  'EXTERNAL_AUTH_ONLY' => '0',
97
					  'RECEIVE_NOTIFICATIONS' => '1',
98
					  'DELETED' => 0,
99
					  'PORTAL_ONLY' => '0',
100
					  'SHOW_ON_EMPLOYEES' => '1',
101
					  'ENCODED_NAME' => ' ',
102
					  'EMAIL1' => '',
103
					  'EMAIL1_LINK' => '<a href=\'javascript:void(0);\' onclick=\'SUGAR.quickCompose.init({"fullComposeUrl":"contact_id=\\u0026parent_type=Employees\\u0026parent_id=\\u0026parent_name=+\\u0026to_addrs_ids=\\u0026to_addrs_names=\\u0026to_addrs_emails=\\u0026to_email_addrs=+%26nbsp%3B%26lt%3B%26gt%3B\\u0026return_module=Employees\\u0026return_action=ListView\\u0026return_id=","composePackage":{"contact_id":"","parent_type":"Employees","parent_id":"","parent_name":" ","to_addrs_ids":"","to_addrs_names":"","to_addrs_emails":"","to_email_addrs":"  \\u003C\\u003E","return_module":"Employees","return_action":"ListView","return_id":""}});\' class=\'\'>',
104
					  'MESSENGER_TYPE' => '',
105
					  'REPORTS_TO_NAME' => NULL,
106
					);
107
108
		$actual = $employee->get_list_view_data();
109
		$this->assertSame($expected, $actual);
110
111
	}
112
113
	public function testlist_view_parse_additional_sections(){
114
115
		$employee = new Employee();
116
117
		//execute the method and test if it works and does not throws an exception.
118
		try {
119
			$employee->list_view_parse_additional_sections(new Sugar_Smarty(), $xTemplateSection);
0 ignored issues
show
Unused Code introduced by
The call to the method Employee::list_view_parse_additional_sections() seems un-needed as the method has no side-effects.

PHP Analyzer performs a side-effects analysis of your code. A side-effect is basically anything that might be visible after the scope of the method is left.

Let’s take a look at an example:

class User
{
    private $email;

    public function getEmail()
    {
        return $this->email;
    }

    public function setEmail($email)
    {
        $this->email = $email;
    }
}

If we look at the getEmail() method, we can see that it has no side-effect. Whether you call this method or not, no future calls to other methods are affected by this. As such code as the following is useless:

$user = new User();
$user->getEmail(); // This line could safely be removed as it has no effect.

On the hand, if we look at the setEmail(), this method _has_ side-effects. In the following case, we could not remove the method call:

$user = new User();
$user->setEmail('email@domain'); // This line has a side-effect (it changes an
                                 // instance variable).
Loading history...
120
			$this->assertTrue(true);
121
		}
122
		catch (Exception $e) {
123
			$this->fail();
124
		}
125
126
	}
127
128
129
	public function testcreate_export_query() {
130
131
		$employee = new Employee();
132
133
		//test with empty string params
134
		$expected = "SELECT id, user_name, first_name, last_name, description, date_entered, date_modified, modified_user_id, created_by, title, department, is_admin, phone_home, phone_mobile, phone_work, phone_other, phone_fax, address_street, address_city, address_state, address_postalcode, address_country, reports_to_id, portal_only, status, receive_notifications, employee_status, messenger_id, messenger_type, is_group FROM users  WHERE  users.deleted = 0 ORDER BY users.user_name";
135
		$actual = $employee->create_export_query('','');
136
		$this->assertSame($expected,$actual);
137
138
139
		//test with valid string params
140
		$expected = "SELECT id, user_name, first_name, last_name, description, date_entered, date_modified, modified_user_id, created_by, title, department, is_admin, phone_home, phone_mobile, phone_work, phone_other, phone_fax, address_street, address_city, address_state, address_postalcode, address_country, reports_to_id, portal_only, status, receive_notifications, employee_status, messenger_id, messenger_type, is_group FROM users  WHERE users.user_name=\"\" AND  users.deleted = 0 ORDER BY users.id";
141
		$actual = $employee->create_export_query('users.id','users.user_name=""');
142
		$this->assertSame($expected,$actual);
143
144
	}
145
    
146
    public function testpreprocess_fields_on_save()
147
    {
148
        
149
        $employee = new Employee();
150
        
151
        //execute the method and test if it works and does not throws an exception.
152
        try
153
        {
154
            $employee->preprocess_fields_on_save();
155
            $this->assertTrue(TRUE);
156
        } catch(Exception $e)
157
        {
158
            $this->fail();
159
        }
160
        
161
    }
162
163
    /**
164
     * @todo: NEEDS FIXING!
165
     */
166
	public function testcreate_new_list_query()
167
    {
168
        /*
169
    	$employee = new Employee();
170
171
    	//test with empty string params
172
    	$expected = " SELECT  users.* , '                                                                                                                                                                                                                                                              ' c_accept_status_fields , '                                    '  call_id , '                                                                                                                                                                                                                                                              ' securitygroup_noninher_fields , '                                    '  securitygroup_id , LTRIM(RTRIM(CONCAT(IFNULL(users.first_name,''),' ',IFNULL(users.last_name,'')))) as full_name, LTRIM(RTRIM(CONCAT(IFNULL(users.first_name,''),' ',IFNULL(users.last_name,'')))) as name , jt2.last_name reports_to_name , jt2.created_by reports_to_name_owner  , 'Users' reports_to_name_mod, '                                                                                                                                                                                                                                                              ' m_accept_status_fields , '                                    '  meeting_id  FROM users   LEFT JOIN  users jt2 ON users.reports_to_id=jt2.id AND jt2.deleted=0\n\n AND jt2.deleted=0 where ( users.portal_only = 0 ) AND users.deleted=0";
173
    	$actual = $employee->create_new_list_query('','');
174
    	$this->assertSame($expected,$actual);
175
176
177
    	//test with valid string params
178
    	$expected = " SELECT  users.* , '                                                                                                                                                                                                                                                              ' c_accept_status_fields , '                                    '  call_id , '                                                                                                                                                                                                                                                              ' securitygroup_noninher_fields , '                                    '  securitygroup_id , LTRIM(RTRIM(CONCAT(IFNULL(users.first_name,''),' ',IFNULL(users.last_name,'')))) as full_name, LTRIM(RTRIM(CONCAT(IFNULL(users.first_name,''),' ',IFNULL(users.last_name,'')))) as name , jt2.last_name reports_to_name , jt2.created_by reports_to_name_owner  , 'Users' reports_to_name_mod, '                                                                                                                                                                                                                                                              ' m_accept_status_fields , '                                    '  meeting_id  FROM users   LEFT JOIN  users jt2 ON users.reports_to_id=jt2.id AND jt2.deleted=0\n\n AND jt2.deleted=0 where (users.user_name=\"\" and users.portal_only = 0 ) AND users.deleted=0";
179
    	$actual = $employee->create_new_list_query('users.id','users.user_name=""');
180
    	$this->assertSame($expected,$actual);
181
    	*/
182
        $this->assertTrue(true, "NEEDS FIXING!");
183
    }
184
185
186
    public function testhasCustomFields()
187
    {
188
    	$employee = new Employee();
189
    	$result = $employee->hasCustomFields();
190
    	$this->assertEquals(false,$result);
191
    }
192
193
}
194
195
?>
196