From 73a058e301911dec5df18b4eab789cd5cd2e9c6b Mon Sep 17 00:00:00 2001
From: Bjoern Schiessle <schiessle@owncloud.com>
Date: Fri, 23 Jan 2015 20:37:16 +0100
Subject: [PATCH] by default send mail for new server-to-server share

---
 apps/files_sharing/lib/activity.php   | 13 ++++--
 apps/files_sharing/tests/activity.php | 65 +++++++++++++++++++++++++++
 2 files changed, 75 insertions(+), 3 deletions(-)
 create mode 100644 apps/files_sharing/tests/activity.php

diff --git a/apps/files_sharing/lib/activity.php b/apps/files_sharing/lib/activity.php
index 23f548474d..bfac91fd71 100644
--- a/apps/files_sharing/lib/activity.php
+++ b/apps/files_sharing/lib/activity.php
@@ -68,11 +68,18 @@ class Activity implements \OCP\Activity\IExtension {
 	 * @return array|false
 	 */
 	public function getDefaultTypes($method) {
-		if ($method === 'stream') {
-			return array(self::TYPE_REMOTE_SHARE, self::TYPE_PUBLIC_LINKS);
+		switch ($method) {
+			case 'email':
+				$result = array(self::TYPE_REMOTE_SHARE);
+				break;
+			case 'stream':
+				$result = array(self::TYPE_REMOTE_SHARE, self::TYPE_PUBLIC_LINKS);
+				break;
+			default:
+				$result = false;
 		}
 
-		return false;
+		return $result;
 	}
 
 	/**
diff --git a/apps/files_sharing/tests/activity.php b/apps/files_sharing/tests/activity.php
new file mode 100644
index 0000000000..04930e3bb7
--- /dev/null
+++ b/apps/files_sharing/tests/activity.php
@@ -0,0 +1,65 @@
+<?php
+
+/**
+ * ownCloud
+ *
+ * @copyright (C) 2015 ownCloud, Inc.
+ *
+ * @author Bjoern Schiessle <schiessle@owncloud.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+namespace OCA\Files_sharing\Tests;
+use OCA\Files_sharing\Tests\TestCase;
+
+
+class Activity extends \OCA\Files_Sharing\Tests\TestCase{
+
+	/**
+	 * @var \OCA\Files_Sharing\Activity
+	 */
+	private $activity;
+
+	protected function setUp() {
+		parent::setUp();
+		$this->activity = new \OCA\Files_Sharing\Activity();
+	}
+
+	/**
+	 * @dataProvider dataTestGetDefaultType
+	 */
+	public function testGetDefaultTypes($method, $expectedResult) {
+		$result = $this->activity->getDefaultTypes($method);
+
+		if (is_array($expectedResult)) {
+			$this->assertSame(count($expectedResult), count($result));
+			foreach ($expectedResult as $key => $expected) {
+				$this->assertSame($expected, $result[$key]);
+			}
+		} else {
+			$this->assertSame($expectedResult, $result);
+		}
+
+	}
+
+	public function dataTestGetDefaultType() {
+		return array(
+			array('email', array(\OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE)),
+			array('stream', array(\OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE, \OCA\Files_Sharing\Activity::TYPE_PUBLIC_LINKS)),
+			array('foo', false)
+		);
+	}
+
+}
-- 
GitLab