]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/service/APIv3Helper.php
Added unit tests.
[Github/sugarcrm.git] / tests / service / APIv3Helper.php
1 <?php
2
3 //Helper functions used by both SOAP and REST Unit Test Calls.
4
5 class APIv3Helper
6 {
7     
8     function populateSeedDataForSearchTest($user_id)
9     {
10         $results = array();
11         $a1_id = uniqid();
12         $a1 = new Account();
13         $a1->id = $a1_id;
14         $a1->new_with_id = TRUE;
15         $a1->name = "UNIT TEST $a1_id";
16         $a1->assigned_user_id = $user_id;
17         $a1->save();
18         $results[] = array('id' => $a1_id, 'fieldName' => 'name', 'fieldValue' => "UNIT TEST $a1_id");
19         
20         $a2_id = uniqid();
21         $a2 = new Account();
22         $a2->new_with_id = TRUE;
23         $a2->id = $a2_id;
24         $a2->name = "UNIT TEST $a2_id";
25         $a2->assigned_user_id = 'unittest';
26         $a2->save();
27         $results[] = array('id' => $a2_id, 'fieldName' => 'name', 'fieldValue' => "UNIT TEST $a2_id");
28         
29         $c1_id = uniqid();
30         $c1 = new Contact();
31         $c1->id = $c1_id;
32         $c1->new_with_id = TRUE;
33         $c1->first_name = "UNIT TEST";
34         $c1->last_name = "UNIT_TEST";
35         $c1->assigned_user_id = $user_id;
36         $c1->save();
37         $results[] = array('id' => $c1_id, 'fieldName' => 'name', 'fieldValue' => $c1->first_name .' ' . $c1->last_name);
38         
39         $op1_id = uniqid();
40         $op1 = new Opportunity();
41         $op1->new_with_id = TRUE;
42         $op1->id = $op1_id;
43         $op1->name = "UNIT TEST $op1_id";
44         $op1->assigned_user_id = $user_id;
45         $op1->save();
46         $results[] = array('id' => $op1_id, 'fieldName' => 'name', 'fieldValue' => "UNIT TEST $op1_id");
47         
48         $op2_id = uniqid();
49         $op2 = new Opportunity();
50         $op2->new_with_id = TRUE;
51         $op2->id = $op2_id;
52         $op2->name = "UNIT TEST $op2_id";
53         $op2->assigned_user_id = 'unittest';
54         $op2->save();
55         $results[] = array('id' => $op2_id, 'fieldName' => 'name', 'fieldValue' => "UNIT TEST $op2_id");
56         
57         return $results;
58     }    
59     
60     /**
61      * Linear search function used to find a bean id in an entry list array.
62      *
63      * @param array $list
64      * @param string $bean_id
65      */
66     function findBeanIdFromEntryList($list,$bean_id,$module)
67     {
68         $found = FALSE;
69         foreach ($list as $moduleEntry)
70         {
71             if($moduleEntry['name'] == $module)
72             {
73                 foreach ($moduleEntry['records'] as $entry)
74                 {
75                     foreach ($entry as $fieldEntry)
76                     {
77                         if($fieldEntry['name'] == 'id' && $fieldEntry['value'] == $bean_id )
78                             return TRUE;
79                     }
80                 }
81             }
82         }
83         
84         return $found;
85     }
86     
87     /**
88      * Linear search function used to find a particular field in an entry list array.
89      *
90      * @param array $list
91      * @param string $bean_id
92      */
93     function findFieldByNameFromEntryList($list,$bean_id,$module,$fieldName)
94     {
95         $found = FALSE;
96
97         foreach ($list as $moduleEntry)
98         {
99             if($moduleEntry['name'] == $module)
100             {
101                 foreach ($moduleEntry['records'] as $entry)
102                 {
103                     $value = $this->_retrieveFieldValueByFieldName($entry, $fieldName,$bean_id);
104                     if($value !== FALSE)
105                         return $value;
106                 }
107             }
108         }
109         
110         return $found;
111     }
112     
113     function _retrieveFieldValueByFieldName($entry, $fieldName, $beanId)
114     {
115         $found = FALSE;
116         $fieldValue = FALSE;
117         foreach ($entry as $fieldEntry)
118         {
119             if($fieldEntry['name'] == 'id' && $fieldEntry['value'] == $beanId )
120                 $found = TRUE;
121                 
122             if($fieldEntry['name'] == $fieldName )
123                 $fieldValue = $fieldEntry['value'];
124         }
125         
126         if($found)
127             return $fieldValue;
128         else 
129             return FALSE;
130     }
131 }