]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/SugarTestLeadUtilities.php
Added unit tests.
[Github/sugarcrm.git] / tests / SugarTestLeadUtilities.php
1 <?php
2 require_once 'modules/Leads/Lead.php';
3
4 class SugarTestLeadUtilities
5 {
6     private static $_createdLeads = array();
7
8     private function __construct() {}
9
10     public static function createLead($id = '') 
11     {
12         $time = mt_rand();
13         $first_name = 'SugarLeadFirst';
14         $last_name = 'SugarLeadLast';
15         $email1 = 'lead@sugar.com';
16         $lead = new Lead();
17         $lead->first_name = $first_name . $time;
18         $lead->last_name = $last_name ;
19         $lead->email1 = 'lead@'. $time. 'sugar.com';
20         if(!empty($id))
21         {
22             $lead->new_with_id = true;
23             $lead->id = $id;
24         }
25         $lead->save();
26         self::$_createdLeads[] = $lead;
27         return $lead;
28     }
29
30     public static function setCreatedLead($lead_ids) {
31         foreach($lead_ids as $lead_id) {
32                 $lead = new Lead();
33                 $lead->id = $lead_id;
34                 self::$_createdLeads[] = $lead;
35         } // foreach
36     } // fn
37     
38     public static function removeAllCreatedLeads() 
39     {
40         $lead_ids = self::getCreatedLeadIds();
41         $GLOBALS['db']->query('DELETE FROM leads WHERE id IN (\'' . implode("', '", $lead_ids) . '\')');
42     }
43     
44     public static function removeCreatedLeadsUsersRelationships(){
45         $lead_ids = self::getCreatedLeadIds();
46         $GLOBALS['db']->query('DELETE FROM leads_users WHERE lead_id IN (\'' . implode("', '", $lead_ids) . '\')');
47     }
48     
49     public static function getCreatedLeadIds() 
50     {
51         $lead_ids = array();
52         foreach (self::$_createdLeads as $lead) {
53             $lead_ids[] = $lead->id;
54         }
55         return $lead_ids;
56     }
57 }
58 ?>