public function testPrepareQueryOneProviderGiven()
 {
     $provider = $this->getMock('Oro\\Bundle\\EmailBundle\\Entity\\Provider\\EmailOwnerProviderInterface');
     $provider->expects($this->any())->method('getEmailOwnerClass')->will($this->returnValue(self::TEST_ENTITY));
     $this->providerStorage->addProvider($provider);
     $this->entityNameResolver->expects($this->once())->method('getNameDQL')->with(self::TEST_ENTITY, 'owner1')->will($this->returnValue(self::TEST_NAME_DQL_FORMATTED));
     $em = $this->getTestEntityManager();
     $qb = $em->createQueryBuilder();
     $qb->select('e')->from('OroEmailBundle:Email', 'e')->leftJoin('e.fromEmailAddress', self::JOIN_ALIAS);
     $this->factory->prepareQuery($qb);
     // @codingStandardsIgnoreStart
     $this->assertEquals("SELECT e, " . "CONCAT('', CASE WHEN a.hasOwner = true THEN (" . "CASE WHEN a.owner1 IS NOT NULL THEN CONCAT(a.firstName, CONCAT(a.lastName, '')) ELSE '' END" . ") ELSE a.email END) as fromEmailExpression " . "FROM OroEmailBundle:Email e LEFT JOIN e.fromEmailAddress a LEFT JOIN a.owner1 owner1", $qb->getDQL());
     // @codingStandardsIgnoreEnd
 }
 public function testBuildFullEmailAddress()
 {
     $user = $this->getMock('Oro\\Bundle\\UserBundle\\Entity\\User');
     $email = 'email';
     $format = 'format';
     $expected = 'format <email>';
     $user->expects($this->once())->method('getEmail')->willReturn($email);
     $this->entityNameResolver->expects($this->once())->method('getName')->with($user)->willReturn($format);
     $result = $this->helper->buildFullEmailAddress($user);
     $this->assertEquals($expected, $result);
 }