From e1073cf442613ac92878c8ded30a33db35b30e14 Mon Sep 17 00:00:00 2001
From: Arthur Schiwon <blizzz@owncloud.com>
Date: Mon, 9 May 2016 10:02:07 +0200
Subject: Notificacations for simple @-mentioning in comments

(WIP) notify user when mentioned in comments

Fix doc, and create absolute URL for as notification link.

PSR-4 compatibility changes

also move notification creation to comments app

Do not notify yourself

unit test for controller and application

smaller fixes

- translatable app name
- remove doubles in mention array
- micro perf optimization
- display name: special label for deleted users, keep user id for users that could not be fetched from userManager

Comment Notification-Listener Unit Test

fix email adresses

remove notification when triggering comment was deleted

add and adjust tests

add missing @license tags

simplify NotificationsController registration

appinfo simplification, php docs

make string easier to translate

adjust test

replace dispatcher-based listeners with a registration method and interface

safer to not pass optional data parameter to setSubject for marking as processed. ID and mention suffices

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

update comment

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
---
 .../tests/Unit/AppInfo/ApplicationTest.php         | 65 ++++++++++++++++++++++
 1 file changed, 65 insertions(+)
 create mode 100644 apps/comments/tests/Unit/AppInfo/ApplicationTest.php

(limited to 'apps/comments/tests/Unit/AppInfo/ApplicationTest.php')

diff --git a/apps/comments/tests/Unit/AppInfo/ApplicationTest.php b/apps/comments/tests/Unit/AppInfo/ApplicationTest.php
new file mode 100644
index 00000000000..c11d7857496
--- /dev/null
+++ b/apps/comments/tests/Unit/AppInfo/ApplicationTest.php
@@ -0,0 +1,65 @@
+<?php
+/**
+ * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program 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, version 3,
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\Comments\Tests\Unit\AppInfo;
+
+use OCA\Comments\AppInfo\Application;
+use Test\TestCase;
+
+/**
+ * Class ApplicationTest
+ *
+ * @group DB
+ *
+ * @package OCA\Comments\Tests\Unit\AppInfo
+ */
+class ApplicationTest extends TestCase {
+	protected function setUp() {
+		parent::setUp();
+		\OC::$server->getUserManager()->createUser('dummy', '456');
+		\OC::$server->getUserSession()->setUser(\OC::$server->getUserManager()->get('dummy'));
+	}
+
+	protected function tearDown() {
+		\OC::$server->getUserManager()->get('dummy')->delete();
+		parent::tearDown();
+	}
+
+	public function test() {
+		$app = new Application();
+		$c = $app->getContainer();
+
+		// assert service instances in the container are properly setup
+		$s = $c->query('NotificationsController');
+		$this->assertInstanceOf('OCA\Comments\Controller\Notifications', $s);
+
+		$services = [
+			'OCA\Comments\Activity\Extension',
+			'OCA\Comments\Activity\Listener',
+			'OCA\Comments\Notification\Listener'
+		];
+
+		foreach($services as $service) {
+			$s = $c->query($service);
+			$this->assertInstanceOf($service, $s);
+		}
+	}
+}
-- 
cgit v1.2.3