2 require_once('modules/EmailAddresses/EmailAddress.php');
5 * Test cases for php file Emails/emailAddress.php
7 class EmailAddressTest extends Sugar_PHPUnit_Framework_TestCase
10 private $testEmailAddressString = 'unitTest@sugarcrm.com';
12 public function setUp()
14 $this->emailaddress = new EmailAddress();
17 public function tearDown()
19 unset($this->emailaddress);
20 $query = "delete from email_addresses where email_address = '".$this->testEmailAddressString."';";
21 $GLOBALS['db']->query($query);
24 public function testEmailAddress()
34 $_REQUEST['_email_widget_id'] = 0;
35 $_REQUEST['0emailAddress0'] = $this->testEmailAddressString;
36 $_REQUEST['emailAddressPrimaryFlag'] = '0emailAddress0';
37 $_REQUEST['emailAddressVerifiedFlag0'] = 'true';
38 $_REQUEST['emailAddressVerifiedValue0'] = 'unitTest@sugarcrm.com';
39 $requestVariablesSet = array('0emailAddress0','emailAddressPrimaryFlag','emailAddressVerifiedFlag0','emailAddressVerifiedValue0');
40 $this->emailaddress->save($id, $module, $new_addrs, $primary, $replyTo, $invalid, $optOut, $in_workflow);
41 foreach ($requestVariablesSet as $k)
44 $this->assertEquals($this->emailaddress->addresses[0]['email_address'], $this->testEmailAddressString);
45 $this->assertEquals($this->emailaddress->addresses[0]['primary_address'], 1);
48 public function testSaveEmailAddressUsingSugarbeanSave()
50 $this->emailaddress->email_address = $this->testEmailAddressString;
51 $this->emailaddress->opt_out = '1';
52 $this->emailaddress->save();
54 $this->assertTrue(!empty($this->emailaddress->id));
56 $this->emailaddress->id,
57 $GLOBALS['db']->getOne("SELECT id FROM email_addresses WHERE id = '{$this->emailaddress->id}' AND email_address = '{$this->testEmailAddressString}' and opt_out = '1'"),
58 'Email Address record not added'
62 public function getEmails()
65 array("test@sugarcrm.com", "", "test@sugarcrm.com"),
66 array("John Doe <test@sugarcrm.com>", "John Doe", "test@sugarcrm.com"),
67 array("\"John Doe\" <test@sugarcrm.com>", "John Doe", "test@sugarcrm.com"),
68 array("\"John Doe\" <test@sugarcrm.com>", "John Doe", "test@sugarcrm.com"),
69 array("\"John Doe (<doe>)\" <test@sugarcrm.com>", "John Doe (doe)", "test@sugarcrm.com"),
71 array("\"John Doe (<doe>)\"", "John Doe (doe)", ""),
72 array("John Doe <vlha>", "John Doe vlha", ""),
73 array("<script>alert(1)</script>", "scriptalert(1)/script", ""),
74 array("Test <test@test>", "Test test@test", ""),
79 * @dataProvider getEmails
82 * @param string $email
85 public function testSplitEmail($addr, $name, $email)
87 $parts = $this->emailaddress->splitEmailAddress($addr);
88 $this->assertEquals($name, $parts['name']);
89 $this->assertEquals($email, $parts['email']);