mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 18:03:17 +00:00
125 lines
3.4 KiB
PHP
125 lines
3.4 KiB
PHP
<?php
|
|
|
|
namespace Alchemy\Tests\Phrasea\Notification\Mail;
|
|
|
|
use Alchemy\Phrasea\Exception\LogicException;
|
|
use Alchemy\Phrasea\Notification\Mail\MailInfoPushReceived;
|
|
|
|
/**
|
|
* @group functional
|
|
* @group legacy
|
|
* @covers Alchemy\Phrasea\Notification\Mail\MailInfoPushReceived
|
|
*/
|
|
class MailInfoPushReceivedTest extends MailWithLinkTestCase
|
|
{
|
|
public function testSetBasket()
|
|
{
|
|
$mail = $this->getMail();
|
|
|
|
$this->assertEquals('Reception of %basket_name%', $mail->getSubject());
|
|
}
|
|
|
|
public function testShouldThrowLogicExceptionsIfBasketNotSet()
|
|
{
|
|
$mail = MailInfoPushReceived::create(
|
|
$this->getApplication(),
|
|
$this->getReceiverMock(),
|
|
$this->getEmitterMock(),
|
|
$this->getMessage(),
|
|
$this->getUrl(),
|
|
$this->getExpiration()
|
|
);
|
|
|
|
$user = $this->createUserMock();
|
|
|
|
$user->expects($this->any())
|
|
->method('getFirstName')
|
|
->will($this->returnValue('JeanFirstName'));
|
|
|
|
$mail->setPusher($user);
|
|
|
|
try {
|
|
$mail->getSubject();
|
|
$this->fail('Should have raised an exception');
|
|
} catch (LogicException $e) {
|
|
|
|
}
|
|
}
|
|
|
|
public function testSetPusher()
|
|
{
|
|
$mail = $this->getMail();
|
|
|
|
$this->assertEquals("You just received a push containing %quantity% documents from %user%\nLorem ipsum dolor", $mail->getMessage());
|
|
}
|
|
|
|
public function testShouldThrowLogicExceptionsIfPusherNotSet()
|
|
{
|
|
$mail = MailInfoPushReceived::create(
|
|
$this->getApplication(),
|
|
$this->getReceiverMock(),
|
|
$this->getEmitterMock(),
|
|
$this->getMessage(),
|
|
$this->getUrl(),
|
|
$this->getExpiration()
|
|
);
|
|
|
|
$basket = $this->getMock('Alchemy\Phrasea\Model\Entities\Basket');
|
|
$basket->expects($this->any())
|
|
->method('getName')
|
|
->will($this->returnValue('Hello basket'));
|
|
|
|
$mail->setBasket($basket);
|
|
|
|
try {
|
|
$mail->getMessage();
|
|
$this->fail('Should have raised an exception');
|
|
} catch (LogicException $e) {
|
|
|
|
}
|
|
}
|
|
|
|
public function testSetQuantity()
|
|
{
|
|
$mail = $this->getMail();
|
|
|
|
$this->assertEquals("You just received a push containing %quantity% documents from %user%\nLorem ipsum dolor", $mail->getMessage());
|
|
}
|
|
|
|
public function getMail()
|
|
{
|
|
$mail = MailInfoPushReceived::create(
|
|
$this->getApplication(),
|
|
$this->getReceiverMock(),
|
|
$this->getEmitterMock(),
|
|
$this->getMessage(),
|
|
$this->getUrl(),
|
|
$this->getExpiration()
|
|
);
|
|
|
|
$collection = $this->getMock('Doctrine\Common\Collections\ArrayCollection');
|
|
$collection->expects($this->any())
|
|
->method('count')
|
|
->will($this->returnValue(5));
|
|
|
|
$basket = $this->getMock('Alchemy\Phrasea\Model\Entities\Basket');
|
|
$basket->expects($this->any())
|
|
->method('getName')
|
|
->will($this->returnValue('Hello basket'));
|
|
$basket->expects($this->any())
|
|
->method('getElements')
|
|
->will($this->returnValue($collection));
|
|
|
|
$user = $this->createUserMock();
|
|
|
|
$user->expects($this->any())
|
|
->method('getDisplayName')
|
|
->will($this->returnValue('JeanPhil'));
|
|
|
|
$mail->setPusher($user);
|
|
$mail->setBasket($basket);
|
|
|
|
return $mail;
|
|
}
|
|
}
|