public function testAttachRecipientsToMessage()
 {
     $billy = User::getByUsername('billy');
     Yii::app()->user->userModel = $billy;
     $emailMessage = new EmailMessage();
     //Attach non personOrAccount recipient
     EmailMessageUtil::attachRecipientsToMessage(array('*****@*****.**', '*****@*****.**', '*****@*****.**'), $emailMessage, EmailMessageRecipient::TYPE_TO);
     $this->assertEquals('3', count($emailMessage->recipients));
     $this->assertLessThan(0, $emailMessage->recipients[0]->personOrAccount->id);
     $this->assertLessThan(0, $emailMessage->recipients[1]->personOrAccount->id);
     $this->assertLessThan(0, $emailMessage->recipients[2]->personOrAccount->id);
     $this->assertEquals(EmailMessageRecipient::TYPE_TO, $emailMessage->recipients[0]->type);
     $this->assertEquals(EmailMessageRecipient::TYPE_TO, $emailMessage->recipients[1]->type);
     $this->assertEquals(EmailMessageRecipient::TYPE_TO, $emailMessage->recipients[2]->type);
     //Attach personOrAccount recipient
     EmailMessageUtil::attachRecipientsToMessage(array('*****@*****.**', '*****@*****.**'), $emailMessage, EmailMessageRecipient::TYPE_BCC);
     $this->assertEquals('5', count($emailMessage->recipients));
     $contacts = Contact::getByName('sally sallyson');
     $this->assertEquals($emailMessage->recipients[3]->personOrAccount->id, $contacts[0]->id);
     $this->assertEquals(EmailMessageRecipient::TYPE_BCC, $emailMessage->recipients[3]->type);
     //User billy dont have permision to molly contact
     Yii::app()->user->userModel = User::getByUsername('super');
     $contacts = Contact::getByName('molly mollyson');
     $this->assertNotEquals($emailMessage->recipients[4]->personOrAccount->id, $contacts[0]->id);
     $this->assertEquals($emailMessage->recipients[4]->toAddress, $contacts[0]->primaryEmail->emailAddress);
     $this->assertEquals(EmailMessageRecipient::TYPE_BCC, $emailMessage->recipients[4]->type);
     //Attach an empty email
     EmailMessageUtil::attachRecipientsToMessage(array(''), $emailMessage, EmailMessageRecipient::TYPE_CC);
     $this->assertEquals('5', count($emailMessage->recipients));
 }