diff options
author | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2018-07-13 14:47:00 +0200 |
---|---|---|
committer | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2018-07-13 14:47:00 +0200 |
commit | a349f2a9f5c851dcbcadca203d2ffc4635706400 (patch) | |
tree | 89c10b8b6ac02c6846cd15afd9697c8936ef1dfd /tests | |
parent | 34368cc031a069cf16dfd770d59b8f4912c2ba68 (diff) | |
download | nextcloud-server-a349f2a9f5c851dcbcadca203d2ffc4635706400.tar.gz nextcloud-server-a349f2a9f5c851dcbcadca203d2ffc4635706400.zip |
Fixed phpunit
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/NavigationManagerTest.php | 315 |
1 files changed, 181 insertions, 134 deletions
diff --git a/tests/lib/NavigationManagerTest.php b/tests/lib/NavigationManagerTest.php index b34ecca9469..8bc1c372ac8 100644 --- a/tests/lib/NavigationManagerTest.php +++ b/tests/lib/NavigationManagerTest.php @@ -12,10 +12,6 @@ namespace Test; -use OC\App\AppManager; -use OC\Group\Manager; -use OC\NavigationManager; -use OC\SubAdmin; use OCP\IConfig; use OCP\IGroupManager; use OCP\IL10N; @@ -23,6 +19,10 @@ use OCP\IURLGenerator; use OCP\IUser; use OCP\IUserSession; use OCP\L10N\IFactory; +use OC\App\AppManager; +use OC\Group\Manager; +use OC\NavigationManager; +use OC\SubAdmin; class NavigationManagerTest extends TestCase { /** @var AppManager|\PHPUnit_Framework_MockObject_MockObject */ @@ -44,12 +44,12 @@ class NavigationManagerTest extends TestCase { protected function setUp() { parent::setUp(); - $this->appManager = $this->createMock(AppManager::class); - $this->urlGenerator = $this->createMock(IURLGenerator::class); - $this->l10nFac = $this->createMock(IFactory::class); - $this->userSession = $this->createMock(IUserSession::class); - $this->groupManager = $this->createMock(Manager::class); - $this->config = $this->createMock(IConfig::class); + $this->appManager = $this->createMock(AppManager::class); + $this->urlGenerator = $this->createMock(IURLGenerator::class); + $this->l10nFac = $this->createMock(IFactory::class); + $this->userSession = $this->createMock(IUserSession::class); + $this->groupManager = $this->createMock(Manager::class); + $this->config = $this->createMock(IConfig::class); $this->navigationManager = new NavigationManager( $this->appManager, $this->urlGenerator, @@ -65,46 +65,46 @@ class NavigationManagerTest extends TestCase { public function addArrayData() { return [ [ - [ - 'id' => 'entry id', - 'name' => 'link text', - 'order' => 1, - 'icon' => 'optional', - 'href' => 'url', - 'type' => 'settings', - 'classes' => '', - ], - [ - 'id' => 'entry id', - 'name' => 'link text', - 'order' => 1, - 'icon' => 'optional', - 'href' => 'url', - 'active' => false, - 'type' => 'settings', - 'classes' => '', + 'entry id' => [ + 'id' => 'entry id', + 'name' => 'link text', + 'order' => 1, + 'icon' => 'optional', + 'href' => 'url', + 'type' => 'settings', + 'classes' => '' ], + 'entry id2' => [ + 'id' => 'entry id', + 'name' => 'link text', + 'order' => 1, + 'icon' => 'optional', + 'href' => 'url', + 'active' => false, + 'type' => 'settings', + 'classes' => '' + ] ], [ - [ - 'id' => 'entry id', - 'name' => 'link text', - 'order' => 1, + 'entry id' => [ + 'id' => 'entry id', + 'name' => 'link text', + 'order' => 1, //'icon' => 'optional', - 'href' => 'url', - 'active' => true, + 'href' => 'url', + 'active' => true ], - [ - 'id' => 'entry id', - 'name' => 'link text', - 'order' => 1, - 'icon' => '', - 'href' => 'url', - 'active' => false, - 'type' => 'link', - 'classes' => '', - ], - ], + 'entry id2' => [ + 'id' => 'entry id', + 'name' => 'link text', + 'order' => 1, + 'icon' => '', + 'href' => 'url', + 'active' => false, + 'type' => 'link', + 'classes' => '' + ] + ] ]; } @@ -120,7 +120,7 @@ class NavigationManagerTest extends TestCase { $navigationEntries = $this->navigationManager->getAll('all'); $this->assertCount(1, $navigationEntries, 'Expected that 1 navigation entry exists'); - $this->assertEquals($expectedEntry, $navigationEntries[0]); + $this->assertEquals($expectedEntry, $navigationEntries['entry id']); $this->navigationManager->clear(false); $this->assertEmpty($this->navigationManager->getAll('all'), 'Expected no navigation entry exists after clear()'); @@ -148,12 +148,12 @@ class NavigationManagerTest extends TestCase { $navigationEntries = $this->navigationManager->getAll('all'); $this->assertEquals(1, $testAddClosureNumberOfCalls, 'Expected that the closure is called by getAll()'); $this->assertCount(1, $navigationEntries, 'Expected that 1 navigation entry exists'); - $this->assertEquals($expectedEntry, $navigationEntries[0]); + $this->assertEquals($expectedEntry, $navigationEntries['entry id']); $navigationEntries = $this->navigationManager->getAll('all'); $this->assertEquals(1, $testAddClosureNumberOfCalls, 'Expected that the closure is only called once for getAll()'); $this->assertCount(1, $navigationEntries, 'Expected that 1 navigation entry exists'); - $this->assertEquals($expectedEntry, $navigationEntries[0]); + $this->assertEquals($expectedEntry, $navigationEntries['entry id']); $this->navigationManager->clear(false); $this->assertEmpty($this->navigationManager->getAll('all'), 'Expected no navigation entry exists after clear()'); @@ -161,11 +161,11 @@ class NavigationManagerTest extends TestCase { public function testAddArrayClearGetAll() { $entry = [ - 'id' => 'entry id', - 'name' => 'link text', - 'order' => 1, - 'icon' => 'optional', - 'href' => 'url', + 'id' => 'entry id', + 'name' => 'link text', + 'order' => 1, + 'icon' => 'optional', + 'href' => 'url' ]; $this->assertEmpty($this->navigationManager->getAll(), 'Expected no navigation entry exists'); @@ -178,11 +178,11 @@ class NavigationManagerTest extends TestCase { $this->assertEmpty($this->navigationManager->getAll(), 'Expected no navigation entry exists'); $entry = [ - 'id' => 'entry id', - 'name' => 'link text', - 'order' => 1, - 'icon' => 'optional', - 'href' => 'url', + 'id' => 'entry id', + 'name' => 'link text', + 'order' => 1, + 'icon' => 'optional', + 'href' => 'url' ]; global $testAddClosureNumberOfCalls; @@ -208,36 +208,36 @@ class NavigationManagerTest extends TestCase { public function testWithAppManager($expected, $navigation, $isAdmin = false) { $l = $this->createMock(IL10N::class); - $l->expects($this->any())->method('t')->willReturnCallback(function($text, $parameters = []) { + $l->expects($this->any())->method('t')->willReturnCallback(function ($text, $parameters = []) { return vsprintf($text, $parameters); }); $this->appManager->expects($this->once())->method('getAppInfo')->with('test')->willReturn($navigation); $this->l10nFac->expects($this->any())->method('get')->willReturn($l); - $this->urlGenerator->expects($this->any())->method('imagePath')->willReturnCallback(function($appName, $file) { + $this->urlGenerator->expects($this->any())->method('imagePath')->willReturnCallback(function ($appName, $file) { return "/apps/$appName/img/$file"; }); - $this->urlGenerator->expects($this->any())->method('linkToRoute')->willReturnCallback(function() { - return "/apps/test/"; + $this->urlGenerator->expects($this->any())->method('linkToRoute')->willReturnCallback(function () { + return '/apps/test/'; }); $this->urlGenerator - ->expects($this->once()) - ->method('linkToRouteAbsolute') - ->with( - 'core.login.logout', - [ - 'requesttoken' => \OCP\Util::callRegister(), - ] - ) - ->willReturn('https://example.com/logout'); + ->expects($this->once()) + ->method('linkToRouteAbsolute') + ->with( + 'core.login.logout', + [ + 'requesttoken' => \OCP\Util::callRegister() + ] + ) + ->willReturn('https://example.com/logout'); $user = $this->createMock(IUser::class); $user->expects($this->any())->method('getUID')->willReturn('user001'); $this->userSession->expects($this->any())->method('getUser')->willReturn($user); $this->userSession->expects($this->any())->method('isLoggedIn')->willReturn(true); $this->appManager->expects($this->once()) - ->method('getEnabledAppsForUser') - ->with($user) - ->willReturn(['test']); + ->method('getEnabledAppsForUser') + ->with($user) + ->willReturn(['test']); $this->groupManager->expects($this->any())->method('isAdmin')->willReturn($isAdmin); $subadmin = $this->createMock(SubAdmin::class); $subadmin->expects($this->any())->method('isSubAdmin')->with($user)->willReturn(false); @@ -250,72 +250,119 @@ class NavigationManagerTest extends TestCase { public function providesNavigationConfig() { $apps = [ - [ - 'id' => 'core_apps', - 'order' => 3, - 'href' => '/apps/test/', - 'icon' => '/apps/settings/img/apps.svg', - 'name' => 'Apps', - 'active' => false, - 'type' => 'settings', - 'classes' => '', + 'core_apps' => [ + 'id' => 'core_apps', + 'order' => 3, + 'href' => '/apps/test/', + 'icon' => '/apps/settings/img/apps.svg', + 'name' => 'Apps', + 'active' => false, + 'type' => 'settings', + 'classes' => '' ] ]; $defaults = [ - [ - 'id' => 'settings', - 'order' => 1, - 'href' => '/apps/test/', - 'icon' => '/apps/settings/img/admin.svg', - 'name' => 'Settings', - 'active' => false, - 'type' => 'settings', - 'classes' => '', - ], - [ - 'id' => 'logout', - 'order' => 99999, - 'href' => 'https://example.com/logout', - 'icon' => '/apps/core/img/actions/logout.svg', - 'name' => 'Log out', - 'active' => false, - 'type' => 'settings', - 'classes' => '', + 'settings' => [ + 'id' => 'settings', + 'order' => 1, + 'href' => '/apps/test/', + 'icon' => '/apps/settings/img/admin.svg', + 'name' => 'Settings', + 'active' => false, + 'type' => 'settings', + 'classes' => '' ], + 'logout' => [ + 'id' => 'logout', + 'order' => 99999, + 'href' => 'https://example.com/logout', + 'icon' => '/apps/core/img/actions/logout.svg', + 'name' => 'Log out', + 'active' => false, + 'type' => 'settings', + 'classes' => '' + ] ]; + return [ - 'minimalistic' => [array_merge([$defaults[0]], [[ - 'id' => 'test', - 'order' => 100, - 'href' => '/apps/test/', - 'icon' => '/apps/test/img/app.svg', - 'name' => 'Test', - 'active' => false, - 'type' => 'link', - 'classes' => '', - ]], [$defaults[1]]), ['navigations' => [['route' => 'test.page.index', 'name' => 'Test']]]], - 'minimalistic-settings' => [array_merge([$defaults[0]], [[ - 'id' => 'test', - 'order' => 100, - 'href' => '/apps/test/', - 'icon' => '/apps/test/img/app.svg', - 'name' => 'Test', - 'active' => false, - 'type' => 'settings', - 'classes' => '', - ]], [$defaults[1]]), ['navigations' => [['route' => 'test.page.index', 'name' => 'Test', 'type' => 'settings']]]], - 'admin' => [array_merge([$defaults[0]], $apps, [[ - 'id' => 'test', - 'order' => 100, - 'href' => '/apps/test/', - 'icon' => '/apps/test/img/app.svg', - 'name' => 'Test', - 'active' => false, - 'type' => 'link', - 'classes' => '', - ]], [$defaults[1]]), ['navigations' => [['@attributes' => ['role' => 'admin'], 'route' => 'test.page.index', 'name' => 'Test']]], true], - 'no name' => [array_merge([$defaults[0]], $apps, [$defaults[1]]), ['navigations' => [['@attributes' => ['role' => 'admin'], 'route' => 'test.page.index']]], true], - 'no admin' => [$defaults, ['navigations' => [['@attributes' => ['role' => 'admin'], 'route' => 'test.page.index', 'name' => 'Test']]]] + 'minimalistic' => [ + array_merge( + ['settings' => $defaults['settings']], + ['test' => [ + 'id' => 'test', + 'order' => 100, + 'href' => '/apps/test/', + 'icon' => '/apps/test/img/app.svg', + 'name' => 'Test', + 'active' => false, + 'type' => 'link', + 'classes' => '' + ]], + ['logout' => $defaults['logout']] + ), + ['navigations' => [ + ['route' => 'test.page.index', 'name' => 'Test'] + ]] + ], + 'minimalistic-settings' => [ + array_merge( + ['settings' => $defaults['settings']], + ['test' => [ + 'id' => 'test', + 'order' => 100, + 'href' => '/apps/test/', + 'icon' => '/apps/test/img/app.svg', + 'name' => 'Test', + 'active' => false, + 'type' => 'settings', + 'classes' => '' + ]], + ['logout' => $defaults['logout']] + ), + ['navigations' => [ + ['route' => 'test.page.index', 'name' => 'Test', 'type' => 'settings'] + ] + ]], + 'admin' => [ + array_merge( + ['settings' => $defaults['settings']], + $apps, + ['test' => [ + 'id' => 'test', + 'order' => 100, + 'href' => '/apps/test/', + 'icon' => '/apps/test/img/app.svg', + 'name' => 'Test', + 'active' => false, + 'type' => 'link', + 'classes' => '' + ]], + ['logout' => $defaults['logout']] + ), + ['navigations' => [ + ['@attributes' => ['role' => 'admin'], 'route' => 'test.page.index', 'name' => 'Test'] + ]], + true + ], + 'no name' => [ + array_merge( + ['settings' => $defaults['settings']], + $apps, + ['logout' => $defaults['logout']] + ), + ['navigations' => [ + ['@attributes' => ['role' => 'admin'], 'route' => 'test.page.index'] + ]], + true + ], + 'no admin' => [ + $defaults, + ['navigations' => [[ + '@attributes' => ['role' => 'admin'], + 'route' => 'test.page.index', + 'name' => 'Test' + ]]] + ] ]; } } |