|
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
|
|
|
|