Test Failed
Push — CI ( 0f01dd...c95a04 )
by Adam
55:13
created

AOR_Scheduled_ReportsTest::testSaveAndGet_email_recipients()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 28
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
dl 0
loc 28
rs 8.8571
c 1
b 0
f 1
cc 1
eloc 15
nc 1
nop 0
1
<?php
2
3
class AOR_Scheduled_ReportsTest extends PHPUnit_Framework_TestCase {
4
5
	
6
	public function testAOR_Scheduled_Reports(){
7
8
		//execute the contructor and check for the Object type and  attributes
9
		$aorScheduledReports = new AOR_Scheduled_Reports();
10
		$this->assertInstanceOf('AOR_Scheduled_Reports',$aorScheduledReports);
11
		$this->assertInstanceOf('Basic',$aorScheduledReports);
12
		$this->assertInstanceOf('SugarBean',$aorScheduledReports);
13
			
14
		$this->assertAttributeEquals('AOR_Scheduled_Reports', 'module_dir', $aorScheduledReports);
15
		$this->assertAttributeEquals('AOR_Scheduled_Reports', 'object_name', $aorScheduledReports);
16
		$this->assertAttributeEquals('aor_scheduled_reports', 'table_name', $aorScheduledReports);
17
		$this->assertAttributeEquals(true, 'new_schema', $aorScheduledReports);
18
		$this->assertAttributeEquals(true, 'disable_row_level_security', $aorScheduledReports);
19
		$this->assertAttributeEquals(false, 'importable', $aorScheduledReports);
20
		
21
	}
22
23
	public function testbean_implements(){
24
25
		error_reporting(E_ERROR | E_PARSE);
26
		
27
		$aorScheduledReports = new AOR_Scheduled_Reports();
28
		$this->assertEquals(false, $aorScheduledReports->bean_implements('')); //test with blank value
29
		$this->assertEquals(false, $aorScheduledReports->bean_implements('test')); //test with invalid value
30
		$this->assertEquals(true, $aorScheduledReports->bean_implements('ACL')); //test with valid value
31
		
32
    }
33
34
	public function testSaveAndGet_email_recipients(){
35
36
		$aorScheduledReports = new AOR_Scheduled_Reports();
37
		$aorScheduledReports->name = "test";
38
		$aorScheduledReports->description = "test description";		
39
		$_POST['email_recipients']= Array('email_target_type'=> array('Email Address','all','Specify User')  ,'email' =>array('[email protected]','','1') );  
40
41
		
42
		//test save and test for record ID to verify that record is saved 
43
		$aorScheduledReports->save();
44
		$this->assertTrue(isset($aorScheduledReports->id));
45
		$this->assertEquals(36, strlen($aorScheduledReports->id));
46
		 
47
		
48
		
49
		//test get_email_recipients 
50
		$expected = array('[email protected]','','1');
51
		$aorScheduledReports->retrieve($aorScheduledReports->id);
52
		$emails = $aorScheduledReports->get_email_recipients();
53
		
54
		$this->assertTrue(is_array($emails)); 	
55
		$this->assertEquals('[email protected]',$emails[0]);
56
57
		
58
		$aorScheduledReports->mark_deleted($aorScheduledReports->id);
59
		unset($aorScheduledReports);
60
				
61
    }
62
63
64
    
65
	public function testshouldRun(){
66
  
67
		
68
		$aorScheduledReports = new AOR_Scheduled_Reports();
69
		$aorScheduledReports->schedule = " 8 * * * *";
70
		
71
		//test without a last_run date
72
		$this->assertFalse($aorScheduledReports->shouldRun(new DateTime()) );
73
		
74
		//test without a older last_run date
75
		$aorScheduledReports->last_run = date("d-m-y H:i:s", mktime(0,0,0,10,3,2014));
76
		$this->assertTrue($aorScheduledReports->shouldRun(new DateTime()));
77
78
		
79
		//test without a current last_run date
80
		$aorScheduledReports->last_run = new DateTime();
81
		$this->assertFalse($aorScheduledReports->shouldRun(new DateTime()));
82
		
83
    }
84
    
85
    
86
}
87