Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Citharel <tcit@tcit.fr>2020-03-26 20:32:09 +0300
committerThomas Citharel <tcit@tcit.fr>2020-04-03 14:49:25 +0300
commit058ffa37ff33f898497f92b1b8c6e528170a4215 (patch)
tree93cd3321ec6f25e81255acb04b0d881490d25891 /apps/dav/tests
parent054df038def136ba1c9e9c26a1e0ce3db0a17307 (diff)
Add default titles for titleless events in invitations
Closes #19662 Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Diffstat (limited to 'apps/dav/tests')
-rw-r--r--apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php54
1 files changed, 49 insertions, 5 deletions
diff --git a/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php b/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php
index 226db0578c1..0f990cd8ca6 100644
--- a/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php
+++ b/apps/dav/tests/unit/CalDAV/Schedule/IMipPluginTest.php
@@ -46,12 +46,40 @@ use OCP\Mail\IEMailTemplate;
use OCP\Mail\IMailer;
use OCP\Mail\IMessage;
use OCP\Security\ISecureRandom;
+use PHPUnit\Framework\MockObject\MockObject;
use Sabre\VObject\Component\VCalendar;
use Sabre\VObject\ITip\Message;
use Test\TestCase;
class IMipPluginTest extends TestCase {
+ /** @var IMessage|MockObject */
+ private $mailMessage;
+
+ /** @var IMailer|MockObject */
+ private $mailer;
+
+ /** @var IEMailTemplate|MockObject */
+ private $emailTemplate;
+
+ /** @var IAttachment|MockObject */
+ private $emailAttachment;
+
+ /** @var ITimeFactory|MockObject */
+ private $timeFactory;
+
+ /** @var IConfig|MockObject */
+ private $config;
+
+ /** @var IUserManager|MockObject */
+ private $userManager;
+
+ /** @var IQueryBuilder|MockObject */
+ private $queryBuilder;
+
+ /** @var IMipPlugin */
+ private $plugin;
+
protected function setUp(): void {
$this->mailMessage = $this->createMock(IMessage::class);
$this->mailMessage->method('setFrom')->willReturn($this->mailMessage);
@@ -67,6 +95,7 @@ class IMipPluginTest extends TestCase {
$this->emailAttachment = $this->createMock(IAttachment::class);
$this->mailer->method('createAttachment')->willReturn($this->emailAttachment);
+ /** @var ILogger|MockObject $logger */
$logger = $this->getMockBuilder(ILogger::class)->disableOriginalConstructor()->getMock();
$this->timeFactory = $this->getMockBuilder(ITimeFactory::class)->disableOriginalConstructor()->getMock();
@@ -156,7 +185,7 @@ class IMipPluginTest extends TestCase {
/**
* @dataProvider dataNoMessageSendForPastEvents
*/
- public function testNoMessageSendForPastEvents($veventParams, $expectsMail) {
+ public function testNoMessageSendForPastEvents(array $veventParams, bool $expectsMail) {
$this->config
->method('getAppValue')
@@ -194,7 +223,7 @@ class IMipPluginTest extends TestCase {
/**
* @dataProvider dataIncludeResponseButtons
*/
- public function testIncludeResponseButtons( $config_setting, $recipient, $has_buttons ) {
+ public function testIncludeResponseButtons(string $config_setting, string $recipient, bool $has_buttons ) {
$message = $this->_testMessage([],$recipient);
$this->_expectSend($recipient, true, $has_buttons);
@@ -220,7 +249,22 @@ class IMipPluginTest extends TestCase {
];
}
- private function _testMessage($attrs = [], $recipient = 'frodo@hobb.it' ) {
+ public function testMessageSendWhenEventWithoutName() {
+ $this->config
+ ->method('getAppValue')
+ ->with('dav', 'invitation_link_recipients', 'yes')
+ ->willReturn('yes');
+
+ $message = $this->_testMessage(['SUMMARY' => '']);
+ $this->_expectSend('frodo@hobb.it', true, true,'Invitation: Untitled event');
+ $this->emailTemplate->expects($this->once())
+ ->method('addHeading')
+ ->with('Mr. Wizard invited you to »Untitled event«');
+ $this->plugin->schedule($message);
+ $this->assertEquals('1.1', $message->getScheduleStatus());
+ }
+
+ private function _testMessage(array $attrs = [], string $recipient = 'frodo@hobb.it' ) {
$message = new Message();
$message->method = 'REQUEST';
$message->message = new VCalendar();
@@ -239,7 +283,7 @@ class IMipPluginTest extends TestCase {
}
- private function _expectSend( $recipient = 'frodo@hobb.it', $expectSend = true, $expectButtons = true ) {
+ private function _expectSend(string $recipient = 'frodo@hobb.it', bool $expectSend = true, bool $expectButtons = true, string $subject = 'Invitation: Fellowship meeting') {
// if the event is in the past, we skip out
if (!$expectSend) {
@@ -251,7 +295,7 @@ class IMipPluginTest extends TestCase {
$this->emailTemplate->expects($this->once())
->method('setSubject')
- ->with('Invitation: Fellowship meeting');
+ ->with($subject);
$this->mailMessage->expects($this->once())
->method('setTo')
->with([$recipient => null]);