Completed
Push — master ( 5d14f8...2337bd )
by Robin
27:19 queued 16s
created
apps/twofactor_backupcodes/tests/Unit/Activity/ProviderTest.php 1 patch
Indentation   +84 added lines, -84 removed lines patch added patch discarded remove patch
@@ -19,88 +19,88 @@
 block discarded – undo
19 19
 use Test\TestCase;
20 20
 
21 21
 class ProviderTest extends TestCase {
22
-	private IFactory&MockObject $l10n;
23
-	private IURLGenerator&MockObject $urlGenerator;
24
-	private IManager&MockObject $activityManager;
25
-	private Provider $provider;
26
-
27
-	protected function setUp(): void {
28
-		parent::setUp();
29
-
30
-		$this->l10n = $this->createMock(IFactory::class);
31
-		$this->urlGenerator = $this->createMock(IURLGenerator::class);
32
-		$this->activityManager = $this->createMock(IManager::class);
33
-
34
-		$this->provider = new Provider($this->l10n, $this->urlGenerator, $this->activityManager);
35
-	}
36
-
37
-	public function testParseUnrelated(): void {
38
-		$lang = 'ru';
39
-		$event = $this->createMock(IEvent::class);
40
-		$event->expects($this->once())
41
-			->method('getApp')
42
-			->willReturn('comments');
43
-		$this->expectException(UnknownActivityException::class);
44
-
45
-		$this->provider->parse($lang, $event);
46
-	}
47
-
48
-	public static function subjectData(): array {
49
-		return [
50
-			['codes_generated'],
51
-		];
52
-	}
53
-
54
-	#[\PHPUnit\Framework\Attributes\DataProvider('subjectData')]
55
-	public function testParse(string $subject): void {
56
-		$lang = 'ru';
57
-		$event = $this->createMock(IEvent::class);
58
-		$l = $this->createMock(IL10N::class);
59
-
60
-		$event->expects($this->once())
61
-			->method('getApp')
62
-			->willReturn('twofactor_backupcodes');
63
-		$this->l10n->expects($this->once())
64
-			->method('get')
65
-			->with('twofactor_backupcodes', $lang)
66
-			->willReturn($l);
67
-		$this->urlGenerator->expects($this->once())
68
-			->method('imagePath')
69
-			->with('core', 'actions/password.svg')
70
-			->willReturn('path/to/image');
71
-		$this->urlGenerator->expects($this->once())
72
-			->method('getAbsoluteURL')
73
-			->with('path/to/image')
74
-			->willReturn('absolute/path/to/image');
75
-		$event->expects($this->once())
76
-			->method('setIcon')
77
-			->with('absolute/path/to/image');
78
-		$event->expects($this->once())
79
-			->method('getSubject')
80
-			->willReturn($subject);
81
-		$event->expects($this->once())
82
-			->method('setParsedSubject');
83
-
84
-		$this->provider->parse($lang, $event);
85
-	}
86
-
87
-	public function testParseInvalidSubject(): void {
88
-		$lang = 'ru';
89
-		$l = $this->createMock(IL10N::class);
90
-		$event = $this->createMock(IEvent::class);
91
-
92
-		$event->expects($this->once())
93
-			->method('getApp')
94
-			->willReturn('twofactor_backupcodes');
95
-		$this->l10n->expects($this->once())
96
-			->method('get')
97
-			->with('twofactor_backupcodes', $lang)
98
-			->willReturn($l);
99
-		$event->expects($this->once())
100
-			->method('getSubject')
101
-			->willReturn('unrelated');
102
-
103
-		$this->expectException(UnknownActivityException::class);
104
-		$this->provider->parse($lang, $event);
105
-	}
22
+    private IFactory&MockObject $l10n;
23
+    private IURLGenerator&MockObject $urlGenerator;
24
+    private IManager&MockObject $activityManager;
25
+    private Provider $provider;
26
+
27
+    protected function setUp(): void {
28
+        parent::setUp();
29
+
30
+        $this->l10n = $this->createMock(IFactory::class);
31
+        $this->urlGenerator = $this->createMock(IURLGenerator::class);
32
+        $this->activityManager = $this->createMock(IManager::class);
33
+
34
+        $this->provider = new Provider($this->l10n, $this->urlGenerator, $this->activityManager);
35
+    }
36
+
37
+    public function testParseUnrelated(): void {
38
+        $lang = 'ru';
39
+        $event = $this->createMock(IEvent::class);
40
+        $event->expects($this->once())
41
+            ->method('getApp')
42
+            ->willReturn('comments');
43
+        $this->expectException(UnknownActivityException::class);
44
+
45
+        $this->provider->parse($lang, $event);
46
+    }
47
+
48
+    public static function subjectData(): array {
49
+        return [
50
+            ['codes_generated'],
51
+        ];
52
+    }
53
+
54
+    #[\PHPUnit\Framework\Attributes\DataProvider('subjectData')]
55
+    public function testParse(string $subject): void {
56
+        $lang = 'ru';
57
+        $event = $this->createMock(IEvent::class);
58
+        $l = $this->createMock(IL10N::class);
59
+
60
+        $event->expects($this->once())
61
+            ->method('getApp')
62
+            ->willReturn('twofactor_backupcodes');
63
+        $this->l10n->expects($this->once())
64
+            ->method('get')
65
+            ->with('twofactor_backupcodes', $lang)
66
+            ->willReturn($l);
67
+        $this->urlGenerator->expects($this->once())
68
+            ->method('imagePath')
69
+            ->with('core', 'actions/password.svg')
70
+            ->willReturn('path/to/image');
71
+        $this->urlGenerator->expects($this->once())
72
+            ->method('getAbsoluteURL')
73
+            ->with('path/to/image')
74
+            ->willReturn('absolute/path/to/image');
75
+        $event->expects($this->once())
76
+            ->method('setIcon')
77
+            ->with('absolute/path/to/image');
78
+        $event->expects($this->once())
79
+            ->method('getSubject')
80
+            ->willReturn($subject);
81
+        $event->expects($this->once())
82
+            ->method('setParsedSubject');
83
+
84
+        $this->provider->parse($lang, $event);
85
+    }
86
+
87
+    public function testParseInvalidSubject(): void {
88
+        $lang = 'ru';
89
+        $l = $this->createMock(IL10N::class);
90
+        $event = $this->createMock(IEvent::class);
91
+
92
+        $event->expects($this->once())
93
+            ->method('getApp')
94
+            ->willReturn('twofactor_backupcodes');
95
+        $this->l10n->expects($this->once())
96
+            ->method('get')
97
+            ->with('twofactor_backupcodes', $lang)
98
+            ->willReturn($l);
99
+        $event->expects($this->once())
100
+            ->method('getSubject')
101
+            ->willReturn('unrelated');
102
+
103
+        $this->expectException(UnknownActivityException::class);
104
+        $this->provider->parse($lang, $event);
105
+    }
106 106
 }
Please login to merge, or discard this patch.
apps/workflowengine/tests/Check/RequestRemoteAddressTest.php 1 patch
Indentation   +84 added lines, -84 removed lines patch added patch discarded remove patch
@@ -15,88 +15,88 @@
 block discarded – undo
15 15
 
16 16
 class RequestRemoteAddressTest extends \Test\TestCase {
17 17
 
18
-	protected IRequest&MockObject $request;
19
-
20
-	protected function getL10NMock(): IL10N&MockObject {
21
-		$l = $this->createMock(IL10N::class);
22
-		$l->expects($this->any())
23
-			->method('t')
24
-			->willReturnCallback(function ($string, $args) {
25
-				return sprintf($string, $args);
26
-			});
27
-		return $l;
28
-	}
29
-
30
-	protected function setUp(): void {
31
-		parent::setUp();
32
-
33
-		$this->request = $this->createMock(IRequest::class);
34
-	}
35
-
36
-	public static function dataExecuteCheckIPv4(): array {
37
-		return [
38
-			['127.0.0.1/32', '127.0.0.1', true],
39
-			['127.0.0.1/32', '127.0.0.0', false],
40
-			['127.0.0.1/31', '127.0.0.0', true],
41
-			['127.0.0.1/32', '127.0.0.2', false],
42
-			['127.0.0.1/31', '127.0.0.2', false],
43
-			['127.0.0.1/30', '127.0.0.2', true],
44
-		];
45
-	}
46
-
47
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheckIPv4')]
48
-	public function testExecuteCheckMatchesIPv4(string $value, string $ip, bool $expected): void {
49
-		$check = new RequestRemoteAddress($this->getL10NMock(), $this->request);
50
-
51
-		$this->request->expects($this->once())
52
-			->method('getRemoteAddress')
53
-			->willReturn($ip);
54
-
55
-		$this->assertEquals($expected, $check->executeCheck('matchesIPv4', $value));
56
-	}
57
-
58
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheckIPv4')]
59
-	public function testExecuteCheckNotMatchesIPv4(string $value, string $ip, bool $expected): void {
60
-		$check = new RequestRemoteAddress($this->getL10NMock(), $this->request);
61
-
62
-		$this->request->expects($this->once())
63
-			->method('getRemoteAddress')
64
-			->willReturn($ip);
65
-
66
-		$this->assertEquals(!$expected, $check->executeCheck('!matchesIPv4', $value));
67
-	}
68
-
69
-	public static function dataExecuteCheckIPv6(): array {
70
-		return [
71
-			['::1/128', '::1', true],
72
-			['::2/128', '::3', false],
73
-			['::2/127', '::3', true],
74
-			['::1/128', '::2', false],
75
-			['::1/127', '::2', false],
76
-			['::1/126', '::2', true],
77
-			['1234::1/127', '1234::', true],
78
-		];
79
-	}
80
-
81
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheckIPv6')]
82
-	public function testExecuteCheckMatchesIPv6(string $value, string $ip, bool $expected): void {
83
-		$check = new RequestRemoteAddress($this->getL10NMock(), $this->request);
84
-
85
-		$this->request->expects($this->once())
86
-			->method('getRemoteAddress')
87
-			->willReturn($ip);
88
-
89
-		$this->assertEquals($expected, $check->executeCheck('matchesIPv6', $value));
90
-	}
91
-
92
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheckIPv6')]
93
-	public function testExecuteCheckNotMatchesIPv6(string $value, string $ip, bool $expected): void {
94
-		$check = new RequestRemoteAddress($this->getL10NMock(), $this->request);
95
-
96
-		$this->request->expects($this->once())
97
-			->method('getRemoteAddress')
98
-			->willReturn($ip);
99
-
100
-		$this->assertEquals(!$expected, $check->executeCheck('!matchesIPv6', $value));
101
-	}
18
+    protected IRequest&MockObject $request;
19
+
20
+    protected function getL10NMock(): IL10N&MockObject {
21
+        $l = $this->createMock(IL10N::class);
22
+        $l->expects($this->any())
23
+            ->method('t')
24
+            ->willReturnCallback(function ($string, $args) {
25
+                return sprintf($string, $args);
26
+            });
27
+        return $l;
28
+    }
29
+
30
+    protected function setUp(): void {
31
+        parent::setUp();
32
+
33
+        $this->request = $this->createMock(IRequest::class);
34
+    }
35
+
36
+    public static function dataExecuteCheckIPv4(): array {
37
+        return [
38
+            ['127.0.0.1/32', '127.0.0.1', true],
39
+            ['127.0.0.1/32', '127.0.0.0', false],
40
+            ['127.0.0.1/31', '127.0.0.0', true],
41
+            ['127.0.0.1/32', '127.0.0.2', false],
42
+            ['127.0.0.1/31', '127.0.0.2', false],
43
+            ['127.0.0.1/30', '127.0.0.2', true],
44
+        ];
45
+    }
46
+
47
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheckIPv4')]
48
+    public function testExecuteCheckMatchesIPv4(string $value, string $ip, bool $expected): void {
49
+        $check = new RequestRemoteAddress($this->getL10NMock(), $this->request);
50
+
51
+        $this->request->expects($this->once())
52
+            ->method('getRemoteAddress')
53
+            ->willReturn($ip);
54
+
55
+        $this->assertEquals($expected, $check->executeCheck('matchesIPv4', $value));
56
+    }
57
+
58
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheckIPv4')]
59
+    public function testExecuteCheckNotMatchesIPv4(string $value, string $ip, bool $expected): void {
60
+        $check = new RequestRemoteAddress($this->getL10NMock(), $this->request);
61
+
62
+        $this->request->expects($this->once())
63
+            ->method('getRemoteAddress')
64
+            ->willReturn($ip);
65
+
66
+        $this->assertEquals(!$expected, $check->executeCheck('!matchesIPv4', $value));
67
+    }
68
+
69
+    public static function dataExecuteCheckIPv6(): array {
70
+        return [
71
+            ['::1/128', '::1', true],
72
+            ['::2/128', '::3', false],
73
+            ['::2/127', '::3', true],
74
+            ['::1/128', '::2', false],
75
+            ['::1/127', '::2', false],
76
+            ['::1/126', '::2', true],
77
+            ['1234::1/127', '1234::', true],
78
+        ];
79
+    }
80
+
81
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheckIPv6')]
82
+    public function testExecuteCheckMatchesIPv6(string $value, string $ip, bool $expected): void {
83
+        $check = new RequestRemoteAddress($this->getL10NMock(), $this->request);
84
+
85
+        $this->request->expects($this->once())
86
+            ->method('getRemoteAddress')
87
+            ->willReturn($ip);
88
+
89
+        $this->assertEquals($expected, $check->executeCheck('matchesIPv6', $value));
90
+    }
91
+
92
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheckIPv6')]
93
+    public function testExecuteCheckNotMatchesIPv6(string $value, string $ip, bool $expected): void {
94
+        $check = new RequestRemoteAddress($this->getL10NMock(), $this->request);
95
+
96
+        $this->request->expects($this->once())
97
+            ->method('getRemoteAddress')
98
+            ->willReturn($ip);
99
+
100
+        $this->assertEquals(!$expected, $check->executeCheck('!matchesIPv6', $value));
101
+    }
102 102
 }
Please login to merge, or discard this patch.
apps/workflowengine/tests/Check/RequestUserAgentTest.php 1 patch
Indentation   +66 added lines, -66 removed lines patch added patch discarded remove patch
@@ -16,79 +16,79 @@
 block discarded – undo
16 16
 use Test\TestCase;
17 17
 
18 18
 class RequestUserAgentTest extends TestCase {
19
-	protected IRequest&MockObject $request;
20
-	protected RequestUserAgent $check;
19
+    protected IRequest&MockObject $request;
20
+    protected RequestUserAgent $check;
21 21
 
22
-	protected function setUp(): void {
23
-		parent::setUp();
22
+    protected function setUp(): void {
23
+        parent::setUp();
24 24
 
25
-		$this->request = $this->createMock(IRequest::class);
26
-		/** @var IL10N&MockObject $l */
27
-		$l = $this->createMock(IL10N::class);
28
-		$l->expects($this->any())
29
-			->method('t')
30
-			->willReturnCallback(function ($string, $args) {
31
-				return sprintf($string, $args);
32
-			});
25
+        $this->request = $this->createMock(IRequest::class);
26
+        /** @var IL10N&MockObject $l */
27
+        $l = $this->createMock(IL10N::class);
28
+        $l->expects($this->any())
29
+            ->method('t')
30
+            ->willReturnCallback(function ($string, $args) {
31
+                return sprintf($string, $args);
32
+            });
33 33
 
34
-		$this->check = new RequestUserAgent($l, $this->request);
35
-	}
34
+        $this->check = new RequestUserAgent($l, $this->request);
35
+    }
36 36
 
37
-	public static function dataExecuteCheck(): array {
38
-		return [
39
-			['is', 'android', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', true],
40
-			['is', 'android', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', false],
41
-			['is', 'android', 'Mozilla/5.0 (Linux) mirall/2.2.0', false],
42
-			['is', 'android', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', false],
43
-			['is', 'android', 'Filelink for *cloud/2.2.0', false],
44
-			['!is', 'android', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', false],
45
-			['!is', 'android', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', true],
46
-			['!is', 'android', 'Mozilla/5.0 (Linux) mirall/2.2.0', true],
47
-			['!is', 'android', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', true],
48
-			['!is', 'android', 'Filelink for *cloud/2.2.0', true],
37
+    public static function dataExecuteCheck(): array {
38
+        return [
39
+            ['is', 'android', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', true],
40
+            ['is', 'android', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', false],
41
+            ['is', 'android', 'Mozilla/5.0 (Linux) mirall/2.2.0', false],
42
+            ['is', 'android', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', false],
43
+            ['is', 'android', 'Filelink for *cloud/2.2.0', false],
44
+            ['!is', 'android', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', false],
45
+            ['!is', 'android', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', true],
46
+            ['!is', 'android', 'Mozilla/5.0 (Linux) mirall/2.2.0', true],
47
+            ['!is', 'android', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', true],
48
+            ['!is', 'android', 'Filelink for *cloud/2.2.0', true],
49 49
 
50
-			['is', 'ios', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', false],
51
-			['is', 'ios', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', true],
52
-			['is', 'ios', 'Mozilla/5.0 (Linux) mirall/2.2.0', false],
53
-			['is', 'ios', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', false],
54
-			['is', 'ios', 'Filelink for *cloud/2.2.0', false],
55
-			['!is', 'ios', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', true],
56
-			['!is', 'ios', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', false],
57
-			['!is', 'ios', 'Mozilla/5.0 (Linux) mirall/2.2.0', true],
58
-			['!is', 'ios', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', true],
59
-			['!is', 'ios', 'Filelink for *cloud/2.2.0', true],
50
+            ['is', 'ios', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', false],
51
+            ['is', 'ios', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', true],
52
+            ['is', 'ios', 'Mozilla/5.0 (Linux) mirall/2.2.0', false],
53
+            ['is', 'ios', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', false],
54
+            ['is', 'ios', 'Filelink for *cloud/2.2.0', false],
55
+            ['!is', 'ios', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', true],
56
+            ['!is', 'ios', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', false],
57
+            ['!is', 'ios', 'Mozilla/5.0 (Linux) mirall/2.2.0', true],
58
+            ['!is', 'ios', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', true],
59
+            ['!is', 'ios', 'Filelink for *cloud/2.2.0', true],
60 60
 
61
-			['is', 'desktop', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', false],
62
-			['is', 'desktop', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', false],
63
-			['is', 'desktop', 'Mozilla/5.0 (Linux) mirall/2.2.0', true],
64
-			['is', 'desktop', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', false],
65
-			['is', 'desktop', 'Filelink for *cloud/2.2.0', false],
66
-			['!is', 'desktop', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', true],
67
-			['!is', 'desktop', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', true],
68
-			['!is', 'desktop', 'Mozilla/5.0 (Linux) mirall/2.2.0', false],
69
-			['!is', 'desktop', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', true],
70
-			['!is', 'desktop', 'Filelink for *cloud/2.2.0', true],
61
+            ['is', 'desktop', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', false],
62
+            ['is', 'desktop', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', false],
63
+            ['is', 'desktop', 'Mozilla/5.0 (Linux) mirall/2.2.0', true],
64
+            ['is', 'desktop', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', false],
65
+            ['is', 'desktop', 'Filelink for *cloud/2.2.0', false],
66
+            ['!is', 'desktop', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', true],
67
+            ['!is', 'desktop', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', true],
68
+            ['!is', 'desktop', 'Mozilla/5.0 (Linux) mirall/2.2.0', false],
69
+            ['!is', 'desktop', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', true],
70
+            ['!is', 'desktop', 'Filelink for *cloud/2.2.0', true],
71 71
 
72
-			['is', 'mail', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', false],
73
-			['is', 'mail', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', false],
74
-			['is', 'mail', 'Mozilla/5.0 (Linux) mirall/2.2.0', false],
75
-			['is', 'mail', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', true],
76
-			['is', 'mail', 'Filelink for *cloud/2.2.0', true],
77
-			['!is', 'mail', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', true],
78
-			['!is', 'mail', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', true],
79
-			['!is', 'mail', 'Mozilla/5.0 (Linux) mirall/2.2.0', true],
80
-			['!is', 'mail', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', false],
81
-			['!is', 'mail', 'Filelink for *cloud/2.2.0', false],
82
-		];
83
-	}
72
+            ['is', 'mail', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', false],
73
+            ['is', 'mail', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', false],
74
+            ['is', 'mail', 'Mozilla/5.0 (Linux) mirall/2.2.0', false],
75
+            ['is', 'mail', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', true],
76
+            ['is', 'mail', 'Filelink for *cloud/2.2.0', true],
77
+            ['!is', 'mail', 'Mozilla/5.0 (Android) Nextcloud-android/2.2.0', true],
78
+            ['!is', 'mail', 'Mozilla/5.0 (iOS) Nextcloud-iOS/2.2.0', true],
79
+            ['!is', 'mail', 'Mozilla/5.0 (Linux) mirall/2.2.0', true],
80
+            ['!is', 'mail', 'Mozilla/5.0 (Windows) Nextcloud-Outlook v2.2.0', false],
81
+            ['!is', 'mail', 'Filelink for *cloud/2.2.0', false],
82
+        ];
83
+    }
84 84
 
85
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheck')]
86
-	public function testExecuteCheck(string $operation, string $checkValue, string $actualValue, bool $expected): void {
87
-		$this->request->expects($this->once())
88
-			->method('getHeader')
89
-			->willReturn($actualValue);
85
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheck')]
86
+    public function testExecuteCheck(string $operation, string $checkValue, string $actualValue, bool $expected): void {
87
+        $this->request->expects($this->once())
88
+            ->method('getHeader')
89
+            ->willReturn($actualValue);
90 90
 
91
-		/** @var AbstractStringCheck $check */
92
-		$this->assertEquals($expected, $this->check->executeCheck($operation, $checkValue));
93
-	}
91
+        /** @var AbstractStringCheck $check */
92
+        $this->assertEquals($expected, $this->check->executeCheck($operation, $checkValue));
93
+    }
94 94
 }
Please login to merge, or discard this patch.
apps/workflowengine/tests/Check/AbstractStringCheckTest.php 1 patch
Indentation   +101 added lines, -101 removed lines patch added patch discarded remove patch
@@ -13,105 +13,105 @@
 block discarded – undo
13 13
 use PHPUnit\Framework\MockObject\MockObject;
14 14
 
15 15
 class AbstractStringCheckTest extends \Test\TestCase {
16
-	protected function getCheckMock(): AbstractStringCheck|MockObject {
17
-		$l = $this->getMockBuilder(IL10N::class)
18
-			->disableOriginalConstructor()
19
-			->getMock();
20
-		$l->expects($this->any())
21
-			->method('t')
22
-			->willReturnCallback(function ($string, $args) {
23
-				return sprintf($string, $args);
24
-			});
25
-
26
-		$check = $this->getMockBuilder(AbstractStringCheck::class)
27
-			->setConstructorArgs([
28
-				$l,
29
-			])
30
-			->onlyMethods([
31
-				'executeCheck',
32
-				'getActualValue',
33
-			])
34
-			->getMock();
35
-
36
-		return $check;
37
-	}
38
-
39
-	public static function dataExecuteStringCheck(): array {
40
-		return [
41
-			['is', 'same', 'same', true],
42
-			['is', 'different', 'not the same', false],
43
-			['!is', 'same', 'same', false],
44
-			['!is', 'different', 'not the same', true],
45
-
46
-			['matches', '/match/', 'match', true],
47
-			['matches', '/different/', 'not the same', false],
48
-			['!matches', '/match/', 'match', false],
49
-			['!matches', '/different/', 'not the same', true],
50
-		];
51
-	}
52
-
53
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteStringCheck')]
54
-	public function testExecuteStringCheck(string $operation, string $checkValue, string $actualValue, bool $expected): void {
55
-		$check = $this->getCheckMock();
56
-
57
-		/** @var AbstractStringCheck $check */
58
-		$this->assertEquals($expected, $this->invokePrivate($check, 'executeStringCheck', [$operation, $checkValue, $actualValue]));
59
-	}
60
-
61
-	public static function dataValidateCheck(): array {
62
-		return [
63
-			['is', '/Invalid(Regex/'],
64
-			['!is', '/Invalid(Regex/'],
65
-			['matches', '/Valid(Regex)/'],
66
-			['!matches', '/Valid(Regex)/'],
67
-		];
68
-	}
69
-
70
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataValidateCheck')]
71
-	public function testValidateCheck(string $operator, string $value): void {
72
-		$check = $this->getCheckMock();
73
-
74
-		/** @var AbstractStringCheck $check */
75
-		$check->validateCheck($operator, $value);
76
-
77
-		$this->addToAssertionCount(1);
78
-	}
79
-
80
-	public static function dataValidateCheckInvalid(): array {
81
-		return [
82
-			['!!is', '', 1, 'The given operator is invalid'],
83
-			['less', '', 1, 'The given operator is invalid'],
84
-			['matches', '/Invalid(Regex/', 2, 'The given regular expression is invalid'],
85
-			['!matches', '/Invalid(Regex/', 2, 'The given regular expression is invalid'],
86
-		];
87
-	}
88
-
89
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataValidateCheckInvalid')]
90
-	public function testValidateCheckInvalid(string $operator, string $value, int $exceptionCode, string $exceptionMessage): void {
91
-		$check = $this->getCheckMock();
92
-
93
-		try {
94
-			/** @var AbstractStringCheck $check */
95
-			$check->validateCheck($operator, $value);
96
-		} catch (\UnexpectedValueException $e) {
97
-			$this->assertEquals($exceptionCode, $e->getCode());
98
-			$this->assertEquals($exceptionMessage, $e->getMessage());
99
-		}
100
-	}
101
-
102
-	public static function dataMatch(): array {
103
-		return [
104
-			['/valid/', 'valid', [], true],
105
-			['/valid/', 'valid', [md5('/valid/') => [md5('valid') => false]], false], // Cache hit
106
-		];
107
-	}
108
-
109
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataMatch')]
110
-	public function testMatch(string $pattern, string $subject, array $matches, bool $expected): void {
111
-		$check = $this->getCheckMock();
112
-
113
-		$this->invokePrivate($check, 'matches', [$matches]);
114
-
115
-		$this->assertEquals($expected, $this->invokePrivate($check, 'match', [$pattern, $subject]));
116
-	}
16
+    protected function getCheckMock(): AbstractStringCheck|MockObject {
17
+        $l = $this->getMockBuilder(IL10N::class)
18
+            ->disableOriginalConstructor()
19
+            ->getMock();
20
+        $l->expects($this->any())
21
+            ->method('t')
22
+            ->willReturnCallback(function ($string, $args) {
23
+                return sprintf($string, $args);
24
+            });
25
+
26
+        $check = $this->getMockBuilder(AbstractStringCheck::class)
27
+            ->setConstructorArgs([
28
+                $l,
29
+            ])
30
+            ->onlyMethods([
31
+                'executeCheck',
32
+                'getActualValue',
33
+            ])
34
+            ->getMock();
35
+
36
+        return $check;
37
+    }
38
+
39
+    public static function dataExecuteStringCheck(): array {
40
+        return [
41
+            ['is', 'same', 'same', true],
42
+            ['is', 'different', 'not the same', false],
43
+            ['!is', 'same', 'same', false],
44
+            ['!is', 'different', 'not the same', true],
45
+
46
+            ['matches', '/match/', 'match', true],
47
+            ['matches', '/different/', 'not the same', false],
48
+            ['!matches', '/match/', 'match', false],
49
+            ['!matches', '/different/', 'not the same', true],
50
+        ];
51
+    }
52
+
53
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteStringCheck')]
54
+    public function testExecuteStringCheck(string $operation, string $checkValue, string $actualValue, bool $expected): void {
55
+        $check = $this->getCheckMock();
56
+
57
+        /** @var AbstractStringCheck $check */
58
+        $this->assertEquals($expected, $this->invokePrivate($check, 'executeStringCheck', [$operation, $checkValue, $actualValue]));
59
+    }
60
+
61
+    public static function dataValidateCheck(): array {
62
+        return [
63
+            ['is', '/Invalid(Regex/'],
64
+            ['!is', '/Invalid(Regex/'],
65
+            ['matches', '/Valid(Regex)/'],
66
+            ['!matches', '/Valid(Regex)/'],
67
+        ];
68
+    }
69
+
70
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataValidateCheck')]
71
+    public function testValidateCheck(string $operator, string $value): void {
72
+        $check = $this->getCheckMock();
73
+
74
+        /** @var AbstractStringCheck $check */
75
+        $check->validateCheck($operator, $value);
76
+
77
+        $this->addToAssertionCount(1);
78
+    }
79
+
80
+    public static function dataValidateCheckInvalid(): array {
81
+        return [
82
+            ['!!is', '', 1, 'The given operator is invalid'],
83
+            ['less', '', 1, 'The given operator is invalid'],
84
+            ['matches', '/Invalid(Regex/', 2, 'The given regular expression is invalid'],
85
+            ['!matches', '/Invalid(Regex/', 2, 'The given regular expression is invalid'],
86
+        ];
87
+    }
88
+
89
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataValidateCheckInvalid')]
90
+    public function testValidateCheckInvalid(string $operator, string $value, int $exceptionCode, string $exceptionMessage): void {
91
+        $check = $this->getCheckMock();
92
+
93
+        try {
94
+            /** @var AbstractStringCheck $check */
95
+            $check->validateCheck($operator, $value);
96
+        } catch (\UnexpectedValueException $e) {
97
+            $this->assertEquals($exceptionCode, $e->getCode());
98
+            $this->assertEquals($exceptionMessage, $e->getMessage());
99
+        }
100
+    }
101
+
102
+    public static function dataMatch(): array {
103
+        return [
104
+            ['/valid/', 'valid', [], true],
105
+            ['/valid/', 'valid', [md5('/valid/') => [md5('valid') => false]], false], // Cache hit
106
+        ];
107
+    }
108
+
109
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataMatch')]
110
+    public function testMatch(string $pattern, string $subject, array $matches, bool $expected): void {
111
+        $check = $this->getCheckMock();
112
+
113
+        $this->invokePrivate($check, 'matches', [$matches]);
114
+
115
+        $this->assertEquals($expected, $this->invokePrivate($check, 'match', [$pattern, $subject]));
116
+    }
117 117
 }
Please login to merge, or discard this patch.
apps/workflowengine/tests/Check/RequestTimeTest.php 1 patch
Indentation   +109 added lines, -109 removed lines patch added patch discarded remove patch
@@ -14,113 +14,113 @@
 block discarded – undo
14 14
 use PHPUnit\Framework\MockObject\MockObject;
15 15
 
16 16
 class RequestTimeTest extends \Test\TestCase {
17
-	protected ITimeFactory&MockObject $timeFactory;
18
-
19
-	protected function getL10NMock(): IL10N&MockObject {
20
-		$l = $this->createMock(IL10N::class);
21
-		$l->expects($this->any())
22
-			->method('t')
23
-			->willReturnCallback(function ($string, $args) {
24
-				return sprintf($string, $args);
25
-			});
26
-		return $l;
27
-	}
28
-
29
-	protected function setUp(): void {
30
-		parent::setUp();
31
-
32
-		$this->timeFactory = $this->createMock(ITimeFactory::class);
33
-	}
34
-
35
-	public static function dataExecuteCheck(): array {
36
-		return [
37
-			[json_encode(['08:00 Europe/Berlin', '17:00 Europe/Berlin']), 1467870105, false], // 2016-07-07T07:41:45+02:00
38
-			[json_encode(['08:00 Europe/Berlin', '17:00 Europe/Berlin']), 1467873705, true], // 2016-07-07T08:41:45+02:00
39
-			[json_encode(['08:00 Europe/Berlin', '17:00 Europe/Berlin']), 1467902505, true], // 2016-07-07T16:41:45+02:00
40
-			[json_encode(['08:00 Europe/Berlin', '17:00 Europe/Berlin']), 1467906105, false], // 2016-07-07T17:41:45+02:00
41
-			[json_encode(['17:00 Europe/Berlin', '08:00 Europe/Berlin']), 1467870105, true], // 2016-07-07T07:41:45+02:00
42
-			[json_encode(['17:00 Europe/Berlin', '08:00 Europe/Berlin']), 1467873705, false], // 2016-07-07T08:41:45+02:00
43
-			[json_encode(['17:00 Europe/Berlin', '08:00 Europe/Berlin']), 1467902505, false], // 2016-07-07T16:41:45+02:00
44
-			[json_encode(['17:00 Europe/Berlin', '08:00 Europe/Berlin']), 1467906105, true], // 2016-07-07T17:41:45+02:00
45
-
46
-			[json_encode(['08:00 Australia/Adelaide', '17:00 Australia/Adelaide']), 1467843105, false], // 2016-07-07T07:41:45+09:30
47
-			[json_encode(['08:00 Australia/Adelaide', '17:00 Australia/Adelaide']), 1467846705, true], // 2016-07-07T08:41:45+09:30
48
-			[json_encode(['08:00 Australia/Adelaide', '17:00 Australia/Adelaide']), 1467875505, true], // 2016-07-07T16:41:45+09:30
49
-			[json_encode(['08:00 Australia/Adelaide', '17:00 Australia/Adelaide']), 1467879105, false], // 2016-07-07T17:41:45+09:30
50
-			[json_encode(['17:00 Australia/Adelaide', '08:00 Australia/Adelaide']), 1467843105, true], // 2016-07-07T07:41:45+09:30
51
-			[json_encode(['17:00 Australia/Adelaide', '08:00 Australia/Adelaide']), 1467846705, false], // 2016-07-07T08:41:45+09:30
52
-			[json_encode(['17:00 Australia/Adelaide', '08:00 Australia/Adelaide']), 1467875505, false], // 2016-07-07T16:41:45+09:30
53
-			[json_encode(['17:00 Australia/Adelaide', '08:00 Australia/Adelaide']), 1467879105, true], // 2016-07-07T17:41:45+09:30
54
-
55
-			[json_encode(['08:00 Pacific/Niue', '17:00 Pacific/Niue']), 1467916905, false], // 2016-07-07T07:41:45-11:00
56
-			[json_encode(['08:00 Pacific/Niue', '17:00 Pacific/Niue']), 1467920505, true], // 2016-07-07T08:41:45-11:00
57
-			[json_encode(['08:00 Pacific/Niue', '17:00 Pacific/Niue']), 1467949305, true], // 2016-07-07T16:41:45-11:00
58
-			[json_encode(['08:00 Pacific/Niue', '17:00 Pacific/Niue']), 1467952905, false], // 2016-07-07T17:41:45-11:00
59
-			[json_encode(['17:00 Pacific/Niue', '08:00 Pacific/Niue']), 1467916905, true], // 2016-07-07T07:41:45-11:00
60
-			[json_encode(['17:00 Pacific/Niue', '08:00 Pacific/Niue']), 1467920505, false], // 2016-07-07T08:41:45-11:00
61
-			[json_encode(['17:00 Pacific/Niue', '08:00 Pacific/Niue']), 1467949305, false], // 2016-07-07T16:41:45-11:00
62
-			[json_encode(['17:00 Pacific/Niue', '08:00 Pacific/Niue']), 1467952905, true], // 2016-07-07T17:41:45-11:00
63
-		];
64
-	}
65
-
66
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheck')]
67
-	public function testExecuteCheckIn(string $value, int $timestamp, bool $expected): void {
68
-		$check = new RequestTime($this->getL10NMock(), $this->timeFactory);
69
-
70
-		$this->timeFactory->expects($this->once())
71
-			->method('getTime')
72
-			->willReturn($timestamp);
73
-
74
-		$this->assertEquals($expected, $check->executeCheck('in', $value));
75
-	}
76
-
77
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheck')]
78
-	public function testExecuteCheckNotIn(string $value, int $timestamp, bool $expected): void {
79
-		$check = new RequestTime($this->getL10NMock(), $this->timeFactory);
80
-
81
-		$this->timeFactory->expects($this->once())
82
-			->method('getTime')
83
-			->willReturn($timestamp);
84
-
85
-		$this->assertEquals(!$expected, $check->executeCheck('!in', $value));
86
-	}
87
-
88
-	public static function dataValidateCheck(): array {
89
-		return [
90
-			['in', '["08:00 Europe/Berlin","17:00 Europe/Berlin"]'],
91
-			['!in', '["08:00 Europe/Berlin","17:00 America/North_Dakota/Beulah"]'],
92
-			['in', '["08:00 America/Port-au-Prince","17:00 America/Argentina/San_Luis"]'],
93
-		];
94
-	}
95
-
96
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataValidateCheck')]
97
-	public function testValidateCheck(string $operator, string $value): void {
98
-		$check = new RequestTime($this->getL10NMock(), $this->timeFactory);
99
-		$check->validateCheck($operator, $value);
100
-		$this->addToAssertionCount(1);
101
-	}
102
-
103
-	public static function dataValidateCheckInvalid(): array {
104
-		return [
105
-			['!!in', '["08:00 Europe/Berlin","17:00 Europe/Berlin"]', 1, 'The given operator is invalid'],
106
-			['in', '["28:00 Europe/Berlin","17:00 Europe/Berlin"]', 2, 'The given time span is invalid'],
107
-			['in', '["08:00 Europe/Berlin","27:00 Europe/Berlin"]', 2, 'The given time span is invalid'],
108
-			['in', '["08:00 Europa/Berlin","17:00 Europe/Berlin"]', 3, 'The given start time is invalid'],
109
-			['in', '["08:00 Europe/Berlin","17:00 Europa/Berlin"]', 4, 'The given end time is invalid'],
110
-			['in', '["08:00 Europe/Bearlin","17:00 Europe/Berlin"]', 3, 'The given start time is invalid'],
111
-			['in', '["08:00 Europe/Berlin","17:00 Europe/Bearlin"]', 4, 'The given end time is invalid'],
112
-		];
113
-	}
114
-
115
-	#[\PHPUnit\Framework\Attributes\DataProvider('dataValidateCheckInvalid')]
116
-	public function testValidateCheckInvalid(string $operator, string $value, int $exceptionCode, string $exceptionMessage): void {
117
-		$check = new RequestTime($this->getL10NMock(), $this->timeFactory);
118
-
119
-		try {
120
-			$check->validateCheck($operator, $value);
121
-		} catch (\UnexpectedValueException $e) {
122
-			$this->assertEquals($exceptionCode, $e->getCode());
123
-			$this->assertEquals($exceptionMessage, $e->getMessage());
124
-		}
125
-	}
17
+    protected ITimeFactory&MockObject $timeFactory;
18
+
19
+    protected function getL10NMock(): IL10N&MockObject {
20
+        $l = $this->createMock(IL10N::class);
21
+        $l->expects($this->any())
22
+            ->method('t')
23
+            ->willReturnCallback(function ($string, $args) {
24
+                return sprintf($string, $args);
25
+            });
26
+        return $l;
27
+    }
28
+
29
+    protected function setUp(): void {
30
+        parent::setUp();
31
+
32
+        $this->timeFactory = $this->createMock(ITimeFactory::class);
33
+    }
34
+
35
+    public static function dataExecuteCheck(): array {
36
+        return [
37
+            [json_encode(['08:00 Europe/Berlin', '17:00 Europe/Berlin']), 1467870105, false], // 2016-07-07T07:41:45+02:00
38
+            [json_encode(['08:00 Europe/Berlin', '17:00 Europe/Berlin']), 1467873705, true], // 2016-07-07T08:41:45+02:00
39
+            [json_encode(['08:00 Europe/Berlin', '17:00 Europe/Berlin']), 1467902505, true], // 2016-07-07T16:41:45+02:00
40
+            [json_encode(['08:00 Europe/Berlin', '17:00 Europe/Berlin']), 1467906105, false], // 2016-07-07T17:41:45+02:00
41
+            [json_encode(['17:00 Europe/Berlin', '08:00 Europe/Berlin']), 1467870105, true], // 2016-07-07T07:41:45+02:00
42
+            [json_encode(['17:00 Europe/Berlin', '08:00 Europe/Berlin']), 1467873705, false], // 2016-07-07T08:41:45+02:00
43
+            [json_encode(['17:00 Europe/Berlin', '08:00 Europe/Berlin']), 1467902505, false], // 2016-07-07T16:41:45+02:00
44
+            [json_encode(['17:00 Europe/Berlin', '08:00 Europe/Berlin']), 1467906105, true], // 2016-07-07T17:41:45+02:00
45
+
46
+            [json_encode(['08:00 Australia/Adelaide', '17:00 Australia/Adelaide']), 1467843105, false], // 2016-07-07T07:41:45+09:30
47
+            [json_encode(['08:00 Australia/Adelaide', '17:00 Australia/Adelaide']), 1467846705, true], // 2016-07-07T08:41:45+09:30
48
+            [json_encode(['08:00 Australia/Adelaide', '17:00 Australia/Adelaide']), 1467875505, true], // 2016-07-07T16:41:45+09:30
49
+            [json_encode(['08:00 Australia/Adelaide', '17:00 Australia/Adelaide']), 1467879105, false], // 2016-07-07T17:41:45+09:30
50
+            [json_encode(['17:00 Australia/Adelaide', '08:00 Australia/Adelaide']), 1467843105, true], // 2016-07-07T07:41:45+09:30
51
+            [json_encode(['17:00 Australia/Adelaide', '08:00 Australia/Adelaide']), 1467846705, false], // 2016-07-07T08:41:45+09:30
52
+            [json_encode(['17:00 Australia/Adelaide', '08:00 Australia/Adelaide']), 1467875505, false], // 2016-07-07T16:41:45+09:30
53
+            [json_encode(['17:00 Australia/Adelaide', '08:00 Australia/Adelaide']), 1467879105, true], // 2016-07-07T17:41:45+09:30
54
+
55
+            [json_encode(['08:00 Pacific/Niue', '17:00 Pacific/Niue']), 1467916905, false], // 2016-07-07T07:41:45-11:00
56
+            [json_encode(['08:00 Pacific/Niue', '17:00 Pacific/Niue']), 1467920505, true], // 2016-07-07T08:41:45-11:00
57
+            [json_encode(['08:00 Pacific/Niue', '17:00 Pacific/Niue']), 1467949305, true], // 2016-07-07T16:41:45-11:00
58
+            [json_encode(['08:00 Pacific/Niue', '17:00 Pacific/Niue']), 1467952905, false], // 2016-07-07T17:41:45-11:00
59
+            [json_encode(['17:00 Pacific/Niue', '08:00 Pacific/Niue']), 1467916905, true], // 2016-07-07T07:41:45-11:00
60
+            [json_encode(['17:00 Pacific/Niue', '08:00 Pacific/Niue']), 1467920505, false], // 2016-07-07T08:41:45-11:00
61
+            [json_encode(['17:00 Pacific/Niue', '08:00 Pacific/Niue']), 1467949305, false], // 2016-07-07T16:41:45-11:00
62
+            [json_encode(['17:00 Pacific/Niue', '08:00 Pacific/Niue']), 1467952905, true], // 2016-07-07T17:41:45-11:00
63
+        ];
64
+    }
65
+
66
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheck')]
67
+    public function testExecuteCheckIn(string $value, int $timestamp, bool $expected): void {
68
+        $check = new RequestTime($this->getL10NMock(), $this->timeFactory);
69
+
70
+        $this->timeFactory->expects($this->once())
71
+            ->method('getTime')
72
+            ->willReturn($timestamp);
73
+
74
+        $this->assertEquals($expected, $check->executeCheck('in', $value));
75
+    }
76
+
77
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataExecuteCheck')]
78
+    public function testExecuteCheckNotIn(string $value, int $timestamp, bool $expected): void {
79
+        $check = new RequestTime($this->getL10NMock(), $this->timeFactory);
80
+
81
+        $this->timeFactory->expects($this->once())
82
+            ->method('getTime')
83
+            ->willReturn($timestamp);
84
+
85
+        $this->assertEquals(!$expected, $check->executeCheck('!in', $value));
86
+    }
87
+
88
+    public static function dataValidateCheck(): array {
89
+        return [
90
+            ['in', '["08:00 Europe/Berlin","17:00 Europe/Berlin"]'],
91
+            ['!in', '["08:00 Europe/Berlin","17:00 America/North_Dakota/Beulah"]'],
92
+            ['in', '["08:00 America/Port-au-Prince","17:00 America/Argentina/San_Luis"]'],
93
+        ];
94
+    }
95
+
96
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataValidateCheck')]
97
+    public function testValidateCheck(string $operator, string $value): void {
98
+        $check = new RequestTime($this->getL10NMock(), $this->timeFactory);
99
+        $check->validateCheck($operator, $value);
100
+        $this->addToAssertionCount(1);
101
+    }
102
+
103
+    public static function dataValidateCheckInvalid(): array {
104
+        return [
105
+            ['!!in', '["08:00 Europe/Berlin","17:00 Europe/Berlin"]', 1, 'The given operator is invalid'],
106
+            ['in', '["28:00 Europe/Berlin","17:00 Europe/Berlin"]', 2, 'The given time span is invalid'],
107
+            ['in', '["08:00 Europe/Berlin","27:00 Europe/Berlin"]', 2, 'The given time span is invalid'],
108
+            ['in', '["08:00 Europa/Berlin","17:00 Europe/Berlin"]', 3, 'The given start time is invalid'],
109
+            ['in', '["08:00 Europe/Berlin","17:00 Europa/Berlin"]', 4, 'The given end time is invalid'],
110
+            ['in', '["08:00 Europe/Bearlin","17:00 Europe/Berlin"]', 3, 'The given start time is invalid'],
111
+            ['in', '["08:00 Europe/Berlin","17:00 Europe/Bearlin"]', 4, 'The given end time is invalid'],
112
+        ];
113
+    }
114
+
115
+    #[\PHPUnit\Framework\Attributes\DataProvider('dataValidateCheckInvalid')]
116
+    public function testValidateCheckInvalid(string $operator, string $value, int $exceptionCode, string $exceptionMessage): void {
117
+        $check = new RequestTime($this->getL10NMock(), $this->timeFactory);
118
+
119
+        try {
120
+            $check->validateCheck($operator, $value);
121
+        } catch (\UnexpectedValueException $e) {
122
+            $this->assertEquals($exceptionCode, $e->getCode());
123
+            $this->assertEquals($exceptionMessage, $e->getMessage());
124
+        }
125
+    }
126 126
 }
Please login to merge, or discard this patch.
apps/comments/tests/Unit/Collaboration/CommentersSorterTest.php 1 patch
Indentation   +112 added lines, -112 removed lines patch added patch discarded remove patch
@@ -13,124 +13,124 @@
 block discarded – undo
13 13
 use Test\TestCase;
14 14
 
15 15
 class CommentersSorterTest extends TestCase {
16
-	protected ICommentsManager&MockObject $commentsManager;
17
-	protected CommentersSorter $sorter;
16
+    protected ICommentsManager&MockObject $commentsManager;
17
+    protected CommentersSorter $sorter;
18 18
 
19
-	protected function setUp(): void {
20
-		parent::setUp();
19
+    protected function setUp(): void {
20
+        parent::setUp();
21 21
 
22
-		$this->commentsManager = $this->createMock(ICommentsManager::class);
22
+        $this->commentsManager = $this->createMock(ICommentsManager::class);
23 23
 
24
-		$this->sorter = new CommentersSorter($this->commentsManager);
25
-	}
24
+        $this->sorter = new CommentersSorter($this->commentsManager);
25
+    }
26 26
 
27
-	/**
28
-	 * @param $data
29
-	 */
30
-	#[\PHPUnit\Framework\Attributes\DataProvider('sortDataProvider')]
31
-	public function testSort($data): void {
32
-		$commentMocks = [];
33
-		foreach ($data['actors'] as $actorType => $actors) {
34
-			foreach ($actors as $actorId => $noOfComments) {
35
-				for ($i = 0;$i < $noOfComments;$i++) {
36
-					$mock = $this->createMock(IComment::class);
37
-					$mock->expects($this->atLeastOnce())
38
-						->method('getActorType')
39
-						->willReturn($actorType);
40
-					$mock->expects($this->atLeastOnce())
41
-						->method('getActorId')
42
-						->willReturn($actorId);
43
-					$commentMocks[] = $mock;
44
-				}
45
-			}
46
-		}
27
+    /**
28
+     * @param $data
29
+     */
30
+    #[\PHPUnit\Framework\Attributes\DataProvider('sortDataProvider')]
31
+    public function testSort($data): void {
32
+        $commentMocks = [];
33
+        foreach ($data['actors'] as $actorType => $actors) {
34
+            foreach ($actors as $actorId => $noOfComments) {
35
+                for ($i = 0;$i < $noOfComments;$i++) {
36
+                    $mock = $this->createMock(IComment::class);
37
+                    $mock->expects($this->atLeastOnce())
38
+                        ->method('getActorType')
39
+                        ->willReturn($actorType);
40
+                    $mock->expects($this->atLeastOnce())
41
+                        ->method('getActorId')
42
+                        ->willReturn($actorId);
43
+                    $commentMocks[] = $mock;
44
+                }
45
+            }
46
+        }
47 47
 
48
-		$this->commentsManager->expects($this->once())
49
-			->method('getForObject')
50
-			->willReturn($commentMocks);
48
+        $this->commentsManager->expects($this->once())
49
+            ->method('getForObject')
50
+            ->willReturn($commentMocks);
51 51
 
52
-		$workArray = $data['input'];
53
-		$this->sorter->sort($workArray, ['itemType' => 'files', 'itemId' => '24']);
52
+        $workArray = $data['input'];
53
+        $this->sorter->sort($workArray, ['itemType' => 'files', 'itemId' => '24']);
54 54
 
55
-		$this->assertEquals($data['expected'], $workArray);
56
-	}
55
+        $this->assertEquals($data['expected'], $workArray);
56
+    }
57 57
 
58
-	public static function sortDataProvider(): array {
59
-		return [[
60
-			[
61
-				#1 – sort properly and otherwise keep existing order
62
-				'actors' => ['users' => ['celia' => 3, 'darius' => 7, 'faruk' => 5, 'gail' => 5], 'bots' => ['r2-d2' => 8]],
63
-				'input' => [
64
-					'users' => [
65
-						['value' => ['shareWith' => 'alice']],
66
-						['value' => ['shareWith' => 'bob']],
67
-						['value' => ['shareWith' => 'celia']],
68
-						['value' => ['shareWith' => 'darius']],
69
-						['value' => ['shareWith' => 'elena']],
70
-						['value' => ['shareWith' => 'faruk']],
71
-						['value' => ['shareWith' => 'gail']],
72
-					],
73
-					'bots' => [
74
-						['value' => ['shareWith' => 'c-3po']],
75
-						['value' => ['shareWith' => 'r2-d2']],
76
-					]
77
-				],
78
-				'expected' => [
79
-					'users' => [
80
-						['value' => ['shareWith' => 'darius']],
81
-						['value' => ['shareWith' => 'faruk']],
82
-						['value' => ['shareWith' => 'gail']],
83
-						['value' => ['shareWith' => 'celia']],
84
-						['value' => ['shareWith' => 'alice']],
85
-						['value' => ['shareWith' => 'bob']],
86
-						['value' => ['shareWith' => 'elena']],
87
-					],
88
-					'bots' => [
89
-						['value' => ['shareWith' => 'r2-d2']],
90
-						['value' => ['shareWith' => 'c-3po']],
91
-					]
92
-				],
93
-			],
94
-			[
95
-				#2 – no commentors, input equals output
96
-				'actors' => [],
97
-				'input' => [
98
-					'users' => [
99
-						['value' => ['shareWith' => 'alice']],
100
-						['value' => ['shareWith' => 'bob']],
101
-						['value' => ['shareWith' => 'celia']],
102
-						['value' => ['shareWith' => 'darius']],
103
-						['value' => ['shareWith' => 'elena']],
104
-						['value' => ['shareWith' => 'faruk']],
105
-						['value' => ['shareWith' => 'gail']],
106
-					],
107
-					'bots' => [
108
-						['value' => ['shareWith' => 'c-3po']],
109
-						['value' => ['shareWith' => 'r2-d2']],
110
-					]
111
-				],
112
-				'expected' => [
113
-					'users' => [
114
-						['value' => ['shareWith' => 'alice']],
115
-						['value' => ['shareWith' => 'bob']],
116
-						['value' => ['shareWith' => 'celia']],
117
-						['value' => ['shareWith' => 'darius']],
118
-						['value' => ['shareWith' => 'elena']],
119
-						['value' => ['shareWith' => 'faruk']],
120
-						['value' => ['shareWith' => 'gail']],
121
-					],
122
-					'bots' => [
123
-						['value' => ['shareWith' => 'c-3po']],
124
-						['value' => ['shareWith' => 'r2-d2']],
125
-					]
126
-				],
127
-			],
128
-			[
129
-				#3 – no nothing
130
-				'actors' => [],
131
-				'input' => [],
132
-				'expected' => [],
133
-			],
134
-		]];
135
-	}
58
+    public static function sortDataProvider(): array {
59
+        return [[
60
+            [
61
+                #1 – sort properly and otherwise keep existing order
62
+                'actors' => ['users' => ['celia' => 3, 'darius' => 7, 'faruk' => 5, 'gail' => 5], 'bots' => ['r2-d2' => 8]],
63
+                'input' => [
64
+                    'users' => [
65
+                        ['value' => ['shareWith' => 'alice']],
66
+                        ['value' => ['shareWith' => 'bob']],
67
+                        ['value' => ['shareWith' => 'celia']],
68
+                        ['value' => ['shareWith' => 'darius']],
69
+                        ['value' => ['shareWith' => 'elena']],
70
+                        ['value' => ['shareWith' => 'faruk']],
71
+                        ['value' => ['shareWith' => 'gail']],
72
+                    ],
73
+                    'bots' => [
74
+                        ['value' => ['shareWith' => 'c-3po']],
75
+                        ['value' => ['shareWith' => 'r2-d2']],
76
+                    ]
77
+                ],
78
+                'expected' => [
79
+                    'users' => [
80
+                        ['value' => ['shareWith' => 'darius']],
81
+                        ['value' => ['shareWith' => 'faruk']],
82
+                        ['value' => ['shareWith' => 'gail']],
83
+                        ['value' => ['shareWith' => 'celia']],
84
+                        ['value' => ['shareWith' => 'alice']],
85
+                        ['value' => ['shareWith' => 'bob']],
86
+                        ['value' => ['shareWith' => 'elena']],
87
+                    ],
88
+                    'bots' => [
89
+                        ['value' => ['shareWith' => 'r2-d2']],
90
+                        ['value' => ['shareWith' => 'c-3po']],
91
+                    ]
92
+                ],
93
+            ],
94
+            [
95
+                #2 – no commentors, input equals output
96
+                'actors' => [],
97
+                'input' => [
98
+                    'users' => [
99
+                        ['value' => ['shareWith' => 'alice']],
100
+                        ['value' => ['shareWith' => 'bob']],
101
+                        ['value' => ['shareWith' => 'celia']],
102
+                        ['value' => ['shareWith' => 'darius']],
103
+                        ['value' => ['shareWith' => 'elena']],
104
+                        ['value' => ['shareWith' => 'faruk']],
105
+                        ['value' => ['shareWith' => 'gail']],
106
+                    ],
107
+                    'bots' => [
108
+                        ['value' => ['shareWith' => 'c-3po']],
109
+                        ['value' => ['shareWith' => 'r2-d2']],
110
+                    ]
111
+                ],
112
+                'expected' => [
113
+                    'users' => [
114
+                        ['value' => ['shareWith' => 'alice']],
115
+                        ['value' => ['shareWith' => 'bob']],
116
+                        ['value' => ['shareWith' => 'celia']],
117
+                        ['value' => ['shareWith' => 'darius']],
118
+                        ['value' => ['shareWith' => 'elena']],
119
+                        ['value' => ['shareWith' => 'faruk']],
120
+                        ['value' => ['shareWith' => 'gail']],
121
+                    ],
122
+                    'bots' => [
123
+                        ['value' => ['shareWith' => 'c-3po']],
124
+                        ['value' => ['shareWith' => 'r2-d2']],
125
+                    ]
126
+                ],
127
+            ],
128
+            [
129
+                #3 – no nothing
130
+                'actors' => [],
131
+                'input' => [],
132
+                'expected' => [],
133
+            ],
134
+        ]];
135
+    }
136 136
 }
Please login to merge, or discard this patch.
apps/comments/tests/Unit/Controller/NotificationsTest.php 1 patch
Indentation   +183 added lines, -183 removed lines patch added patch discarded remove patch
@@ -28,187 +28,187 @@
 block discarded – undo
28 28
 use Test\TestCase;
29 29
 
30 30
 class NotificationsTest extends TestCase {
31
-	protected ICommentsManager&MockObject $commentsManager;
32
-	protected IRootFolder&MockObject $rootFolder;
33
-	protected IUserSession&MockObject $session;
34
-	protected IManager&MockObject $notificationManager;
35
-	protected IURLGenerator&MockObject $urlGenerator;
36
-	protected NotificationsController $notificationsController;
37
-
38
-	protected function setUp(): void {
39
-		parent::setUp();
40
-
41
-		$this->commentsManager = $this->createMock(ICommentsManager::class);
42
-		$this->rootFolder = $this->createMock(IRootFolder::class);
43
-		$this->session = $this->createMock(IUserSession::class);
44
-		$this->notificationManager = $this->createMock(IManager::class);
45
-		$this->urlGenerator = $this->createMock(IURLGenerator::class);
46
-
47
-		$this->notificationsController = new NotificationsController(
48
-			'comments',
49
-			$this->createMock(IRequest::class),
50
-			$this->commentsManager,
51
-			$this->rootFolder,
52
-			$this->urlGenerator,
53
-			$this->notificationManager,
54
-			$this->session
55
-		);
56
-	}
57
-
58
-	public function testViewGuestRedirect(): void {
59
-		$this->commentsManager->expects($this->never())
60
-			->method('get');
61
-
62
-		$this->rootFolder->expects($this->never())
63
-			->method('getUserFolder');
64
-
65
-		$this->session->expects($this->once())
66
-			->method('getUser')
67
-			->willReturn(null);
68
-
69
-		$this->notificationManager->expects($this->never())
70
-			->method('createNotification');
71
-		$this->notificationManager->expects($this->never())
72
-			->method('markProcessed');
73
-
74
-		$this->urlGenerator->expects($this->exactly(2))
75
-			->method('linkToRoute')
76
-			->willReturnMap([
77
-				['comments.Notifications.view', ['id' => '42'], 'link-to-comment'],
78
-				['core.login.showLoginForm', ['redirect_url' => 'link-to-comment'], 'link-to-login'],
79
-			]);
80
-
81
-		/** @var RedirectResponse $response */
82
-		$response = $this->notificationsController->view('42');
83
-		$this->assertInstanceOf(RedirectResponse::class, $response);
84
-		$this->assertSame('link-to-login', $response->getRedirectURL());
85
-	}
86
-
87
-	public function testViewSuccess(): void {
88
-		$comment = $this->createMock(IComment::class);
89
-		$comment->expects($this->any())
90
-			->method('getObjectType')
91
-			->willReturn('files');
92
-		$comment->expects($this->any())
93
-			->method('getId')
94
-			->willReturn('1234');
95
-
96
-		$this->commentsManager->expects($this->any())
97
-			->method('get')
98
-			->with('42')
99
-			->willReturn($comment);
100
-
101
-		$file = $this->createMock(Node::class);
102
-		$folder = $this->createMock(Folder::class);
103
-		$user = $this->createMock(IUser::class);
104
-
105
-		$this->rootFolder->expects($this->once())
106
-			->method('getUserFolder')
107
-			->willReturn($folder);
108
-
109
-		$folder->expects($this->once())
110
-			->method('getById')
111
-			->willReturn([$file]);
112
-
113
-		$this->session->expects($this->once())
114
-			->method('getUser')
115
-			->willReturn($user);
116
-
117
-		$user->expects($this->any())
118
-			->method('getUID')
119
-			->willReturn('user');
120
-
121
-		$notification = $this->createMock(INotification::class);
122
-		$notification->expects($this->any())
123
-			->method($this->anything())
124
-			->willReturn($notification);
125
-
126
-		$this->notificationManager->expects($this->once())
127
-			->method('createNotification')
128
-			->willReturn($notification);
129
-		$this->notificationManager->expects($this->once())
130
-			->method('markProcessed')
131
-			->with($notification);
132
-
133
-		$response = $this->notificationsController->view('42');
134
-		$this->assertInstanceOf(RedirectResponse::class, $response);
135
-	}
136
-
137
-	public function testViewInvalidComment(): void {
138
-		$this->commentsManager->expects($this->any())
139
-			->method('get')
140
-			->with('42')
141
-			->willThrowException(new NotFoundException());
142
-
143
-		$this->rootFolder->expects($this->never())
144
-			->method('getUserFolder');
145
-
146
-		$user = $this->createMock(IUser::class);
147
-
148
-		$this->session->expects($this->once())
149
-			->method('getUser')
150
-			->willReturn($user);
151
-
152
-		$user->expects($this->any())
153
-			->method('getUID')
154
-			->willReturn('user');
155
-
156
-		$this->notificationManager->expects($this->never())
157
-			->method('createNotification');
158
-		$this->notificationManager->expects($this->never())
159
-			->method('markProcessed');
160
-
161
-		$response = $this->notificationsController->view('42');
162
-		$this->assertInstanceOf(NotFoundResponse::class, $response);
163
-	}
164
-
165
-	public function testViewNoFile(): void {
166
-		$comment = $this->createMock(IComment::class);
167
-		$comment->expects($this->any())
168
-			->method('getObjectType')
169
-			->willReturn('files');
170
-		$comment->expects($this->any())
171
-			->method('getId')
172
-			->willReturn('1234');
173
-
174
-		$this->commentsManager->expects($this->any())
175
-			->method('get')
176
-			->with('42')
177
-			->willReturn($comment);
178
-
179
-		$folder = $this->createMock(Folder::class);
180
-
181
-		$this->rootFolder->expects($this->once())
182
-			->method('getUserFolder')
183
-			->willReturn($folder);
184
-
185
-		$folder->expects($this->once())
186
-			->method('getById')
187
-			->willReturn([]);
188
-
189
-		$user = $this->createMock(IUser::class);
190
-
191
-		$this->session->expects($this->once())
192
-			->method('getUser')
193
-			->willReturn($user);
194
-
195
-		$user->expects($this->any())
196
-			->method('getUID')
197
-			->willReturn('user');
198
-
199
-		$notification = $this->createMock(INotification::class);
200
-		$notification->expects($this->any())
201
-			->method($this->anything())
202
-			->willReturn($notification);
203
-
204
-		$this->notificationManager->expects($this->once())
205
-			->method('createNotification')
206
-			->willReturn($notification);
207
-		$this->notificationManager->expects($this->once())
208
-			->method('markProcessed')
209
-			->with($notification);
210
-
211
-		$response = $this->notificationsController->view('42');
212
-		$this->assertInstanceOf(NotFoundResponse::class, $response);
213
-	}
31
+    protected ICommentsManager&MockObject $commentsManager;
32
+    protected IRootFolder&MockObject $rootFolder;
33
+    protected IUserSession&MockObject $session;
34
+    protected IManager&MockObject $notificationManager;
35
+    protected IURLGenerator&MockObject $urlGenerator;
36
+    protected NotificationsController $notificationsController;
37
+
38
+    protected function setUp(): void {
39
+        parent::setUp();
40
+
41
+        $this->commentsManager = $this->createMock(ICommentsManager::class);
42
+        $this->rootFolder = $this->createMock(IRootFolder::class);
43
+        $this->session = $this->createMock(IUserSession::class);
44
+        $this->notificationManager = $this->createMock(IManager::class);
45
+        $this->urlGenerator = $this->createMock(IURLGenerator::class);
46
+
47
+        $this->notificationsController = new NotificationsController(
48
+            'comments',
49
+            $this->createMock(IRequest::class),
50
+            $this->commentsManager,
51
+            $this->rootFolder,
52
+            $this->urlGenerator,
53
+            $this->notificationManager,
54
+            $this->session
55
+        );
56
+    }
57
+
58
+    public function testViewGuestRedirect(): void {
59
+        $this->commentsManager->expects($this->never())
60
+            ->method('get');
61
+
62
+        $this->rootFolder->expects($this->never())
63
+            ->method('getUserFolder');
64
+
65
+        $this->session->expects($this->once())
66
+            ->method('getUser')
67
+            ->willReturn(null);
68
+
69
+        $this->notificationManager->expects($this->never())
70
+            ->method('createNotification');
71
+        $this->notificationManager->expects($this->never())
72
+            ->method('markProcessed');
73
+
74
+        $this->urlGenerator->expects($this->exactly(2))
75
+            ->method('linkToRoute')
76
+            ->willReturnMap([
77
+                ['comments.Notifications.view', ['id' => '42'], 'link-to-comment'],
78
+                ['core.login.showLoginForm', ['redirect_url' => 'link-to-comment'], 'link-to-login'],
79
+            ]);
80
+
81
+        /** @var RedirectResponse $response */
82
+        $response = $this->notificationsController->view('42');
83
+        $this->assertInstanceOf(RedirectResponse::class, $response);
84
+        $this->assertSame('link-to-login', $response->getRedirectURL());
85
+    }
86
+
87
+    public function testViewSuccess(): void {
88
+        $comment = $this->createMock(IComment::class);
89
+        $comment->expects($this->any())
90
+            ->method('getObjectType')
91
+            ->willReturn('files');
92
+        $comment->expects($this->any())
93
+            ->method('getId')
94
+            ->willReturn('1234');
95
+
96
+        $this->commentsManager->expects($this->any())
97
+            ->method('get')
98
+            ->with('42')
99
+            ->willReturn($comment);
100
+
101
+        $file = $this->createMock(Node::class);
102
+        $folder = $this->createMock(Folder::class);
103
+        $user = $this->createMock(IUser::class);
104
+
105
+        $this->rootFolder->expects($this->once())
106
+            ->method('getUserFolder')
107
+            ->willReturn($folder);
108
+
109
+        $folder->expects($this->once())
110
+            ->method('getById')
111
+            ->willReturn([$file]);
112
+
113
+        $this->session->expects($this->once())
114
+            ->method('getUser')
115
+            ->willReturn($user);
116
+
117
+        $user->expects($this->any())
118
+            ->method('getUID')
119
+            ->willReturn('user');
120
+
121
+        $notification = $this->createMock(INotification::class);
122
+        $notification->expects($this->any())
123
+            ->method($this->anything())
124
+            ->willReturn($notification);
125
+
126
+        $this->notificationManager->expects($this->once())
127
+            ->method('createNotification')
128
+            ->willReturn($notification);
129
+        $this->notificationManager->expects($this->once())
130
+            ->method('markProcessed')
131
+            ->with($notification);
132
+
133
+        $response = $this->notificationsController->view('42');
134
+        $this->assertInstanceOf(RedirectResponse::class, $response);
135
+    }
136
+
137
+    public function testViewInvalidComment(): void {
138
+        $this->commentsManager->expects($this->any())
139
+            ->method('get')
140
+            ->with('42')
141
+            ->willThrowException(new NotFoundException());
142
+
143
+        $this->rootFolder->expects($this->never())
144
+            ->method('getUserFolder');
145
+
146
+        $user = $this->createMock(IUser::class);
147
+
148
+        $this->session->expects($this->once())
149
+            ->method('getUser')
150
+            ->willReturn($user);
151
+
152
+        $user->expects($this->any())
153
+            ->method('getUID')
154
+            ->willReturn('user');
155
+
156
+        $this->notificationManager->expects($this->never())
157
+            ->method('createNotification');
158
+        $this->notificationManager->expects($this->never())
159
+            ->method('markProcessed');
160
+
161
+        $response = $this->notificationsController->view('42');
162
+        $this->assertInstanceOf(NotFoundResponse::class, $response);
163
+    }
164
+
165
+    public function testViewNoFile(): void {
166
+        $comment = $this->createMock(IComment::class);
167
+        $comment->expects($this->any())
168
+            ->method('getObjectType')
169
+            ->willReturn('files');
170
+        $comment->expects($this->any())
171
+            ->method('getId')
172
+            ->willReturn('1234');
173
+
174
+        $this->commentsManager->expects($this->any())
175
+            ->method('get')
176
+            ->with('42')
177
+            ->willReturn($comment);
178
+
179
+        $folder = $this->createMock(Folder::class);
180
+
181
+        $this->rootFolder->expects($this->once())
182
+            ->method('getUserFolder')
183
+            ->willReturn($folder);
184
+
185
+        $folder->expects($this->once())
186
+            ->method('getById')
187
+            ->willReturn([]);
188
+
189
+        $user = $this->createMock(IUser::class);
190
+
191
+        $this->session->expects($this->once())
192
+            ->method('getUser')
193
+            ->willReturn($user);
194
+
195
+        $user->expects($this->any())
196
+            ->method('getUID')
197
+            ->willReturn('user');
198
+
199
+        $notification = $this->createMock(INotification::class);
200
+        $notification->expects($this->any())
201
+            ->method($this->anything())
202
+            ->willReturn($notification);
203
+
204
+        $this->notificationManager->expects($this->once())
205
+            ->method('createNotification')
206
+            ->willReturn($notification);
207
+        $this->notificationManager->expects($this->once())
208
+            ->method('markProcessed')
209
+            ->with($notification);
210
+
211
+        $response = $this->notificationsController->view('42');
212
+        $this->assertInstanceOf(NotFoundResponse::class, $response);
213
+    }
214 214
 }
Please login to merge, or discard this patch.
apps/comments/tests/Unit/Notification/ListenerTest.php 1 patch
Indentation   +174 added lines, -174 removed lines patch added patch discarded remove patch
@@ -18,178 +18,178 @@
 block discarded – undo
18 18
 use Test\TestCase;
19 19
 
20 20
 class ListenerTest extends TestCase {
21
-	protected IManager&MockObject $notificationManager;
22
-	protected IUserManager&MockObject $userManager;
23
-	protected IURLGenerator&MockObject $urlGenerator;
24
-	protected Listener $listener;
25
-
26
-	protected function setUp(): void {
27
-		parent::setUp();
28
-
29
-		$this->notificationManager = $this->createMock(IManager::class);
30
-		$this->userManager = $this->createMock(IUserManager::class);
31
-
32
-		$this->listener = new Listener(
33
-			$this->notificationManager,
34
-			$this->userManager
35
-		);
36
-	}
37
-
38
-	public static function eventProvider(): array {
39
-		return [
40
-			[CommentsEvent::EVENT_ADD, 'notify'],
41
-			[CommentsEvent::EVENT_UPDATE, 'notify'],
42
-			[CommentsEvent::EVENT_PRE_UPDATE, 'markProcessed'],
43
-			[CommentsEvent::EVENT_DELETE, 'markProcessed']
44
-		];
45
-	}
46
-
47
-	/**
48
-	 * @param string $eventType
49
-	 * @param string $notificationMethod
50
-	 */
51
-	#[\PHPUnit\Framework\Attributes\DataProvider('eventProvider')]
52
-	public function testEvaluate($eventType, $notificationMethod): void {
53
-		/** @var IComment|MockObject $comment */
54
-		$comment = $this->createMock(IComment::class);
55
-		$comment->expects($this->any())
56
-			->method('getObjectType')
57
-			->willReturn('files');
58
-		$comment->expects($this->any())
59
-			->method('getCreationDateTime')
60
-			->willReturn(new \DateTime());
61
-		$comment->expects($this->once())
62
-			->method('getMentions')
63
-			->willReturn([
64
-				[ 'type' => 'user', 'id' => 'foobar'],
65
-				[ 'type' => 'user', 'id' => 'barfoo'],
66
-				[ 'type' => 'user', 'id' => '[email protected]'],
67
-				[ 'type' => 'user', 'id' => '[email protected]@foobar.io'],
68
-				[ 'type' => 'user', 'id' => '23452-4333-54353-2342'],
69
-				[ 'type' => 'user', 'id' => 'yolo'],
70
-			]);
71
-		$comment->expects($this->atLeastOnce())
72
-			->method('getId')
73
-			->willReturn('1234');
74
-
75
-		/** @var CommentsEvent|MockObject $event */
76
-		$event = $this->createMock(CommentsEvent::class);
77
-		$event->expects($this->once())
78
-			->method('getComment')
79
-			->willReturn($comment);
80
-		$event->expects(($this->any()))
81
-			->method(('getEvent'))
82
-			->willReturn($eventType);
83
-
84
-		/** @var INotification|MockObject $notification */
85
-		$notification = $this->createMock(INotification::class);
86
-		$notification->expects($this->any())
87
-			->method($this->anything())
88
-			->willReturn($notification);
89
-		$notification->expects($this->exactly(6))
90
-			->method('setUser');
91
-
92
-		$this->notificationManager->expects($this->once())
93
-			->method('createNotification')
94
-			->willReturn($notification);
95
-		$this->notificationManager->expects($this->exactly(6))
96
-			->method($notificationMethod)
97
-			->with($this->isInstanceOf('\OCP\Notification\INotification'));
98
-
99
-		$this->userManager->expects($this->exactly(6))
100
-			->method('userExists')
101
-			->willReturnMap([
102
-				['foobar', true],
103
-				['barfoo', true],
104
-				['[email protected]', true],
105
-				['[email protected]@foobar.io', true],
106
-				['23452-4333-54353-2342', true],
107
-				['yolo', true]
108
-			]);
109
-
110
-		$this->listener->evaluate($event);
111
-	}
112
-
113
-	#[\PHPUnit\Framework\Attributes\DataProvider('eventProvider')]
114
-	public function testEvaluateNoMentions(string $eventType): void {
115
-		/** @var IComment|MockObject $comment */
116
-		$comment = $this->createMock(IComment::class);
117
-		$comment->expects($this->any())
118
-			->method('getObjectType')
119
-			->willReturn('files');
120
-		$comment->expects($this->any())
121
-			->method('getCreationDateTime')
122
-			->willReturn(new \DateTime());
123
-		$comment->expects($this->once())
124
-			->method('getMentions')
125
-			->willReturn([]);
126
-
127
-		/** @var CommentsEvent|MockObject $event */
128
-		$event = $this->createMock(CommentsEvent::class);
129
-		$event->expects($this->once())
130
-			->method('getComment')
131
-			->willReturn($comment);
132
-		$event->expects(($this->any()))
133
-			->method(('getEvent'))
134
-			->willReturn($eventType);
135
-
136
-		$this->notificationManager->expects($this->never())
137
-			->method('createNotification');
138
-		$this->notificationManager->expects($this->never())
139
-			->method('notify');
140
-		$this->notificationManager->expects($this->never())
141
-			->method('markProcessed');
142
-
143
-		$this->userManager->expects($this->never())
144
-			->method('userExists');
145
-
146
-		$this->listener->evaluate($event);
147
-	}
148
-
149
-	public function testEvaluateUserDoesNotExist(): void {
150
-		/** @var IComment|MockObject $comment */
151
-		$comment = $this->createMock(IComment::class);
152
-		$comment->expects($this->any())
153
-			->method('getObjectType')
154
-			->willReturn('files');
155
-		$comment->expects($this->any())
156
-			->method('getCreationDateTime')
157
-			->willReturn(new \DateTime());
158
-		$comment->expects($this->once())
159
-			->method('getMentions')
160
-			->willReturn([[ 'type' => 'user', 'id' => 'foobar']]);
161
-		$comment->expects($this->atLeastOnce())
162
-			->method('getId')
163
-			->willReturn('1234');
164
-
165
-		/** @var CommentsEvent|MockObject $event */
166
-		$event = $this->createMock(CommentsEvent::class);
167
-		$event->expects($this->once())
168
-			->method('getComment')
169
-			->willReturn($comment);
170
-		$event->expects(($this->any()))
171
-			->method(('getEvent'))
172
-			->willReturn(CommentsEvent::EVENT_ADD);
173
-
174
-		/** @var INotification|MockObject $notification */
175
-		$notification = $this->createMock(INotification::class);
176
-		$notification->expects($this->any())
177
-			->method($this->anything())
178
-			->willReturn($notification);
179
-		$notification->expects($this->never())
180
-			->method('setUser');
181
-
182
-		$this->notificationManager->expects($this->once())
183
-			->method('createNotification')
184
-			->willReturn($notification);
185
-		$this->notificationManager->expects($this->never())
186
-			->method('notify');
187
-
188
-		$this->userManager->expects($this->once())
189
-			->method('userExists')
190
-			->with('foobar')
191
-			->willReturn(false);
192
-
193
-		$this->listener->evaluate($event);
194
-	}
21
+    protected IManager&MockObject $notificationManager;
22
+    protected IUserManager&MockObject $userManager;
23
+    protected IURLGenerator&MockObject $urlGenerator;
24
+    protected Listener $listener;
25
+
26
+    protected function setUp(): void {
27
+        parent::setUp();
28
+
29
+        $this->notificationManager = $this->createMock(IManager::class);
30
+        $this->userManager = $this->createMock(IUserManager::class);
31
+
32
+        $this->listener = new Listener(
33
+            $this->notificationManager,
34
+            $this->userManager
35
+        );
36
+    }
37
+
38
+    public static function eventProvider(): array {
39
+        return [
40
+            [CommentsEvent::EVENT_ADD, 'notify'],
41
+            [CommentsEvent::EVENT_UPDATE, 'notify'],
42
+            [CommentsEvent::EVENT_PRE_UPDATE, 'markProcessed'],
43
+            [CommentsEvent::EVENT_DELETE, 'markProcessed']
44
+        ];
45
+    }
46
+
47
+    /**
48
+     * @param string $eventType
49
+     * @param string $notificationMethod
50
+     */
51
+    #[\PHPUnit\Framework\Attributes\DataProvider('eventProvider')]
52
+    public function testEvaluate($eventType, $notificationMethod): void {
53
+        /** @var IComment|MockObject $comment */
54
+        $comment = $this->createMock(IComment::class);
55
+        $comment->expects($this->any())
56
+            ->method('getObjectType')
57
+            ->willReturn('files');
58
+        $comment->expects($this->any())
59
+            ->method('getCreationDateTime')
60
+            ->willReturn(new \DateTime());
61
+        $comment->expects($this->once())
62
+            ->method('getMentions')
63
+            ->willReturn([
64
+                [ 'type' => 'user', 'id' => 'foobar'],
65
+                [ 'type' => 'user', 'id' => 'barfoo'],
66
+                [ 'type' => 'user', 'id' => '[email protected]'],
67
+                [ 'type' => 'user', 'id' => '[email protected]@foobar.io'],
68
+                [ 'type' => 'user', 'id' => '23452-4333-54353-2342'],
69
+                [ 'type' => 'user', 'id' => 'yolo'],
70
+            ]);
71
+        $comment->expects($this->atLeastOnce())
72
+            ->method('getId')
73
+            ->willReturn('1234');
74
+
75
+        /** @var CommentsEvent|MockObject $event */
76
+        $event = $this->createMock(CommentsEvent::class);
77
+        $event->expects($this->once())
78
+            ->method('getComment')
79
+            ->willReturn($comment);
80
+        $event->expects(($this->any()))
81
+            ->method(('getEvent'))
82
+            ->willReturn($eventType);
83
+
84
+        /** @var INotification|MockObject $notification */
85
+        $notification = $this->createMock(INotification::class);
86
+        $notification->expects($this->any())
87
+            ->method($this->anything())
88
+            ->willReturn($notification);
89
+        $notification->expects($this->exactly(6))
90
+            ->method('setUser');
91
+
92
+        $this->notificationManager->expects($this->once())
93
+            ->method('createNotification')
94
+            ->willReturn($notification);
95
+        $this->notificationManager->expects($this->exactly(6))
96
+            ->method($notificationMethod)
97
+            ->with($this->isInstanceOf('\OCP\Notification\INotification'));
98
+
99
+        $this->userManager->expects($this->exactly(6))
100
+            ->method('userExists')
101
+            ->willReturnMap([
102
+                ['foobar', true],
103
+                ['barfoo', true],
104
+                ['[email protected]', true],
105
+                ['[email protected]@foobar.io', true],
106
+                ['23452-4333-54353-2342', true],
107
+                ['yolo', true]
108
+            ]);
109
+
110
+        $this->listener->evaluate($event);
111
+    }
112
+
113
+    #[\PHPUnit\Framework\Attributes\DataProvider('eventProvider')]
114
+    public function testEvaluateNoMentions(string $eventType): void {
115
+        /** @var IComment|MockObject $comment */
116
+        $comment = $this->createMock(IComment::class);
117
+        $comment->expects($this->any())
118
+            ->method('getObjectType')
119
+            ->willReturn('files');
120
+        $comment->expects($this->any())
121
+            ->method('getCreationDateTime')
122
+            ->willReturn(new \DateTime());
123
+        $comment->expects($this->once())
124
+            ->method('getMentions')
125
+            ->willReturn([]);
126
+
127
+        /** @var CommentsEvent|MockObject $event */
128
+        $event = $this->createMock(CommentsEvent::class);
129
+        $event->expects($this->once())
130
+            ->method('getComment')
131
+            ->willReturn($comment);
132
+        $event->expects(($this->any()))
133
+            ->method(('getEvent'))
134
+            ->willReturn($eventType);
135
+
136
+        $this->notificationManager->expects($this->never())
137
+            ->method('createNotification');
138
+        $this->notificationManager->expects($this->never())
139
+            ->method('notify');
140
+        $this->notificationManager->expects($this->never())
141
+            ->method('markProcessed');
142
+
143
+        $this->userManager->expects($this->never())
144
+            ->method('userExists');
145
+
146
+        $this->listener->evaluate($event);
147
+    }
148
+
149
+    public function testEvaluateUserDoesNotExist(): void {
150
+        /** @var IComment|MockObject $comment */
151
+        $comment = $this->createMock(IComment::class);
152
+        $comment->expects($this->any())
153
+            ->method('getObjectType')
154
+            ->willReturn('files');
155
+        $comment->expects($this->any())
156
+            ->method('getCreationDateTime')
157
+            ->willReturn(new \DateTime());
158
+        $comment->expects($this->once())
159
+            ->method('getMentions')
160
+            ->willReturn([[ 'type' => 'user', 'id' => 'foobar']]);
161
+        $comment->expects($this->atLeastOnce())
162
+            ->method('getId')
163
+            ->willReturn('1234');
164
+
165
+        /** @var CommentsEvent|MockObject $event */
166
+        $event = $this->createMock(CommentsEvent::class);
167
+        $event->expects($this->once())
168
+            ->method('getComment')
169
+            ->willReturn($comment);
170
+        $event->expects(($this->any()))
171
+            ->method(('getEvent'))
172
+            ->willReturn(CommentsEvent::EVENT_ADD);
173
+
174
+        /** @var INotification|MockObject $notification */
175
+        $notification = $this->createMock(INotification::class);
176
+        $notification->expects($this->any())
177
+            ->method($this->anything())
178
+            ->willReturn($notification);
179
+        $notification->expects($this->never())
180
+            ->method('setUser');
181
+
182
+        $this->notificationManager->expects($this->once())
183
+            ->method('createNotification')
184
+            ->willReturn($notification);
185
+        $this->notificationManager->expects($this->never())
186
+            ->method('notify');
187
+
188
+        $this->userManager->expects($this->once())
189
+            ->method('userExists')
190
+            ->with('foobar')
191
+            ->willReturn(false);
192
+
193
+        $this->listener->evaluate($event);
194
+    }
195 195
 }
Please login to merge, or discard this patch.
apps/comments/tests/Unit/EventHandlerTest.php 1 patch
Indentation   +67 added lines, -67 removed lines patch added patch discarded remove patch
@@ -17,71 +17,71 @@
 block discarded – undo
17 17
 use Test\TestCase;
18 18
 
19 19
 class EventHandlerTest extends TestCase {
20
-	protected ActivityListener&MockObject $activityListener;
21
-	protected NotificationListener&MockObject $notificationListener;
22
-	protected CommentsEventListener $eventHandler;
23
-
24
-	protected function setUp(): void {
25
-		parent::setUp();
26
-
27
-		$this->activityListener = $this->createMock(ActivityListener::class);
28
-		$this->notificationListener = $this->createMock(NotificationListener::class);
29
-
30
-		$this->eventHandler = new CommentsEventListener($this->activityListener, $this->notificationListener);
31
-	}
32
-
33
-	public function testNotFiles(): void {
34
-		/** @var IComment|MockObject $comment */
35
-		$comment = $this->createMock(IComment::class);
36
-		$comment->expects($this->once())
37
-			->method('getObjectType')
38
-			->willReturn('smiles');
39
-
40
-		/** @var CommentsEvent|MockObject $event */
41
-		$event = $this->createMock(CommentsEvent::class);
42
-		$event->expects($this->once())
43
-			->method('getComment')
44
-			->willReturn($comment);
45
-		$event->expects($this->never())
46
-			->method('getEvent');
47
-
48
-		$this->eventHandler->handle($event);
49
-	}
50
-
51
-	public static function handledProvider(): array {
52
-		return [
53
-			[CommentsEvent::EVENT_DELETE],
54
-			[CommentsEvent::EVENT_UPDATE],
55
-			[CommentsEvent::EVENT_PRE_UPDATE],
56
-			[CommentsEvent::EVENT_ADD]
57
-		];
58
-	}
59
-
60
-	#[\PHPUnit\Framework\Attributes\DataProvider('handledProvider')]
61
-	public function testHandled(string $eventType): void {
62
-		/** @var IComment|MockObject $comment */
63
-		$comment = $this->createMock(IComment::class);
64
-		$comment->expects($this->once())
65
-			->method('getObjectType')
66
-			->willReturn('files');
67
-
68
-		/** @var CommentsEvent|MockObject $event */
69
-		$event = $this->createMock(CommentsEvent::class);
70
-		$event->expects($this->atLeastOnce())
71
-			->method('getComment')
72
-			->willReturn($comment);
73
-		$event->expects($this->atLeastOnce())
74
-			->method('getEvent')
75
-			->willReturn($eventType);
76
-
77
-		$this->notificationListener->expects($this->once())
78
-			->method('evaluate')
79
-			->with($event);
80
-
81
-		$this->activityListener->expects($this->any())
82
-			->method('commentEvent')
83
-			->with($event);
84
-
85
-		$this->eventHandler->handle($event);
86
-	}
20
+    protected ActivityListener&MockObject $activityListener;
21
+    protected NotificationListener&MockObject $notificationListener;
22
+    protected CommentsEventListener $eventHandler;
23
+
24
+    protected function setUp(): void {
25
+        parent::setUp();
26
+
27
+        $this->activityListener = $this->createMock(ActivityListener::class);
28
+        $this->notificationListener = $this->createMock(NotificationListener::class);
29
+
30
+        $this->eventHandler = new CommentsEventListener($this->activityListener, $this->notificationListener);
31
+    }
32
+
33
+    public function testNotFiles(): void {
34
+        /** @var IComment|MockObject $comment */
35
+        $comment = $this->createMock(IComment::class);
36
+        $comment->expects($this->once())
37
+            ->method('getObjectType')
38
+            ->willReturn('smiles');
39
+
40
+        /** @var CommentsEvent|MockObject $event */
41
+        $event = $this->createMock(CommentsEvent::class);
42
+        $event->expects($this->once())
43
+            ->method('getComment')
44
+            ->willReturn($comment);
45
+        $event->expects($this->never())
46
+            ->method('getEvent');
47
+
48
+        $this->eventHandler->handle($event);
49
+    }
50
+
51
+    public static function handledProvider(): array {
52
+        return [
53
+            [CommentsEvent::EVENT_DELETE],
54
+            [CommentsEvent::EVENT_UPDATE],
55
+            [CommentsEvent::EVENT_PRE_UPDATE],
56
+            [CommentsEvent::EVENT_ADD]
57
+        ];
58
+    }
59
+
60
+    #[\PHPUnit\Framework\Attributes\DataProvider('handledProvider')]
61
+    public function testHandled(string $eventType): void {
62
+        /** @var IComment|MockObject $comment */
63
+        $comment = $this->createMock(IComment::class);
64
+        $comment->expects($this->once())
65
+            ->method('getObjectType')
66
+            ->willReturn('files');
67
+
68
+        /** @var CommentsEvent|MockObject $event */
69
+        $event = $this->createMock(CommentsEvent::class);
70
+        $event->expects($this->atLeastOnce())
71
+            ->method('getComment')
72
+            ->willReturn($comment);
73
+        $event->expects($this->atLeastOnce())
74
+            ->method('getEvent')
75
+            ->willReturn($eventType);
76
+
77
+        $this->notificationListener->expects($this->once())
78
+            ->method('evaluate')
79
+            ->with($event);
80
+
81
+        $this->activityListener->expects($this->any())
82
+            ->method('commentEvent')
83
+            ->with($event);
84
+
85
+        $this->eventHandler->handle($event);
86
+    }
87 87
 }
Please login to merge, or discard this patch.