2 require_once 'modules/Import/ImportDuplicateCheck.php';
4 class ImportDuplicateCheckTest extends Sugar_PHPUnit_Framework_TestCase
6 public function setUp()
10 require('include/modules.php');
11 $GLOBALS['beanList'] = $beanList;
12 $GLOBALS['beanFiles'] = $beanFiles;
13 $GLOBALS['current_user'] = SugarTestUserUtilities::createAnonymousUser();
14 $app_strings = array();
15 require('include/language/en_us.lang.php');
16 $GLOBALS['app_strings'] = $app_strings;
19 public function tearDown()
21 unset($GLOBALS['beanList']);
22 unset($GLOBALS['beanFiles']);
23 unset($GLOBALS['app_strings']);
24 SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
25 unset($GLOBALS['current_user']);
28 public function testGetDuplicateCheckIndexesWithEmail()
30 $focus = loadBean('Contacts');
32 $idc = new ImportDuplicateCheck($focus);
33 $indexes = $idc->getDuplicateCheckIndexes();
35 foreach ( $focus->getIndices() as $key => $index ) {
36 if ($key != 'id') $this->assertTrue(isset($indexes[$index['name']]),"{$index['name']} should be in the list");
39 $this->assertTrue(isset($indexes['special_idx_email1']));
40 $this->assertTrue(isset($indexes['special_idx_email2']));
43 public function testGetDuplicateCheckIndexesNoEmail()
45 $focus = loadBean('Calls');
47 $idc = new ImportDuplicateCheck($focus);
48 $indexes = $idc->getDuplicateCheckIndexes();
50 foreach ( $focus->getIndices() as $key => $index ) {
51 if ($key != 'id') $this->assertTrue(isset($indexes[$index['name']]));
54 $this->assertFalse(isset($indexes['special_idx_email1']));
55 $this->assertFalse(isset($indexes['special_idx_email2']));
58 public function testIsADuplicateRecord()
60 $last_name = 'FooBar'.date("YmdHis");
62 $focus = loadBean('Contacts');
63 $focus->last_name = $last_name;
64 $id = $focus->save(false);
66 $focus = loadBean('Contacts');
67 $focus->last_name = $last_name;
69 $idc = new ImportDuplicateCheck($focus);
71 $this->assertTrue($idc->isADuplicateRecord(array('idx_contacts_del_last')));
73 $focus->mark_deleted($id);
76 public function testIsADuplicateRecordEmail()
78 $email = date("YmdHis").'@foobar.com';
80 $focus = loadBean('Contacts');
81 $focus->email1 = $email;
82 $id = $focus->save(false);
84 $focus = loadBean('Contacts');
85 $focus->email1 = $email;
87 $idc = new ImportDuplicateCheck($focus);
89 $this->assertTrue($idc->isADuplicateRecord(array('special_idx_email1')));
91 $focus->mark_deleted($id);
94 public function testIsADuplicateRecordNotFound()
96 $last_name = 'BadFooBar'.date("YmdHis");
98 $focus = loadBean('Contacts');
99 $focus->last_name = $last_name;
101 $idc = new ImportDuplicateCheck($focus);
103 $this->assertFalse($idc->isADuplicateRecord(array('idx_contacts_del_last')));
106 public function testIsADuplicateRecordEmailNotFound()
108 $email = date("YmdHis").'@badfoobar.com';
110 $focus = loadBean('Contacts');
111 $focus->email1 = $email;
113 $idc = new ImportDuplicateCheck($focus);
115 $this->assertFalse($idc->isADuplicateRecord(array('special_idx_email1')));