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)); }