aboutsummaryrefslogtreecommitdiffstats
path: root/apps/sharebymail/tests
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2021-11-26 14:42:31 +0100
committerJulius Härtl <jus@bitgrid.net>2021-12-03 10:17:02 +0100
commit5116bf146f3e21805d42997ca9b1f713474bfb6d (patch)
treef0b0fc2d88f905d22a1331f9ebd85aee792c8522 /apps/sharebymail/tests
parent70f9e5e37dde34a976d7aab1a9cdeec165cb5df1 (diff)
downloadnextcloud-server-5116bf146f3e21805d42997ca9b1f713474bfb6d.tar.gz
nextcloud-server-5116bf146f3e21805d42997ca9b1f713474bfb6d.zip
Allow to pass note when creating a share and send it with directly in the share mail when set
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'apps/sharebymail/tests')
-rw-r--r--apps/sharebymail/tests/ShareByMailProviderTest.php101
1 files changed, 101 insertions, 0 deletions
diff --git a/apps/sharebymail/tests/ShareByMailProviderTest.php b/apps/sharebymail/tests/ShareByMailProviderTest.php
index a82da164b78..bbe5516408d 100644
--- a/apps/sharebymail/tests/ShareByMailProviderTest.php
+++ b/apps/sharebymail/tests/ShareByMailProviderTest.php
@@ -1187,6 +1187,107 @@ class ShareByMailProviderTest extends TestCase {
'OwnerUser',
'john@doe.com',
null,
+ ''
+ ]);
+ }
+
+ public function testSendMailNotificationWithSameUserAndUserEmailAndNote() {
+ $provider = $this->getInstance();
+ $user = $this->createMock(IUser::class);
+ $this->settingsManager->expects($this->any())->method('replyToInitiator')->willReturn(true);
+ $this->userManager
+ ->expects($this->once())
+ ->method('get')
+ ->with('OwnerUser')
+ ->willReturn($user);
+ $user
+ ->expects($this->once())
+ ->method('getDisplayName')
+ ->willReturn('Mrs. Owner User');
+ $message = $this->createMock(Message::class);
+ $this->mailer
+ ->expects($this->once())
+ ->method('createMessage')
+ ->willReturn($message);
+ $template = $this->createMock(IEMailTemplate::class);
+ $this->mailer
+ ->expects($this->once())
+ ->method('createEMailTemplate')
+ ->willReturn($template);
+ $template
+ ->expects($this->once())
+ ->method('addHeader');
+ $template
+ ->expects($this->once())
+ ->method('addHeading')
+ ->with('Mrs. Owner User shared »file.txt« with you');
+ $template
+ ->expects($this->exactly(2))
+ ->method('addBodyText')
+ ->withConsecutive(
+ ['This is a note to the recipient', 'This is a note to the recipient'],
+ ['Mrs. Owner User shared »file.txt« with you. Click the button below to open it.', 'Mrs. Owner User shared »file.txt« with you.'],
+ );
+ $template
+ ->expects($this->once())
+ ->method('addBodyButton')
+ ->with(
+ 'Open »file.txt«',
+ 'https://example.com/file.txt'
+ );
+ $message
+ ->expects($this->once())
+ ->method('setTo')
+ ->with(['john@doe.com']);
+ $this->defaults
+ ->expects($this->once())
+ ->method('getName')
+ ->willReturn('UnitTestCloud');
+ $message
+ ->expects($this->once())
+ ->method('setFrom')
+ ->with([
+ \OCP\Util::getDefaultEmailAddress('UnitTestCloud') => 'Mrs. Owner User via UnitTestCloud'
+ ]);
+ $user
+ ->expects($this->once())
+ ->method('getEMailAddress')
+ ->willReturn('owner@example.com');
+ $message
+ ->expects($this->once())
+ ->method('setReplyTo')
+ ->with(['owner@example.com' => 'Mrs. Owner User']);
+ $this->defaults
+ ->expects($this->exactly(2))
+ ->method('getSlogan')
+ ->willReturn('Testing like 1990');
+ $template
+ ->expects($this->once())
+ ->method('addFooter')
+ ->with('UnitTestCloud - Testing like 1990');
+ $template
+ ->expects($this->once())
+ ->method('setSubject')
+ ->with('Mrs. Owner User shared »file.txt« with you');
+ $message
+ ->expects($this->once())
+ ->method('useTemplate')
+ ->with($template);
+ $this->mailer
+ ->expects($this->once())
+ ->method('send')
+ ->with($message);
+
+ self::invokePrivate(
+ $provider,
+ 'sendMailNotification',
+ [
+ 'file.txt',
+ 'https://example.com/file.txt',
+ 'OwnerUser',
+ 'john@doe.com',
+ null,
+ 'This is a note to the recipient'
]);
}