|
|
@@ -171,37 +171,7 @@ class MailNotificationsTest extends \Test\TestCase { |
|
|
|
} |
|
|
|
|
|
|
|
public function testSendLinkShareMailException() { |
|
|
|
$message = $this->getMockBuilder('\OC\Mail\Message') |
|
|
|
->disableOriginalConstructor()->getMock(); |
|
|
|
|
|
|
|
$message |
|
|
|
->expects($this->once()) |
|
|
|
->method('setSubject') |
|
|
|
->with('TestUser shared »MyFile« with you'); |
|
|
|
$message |
|
|
|
->expects($this->once()) |
|
|
|
->method('setTo') |
|
|
|
->with(['lukas@owncloud.com']); |
|
|
|
$message |
|
|
|
->expects($this->once()) |
|
|
|
->method('setHtmlBody'); |
|
|
|
$message |
|
|
|
->expects($this->once()) |
|
|
|
->method('setPlainBody'); |
|
|
|
$message |
|
|
|
->expects($this->once()) |
|
|
|
->method('setFrom') |
|
|
|
->with([\OCP\Util::getDefaultEmailAddress('sharing-noreply') => 'TestUser via UnitTestCloud']); |
|
|
|
|
|
|
|
$this->mailer |
|
|
|
->expects($this->once()) |
|
|
|
->method('createMessage') |
|
|
|
->will($this->returnValue($message)); |
|
|
|
$this->mailer |
|
|
|
->expects($this->once()) |
|
|
|
->method('send') |
|
|
|
->with($message) |
|
|
|
->will($this->throwException(new Exception('Some Exception Message'))); |
|
|
|
$this->setupMailerMock('TestUser shared »MyFile« with you', ['lukas@owncloud.com']); |
|
|
|
|
|
|
|
$mailNotifications = new MailNotifications( |
|
|
|
$this->user, |
|
|
@@ -214,4 +184,73 @@ class MailNotificationsTest extends \Test\TestCase { |
|
|
|
$this->assertSame(['lukas@owncloud.com'], $mailNotifications->sendLinkShareMail('lukas@owncloud.com', 'MyFile', 'https://owncloud.com/file/?foo=bar', 3600)); |
|
|
|
} |
|
|
|
|
|
|
|
public function testSendInternalShareMail() { |
|
|
|
$this->setupMailerMock('TestUser shared »welcome.txt« with you', ['recipient@owncloud.com' => 'Recipient'], false); |
|
|
|
|
|
|
|
/** @var MailNotifications | PHPUnit_Framework_MockObject_MockObject $mailNotifications */ |
|
|
|
$mailNotifications = $this->getMock('OC\Share\MailNotifications',['getItemSharedWithUser'], [ |
|
|
|
$this->user, |
|
|
|
$this->l10n, |
|
|
|
$this->mailer, |
|
|
|
$this->logger, |
|
|
|
$this->defaults]); |
|
|
|
|
|
|
|
$mailNotifications->method('getItemSharedWithUser') |
|
|
|
->withAnyParameters() |
|
|
|
->willReturn([ |
|
|
|
['file_target' => '/welcome.txt'] |
|
|
|
]); |
|
|
|
|
|
|
|
$recipient = $this->getMockBuilder('\OCP\IUser') |
|
|
|
->disableOriginalConstructor()->getMock(); |
|
|
|
$recipient |
|
|
|
->expects($this->once()) |
|
|
|
->method('getEMailAddress') |
|
|
|
->willReturn('recipient@owncloud.com'); |
|
|
|
$recipient |
|
|
|
->expects($this->once()) |
|
|
|
->method('getDisplayName') |
|
|
|
->willReturn('Recipient'); |
|
|
|
|
|
|
|
$recipientList = [$recipient]; |
|
|
|
$result = $mailNotifications->sendInternalShareMail($recipientList, '3', 'file'); |
|
|
|
$this->assertSame([], $result); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
protected function setupMailerMock($subject, $to, $exceptionOnSend = true) { |
|
|
|
$message = $this->getMockBuilder('\OC\Mail\Message') |
|
|
|
->disableOriginalConstructor()->getMock(); |
|
|
|
|
|
|
|
$message |
|
|
|
->expects($this->once()) |
|
|
|
->method('setSubject') |
|
|
|
->with($subject); |
|
|
|
$message |
|
|
|
->expects($this->once()) |
|
|
|
->method('setTo') |
|
|
|
->with($to); |
|
|
|
$message |
|
|
|
->expects($this->once()) |
|
|
|
->method('setHtmlBody'); |
|
|
|
$message |
|
|
|
->expects($this->once()) |
|
|
|
->method('setPlainBody'); |
|
|
|
$message |
|
|
|
->expects($this->once()) |
|
|
|
->method('setFrom') |
|
|
|
->with([\OCP\Util::getDefaultEmailAddress('sharing-noreply') => 'TestUser via UnitTestCloud']); |
|
|
|
|
|
|
|
$this->mailer |
|
|
|
->expects($this->once()) |
|
|
|
->method('createMessage') |
|
|
|
->will($this->returnValue($message)); |
|
|
|
if ($exceptionOnSend) { |
|
|
|
$this->mailer |
|
|
|
->expects($this->once()) |
|
|
|
->method('send') |
|
|
|
->with($message) |
|
|
|
->will($this->throwException(new Exception('Some Exception Message'))); |
|
|
|
} |
|
|
|
} |
|
|
|
} |