1+ <?php
2+
3+ declare (strict_types=1 );
4+
5+ /**
6+ * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
7+ * SPDX-License-Identifier: AGPL-3.0-or-later
8+ */
9+
10+ namespace Test \Teams ;
11+
12+ use OC \AppFramework \Bootstrap \Coordinator ;
13+ use OC \Teams \TeamManager ;
14+ use OCA \Circles \CirclesManager ;
15+ use OCP \IURLGenerator ;
16+ use OCP \Teams \ITeamFolderProvider ;
17+ use OCP \Teams \ITeamResourceProvider ;
18+ use Test \TestCase ;
19+
20+ class TeamManagerTest extends TestCase {
21+ public function testGetTeamFolderProviderReturnsNullWithoutTeamSupport (): void {
22+ $ teamManager = $ this ->createTeamManager (null );
23+
24+ $ this ->assertNull ($ teamManager ->getTeamFolderProvider ());
25+ }
26+
27+ public function testGetTeamFolderProviderReturnsNullWithoutFolderProvider (): void {
28+ $ teamManager = $ this ->createTeamManager ($ this ->createMock (CirclesManager::class));
29+ $ this ->setProviders ($ teamManager , [
30+ 'other ' => $ this ->createMock (ITeamResourceProvider::class),
31+ ]);
32+
33+ $ this ->assertNull ($ teamManager ->getTeamFolderProvider ());
34+ }
35+
36+ public function testGetTeamFolderProviderReturnsRegisteredFolderProvider (): void {
37+ $ teamManager = $ this ->createTeamManager ($ this ->createMock (CirclesManager::class));
38+ $ folderProvider = $ this ->createMock (ITeamFolderProvider::class);
39+ $ this ->setProviders ($ teamManager , [
40+ 'other ' => $ this ->createMock (ITeamResourceProvider::class),
41+ 'folder ' => $ folderProvider ,
42+ ]);
43+
44+ $ this ->assertSame ($ folderProvider , $ teamManager ->getTeamFolderProvider ());
45+ }
46+
47+ private function createTeamManager (?CirclesManager $ circlesManager ): TeamManager {
48+ return new TeamManager (
49+ $ this ->createMock (Coordinator::class),
50+ $ this ->createMock (IURLGenerator::class),
51+ $ circlesManager ,
52+ );
53+ }
54+
55+ /**
56+ * @param array<string, ITeamResourceProvider> $providers
57+ */
58+ private function setProviders (TeamManager $ teamManager , array $ providers ): void {
59+ (new \ReflectionProperty (TeamManager::class, 'providers ' ))->setValue ($ teamManager , $ providers );
60+ }
61+ }
0 commit comments