From ee9eba54e5f3177d668f887106b17e78d1bbcec4 Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Fri, 22 Feb 2019 15:45:55 +0100 Subject: Parse multiple navigation items Signed-off-by: Daniel Kesselberg --- tests/data/app/navigation-one-item.json | 85 ++++++++++++++++++++++++++++++ tests/data/app/navigation-one-item.xml | 74 +++++++++++++++++++++++++++ tests/data/app/navigation-two-item.json | 91 +++++++++++++++++++++++++++++++++ tests/data/app/navigation-two-item.xml | 80 +++++++++++++++++++++++++++++ tests/lib/App/InfoParserTest.php | 16 +++--- tests/lib/NavigationManagerTest.php | 20 +++++--- 6 files changed, 353 insertions(+), 13 deletions(-) create mode 100644 tests/data/app/navigation-one-item.json create mode 100644 tests/data/app/navigation-one-item.xml create mode 100644 tests/data/app/navigation-two-item.json create mode 100644 tests/data/app/navigation-two-item.xml (limited to 'tests') diff --git a/tests/data/app/navigation-one-item.json b/tests/data/app/navigation-one-item.json new file mode 100644 index 00000000000..c9002da6b0d --- /dev/null +++ b/tests/data/app/navigation-one-item.json @@ -0,0 +1,85 @@ +{ + "id": "activity", + "name": "Activity", + "summary": "This application enables users to view actions related to their files in Nextcloud.", + "description": "\n\t\tThis application enables users to view actions related to their files in Nextcloud.\n\t\tOnce enabled, users will see a new icon \u201cActivity\u201d in their apps menu.\n\t\tWhen clicked, a new page appears for users to track the activity related to files \u2013 from new files, to deleted files, move, rename, updates and shared activity.\n\t\tThe user can configure their individual activity settings in their personal menu.\n\t\tThis sets the type of activity to record, as well as whether to the user sees their own activities,\n\t\twhether these are only available online, and whether they get an email digest on a regular basis.\n\t\tMore information is available in the Activity documentation.\n\t", + "version": "2.9.0", + "licence": "agpl", + "author": [ + "Frank Karlitschek", + "Joas Schilling" + ], + "default_enable": "", + "types": [ + "filesystem" + ], + "documentation": { + "admin": "https:\/\/docs.nextcloud.org\/server\/14\/admin_manual\/configuration_server\/activity_configuration.html" + }, + "category": [ + "monitoring", + "social" + ], + "website": "https:\/\/github.com\/nextcloud\/activity\/", + "bugs": "https:\/\/github.com\/nextcloud\/activity\/issues", + "repository": "https:\/\/github.com\/nextcloud\/activity.git", + "dependencies": { + "nextcloud": { + "@attributes": { + "min-version": "16", + "max-version": "16" + } + } + }, + "background-jobs": [ + "OCA\\Activity\\BackgroundJob\\EmailNotification", + "OCA\\Activity\\BackgroundJob\\ExpireActivities" + ], + "commands": { + "command": "OCA\\Activity\\Command\\SendEmails" + }, + "settings": { + "admin": [ + "OCA\\Activity\\Settings\\Admin" + ], + "admin-section": [ + "OCA\\Activity\\Settings\\AdminSection" + ], + "personal": [ + "OCA\\Activity\\Settings\\Personal" + ], + "personal-section": [ + "OCA\\Activity\\Settings\\PersonalSection" + ] + }, + "activity": { + "filters": [ + "OCA\\Activity\\Filter\\AllFilter", + "OCA\\Activity\\Filter\\SelfFilter", + "OCA\\Activity\\Filter\\ByFilter" + ], + "settings": [], + "providers": [] + }, + "navigations": { + "navigation": [ + { + "name": "Activity", + "route": "activity.Activities.showList", + "icon": "activity.svg", + "order": "1" + } + ] + }, + "info": [], + "remote": [], + "public": [], + "repair-steps": { + "install": [], + "pre-migration": [], + "post-migration": [], + "live-migration": [], + "uninstall": [] + }, + "two-factor-providers": [] +} \ No newline at end of file diff --git a/tests/data/app/navigation-one-item.xml b/tests/data/app/navigation-one-item.xml new file mode 100644 index 00000000000..a03e5c8ffbf --- /dev/null +++ b/tests/data/app/navigation-one-item.xml @@ -0,0 +1,74 @@ + + + activity + Activity + This application enables users to view actions related to their files in Nextcloud. + + This application enables users to view actions related to their files in Nextcloud. + Once enabled, users will see a new icon “Activity” in their apps menu. + When clicked, a new page appears for users to track the activity related to files – from new files, to deleted files, move, rename, updates and shared activity. + The user can configure their individual activity settings in their personal menu. + This sets the type of activity to record, as well as whether to the user sees their own activities, + whether these are only available online, and whether they get an email digest on a regular basis. + More information is available in the Activity documentation. + + + 2.9.0 + agpl + Frank Karlitschek + Joas Schilling + + + + + + + + https://docs.nextcloud.org/server/14/admin_manual/configuration_server/activity_configuration.html + + + monitoring + social + + https://github.com/nextcloud/activity/ + https://github.com/nextcloud/activity/issues + https://github.com/nextcloud/activity.git + + + + + + + OCA\Activity\BackgroundJob\EmailNotification + OCA\Activity\BackgroundJob\ExpireActivities + + + + OCA\Activity\Command\SendEmails + + + + OCA\Activity\Settings\Admin + OCA\Activity\Settings\AdminSection + OCA\Activity\Settings\Personal + OCA\Activity\Settings\PersonalSection + + + + + OCA\Activity\Filter\AllFilter + OCA\Activity\Filter\SelfFilter + OCA\Activity\Filter\ByFilter + + + + + + Activity + activity.Activities.showList + activity.svg + 1 + + + diff --git a/tests/data/app/navigation-two-item.json b/tests/data/app/navigation-two-item.json new file mode 100644 index 00000000000..a7579217238 --- /dev/null +++ b/tests/data/app/navigation-two-item.json @@ -0,0 +1,91 @@ +{ + "id": "activity", + "name": "Activity", + "summary": "This application enables users to view actions related to their files in Nextcloud.", + "description": "\n\t\tThis application enables users to view actions related to their files in Nextcloud.\n\t\tOnce enabled, users will see a new icon \u201cActivity\u201d in their apps menu.\n\t\tWhen clicked, a new page appears for users to track the activity related to files \u2013 from new files, to deleted files, move, rename, updates and shared activity.\n\t\tThe user can configure their individual activity settings in their personal menu.\n\t\tThis sets the type of activity to record, as well as whether to the user sees their own activities,\n\t\twhether these are only available online, and whether they get an email digest on a regular basis.\n\t\tMore information is available in the Activity documentation.\n\t", + "version": "2.9.0", + "licence": "agpl", + "author": [ + "Frank Karlitschek", + "Joas Schilling" + ], + "default_enable": "", + "types": [ + "filesystem" + ], + "documentation": { + "admin": "https:\/\/docs.nextcloud.org\/server\/14\/admin_manual\/configuration_server\/activity_configuration.html" + }, + "category": [ + "monitoring", + "social" + ], + "website": "https:\/\/github.com\/nextcloud\/activity\/", + "bugs": "https:\/\/github.com\/nextcloud\/activity\/issues", + "repository": "https:\/\/github.com\/nextcloud\/activity.git", + "dependencies": { + "nextcloud": { + "@attributes": { + "min-version": "16", + "max-version": "16" + } + } + }, + "background-jobs": [ + "OCA\\Activity\\BackgroundJob\\EmailNotification", + "OCA\\Activity\\BackgroundJob\\ExpireActivities" + ], + "commands": { + "command": "OCA\\Activity\\Command\\SendEmails" + }, + "settings": { + "admin": [ + "OCA\\Activity\\Settings\\Admin" + ], + "admin-section": [ + "OCA\\Activity\\Settings\\AdminSection" + ], + "personal": [ + "OCA\\Activity\\Settings\\Personal" + ], + "personal-section": [ + "OCA\\Activity\\Settings\\PersonalSection" + ] + }, + "activity": { + "filters": [ + "OCA\\Activity\\Filter\\AllFilter", + "OCA\\Activity\\Filter\\SelfFilter", + "OCA\\Activity\\Filter\\ByFilter" + ], + "settings": [], + "providers": [] + }, + "navigations": { + "navigation": [ + { + "name": "Activity", + "route": "activity.Activities.showList", + "icon": "activity.svg", + "order": "1" + }, + { + "name": "Activity-Test", + "route": "activity.Activities.showList", + "icon": "activity.svg", + "order": "2" + } + ] + }, + "info": [], + "remote": [], + "public": [], + "repair-steps": { + "install": [], + "pre-migration": [], + "post-migration": [], + "live-migration": [], + "uninstall": [] + }, + "two-factor-providers": [] +} \ No newline at end of file diff --git a/tests/data/app/navigation-two-item.xml b/tests/data/app/navigation-two-item.xml new file mode 100644 index 00000000000..fba60a2871d --- /dev/null +++ b/tests/data/app/navigation-two-item.xml @@ -0,0 +1,80 @@ + + + activity + Activity + This application enables users to view actions related to their files in Nextcloud. + + This application enables users to view actions related to their files in Nextcloud. + Once enabled, users will see a new icon “Activity” in their apps menu. + When clicked, a new page appears for users to track the activity related to files – from new files, to deleted files, move, rename, updates and shared activity. + The user can configure their individual activity settings in their personal menu. + This sets the type of activity to record, as well as whether to the user sees their own activities, + whether these are only available online, and whether they get an email digest on a regular basis. + More information is available in the Activity documentation. + + + 2.9.0 + agpl + Frank Karlitschek + Joas Schilling + + + + + + + + https://docs.nextcloud.org/server/14/admin_manual/configuration_server/activity_configuration.html + + + monitoring + social + + https://github.com/nextcloud/activity/ + https://github.com/nextcloud/activity/issues + https://github.com/nextcloud/activity.git + + + + + + + OCA\Activity\BackgroundJob\EmailNotification + OCA\Activity\BackgroundJob\ExpireActivities + + + + OCA\Activity\Command\SendEmails + + + + OCA\Activity\Settings\Admin + OCA\Activity\Settings\AdminSection + OCA\Activity\Settings\Personal + OCA\Activity\Settings\PersonalSection + + + + + OCA\Activity\Filter\AllFilter + OCA\Activity\Filter\SelfFilter + OCA\Activity\Filter\ByFilter + + + + + + Activity + activity.Activities.showList + activity.svg + 1 + + + Activity-Test + activity.Activities.showList + activity.svg + 2 + + + diff --git a/tests/lib/App/InfoParserTest.php b/tests/lib/App/InfoParserTest.php index 5a3847a71e8..4fa8b2a06a5 100644 --- a/tests/lib/App/InfoParserTest.php +++ b/tests/lib/App/InfoParserTest.php @@ -47,12 +47,14 @@ class InfoParserTest extends TestCase { $this->parserTest($expectedJson, $xmlFile, self::$cache); } - function providesInfoXml() { - return array( - array('expected-info.json', 'valid-info.xml'), - array(null, 'invalid-info.xml'), - array('expected-info.json', 'valid-info.xml'), - array(null, 'invalid-info.xml'), - ); + public function providesInfoXml(): array { + return [ + ['expected-info.json', 'valid-info.xml'], + [null, 'invalid-info.xml'], + ['expected-info.json', 'valid-info.xml'], + [null, 'invalid-info.xml'], + ['navigation-one-item.json', 'navigation-one-item.xml'], + ['navigation-two-item.json', 'navigation-two-item.xml'], + ]; } } diff --git a/tests/lib/NavigationManagerTest.php b/tests/lib/NavigationManagerTest.php index 8bc1c372ac8..8c451109ef9 100644 --- a/tests/lib/NavigationManagerTest.php +++ b/tests/lib/NavigationManagerTest.php @@ -301,7 +301,9 @@ class NavigationManagerTest extends TestCase { ['logout' => $defaults['logout']] ), ['navigations' => [ - ['route' => 'test.page.index', 'name' => 'Test'] + 'navigation' => [ + ['route' => 'test.page.index', 'name' => 'Test'] + ] ]] ], 'minimalistic-settings' => [ @@ -320,9 +322,11 @@ class NavigationManagerTest extends TestCase { ['logout' => $defaults['logout']] ), ['navigations' => [ - ['route' => 'test.page.index', 'name' => 'Test', 'type' => 'settings'] - ] - ]], + 'navigation' => [ + ['route' => 'test.page.index', 'name' => 'Test', 'type' => 'settings'] + ], + ]] + ], 'admin' => [ array_merge( ['settings' => $defaults['settings']], @@ -340,7 +344,9 @@ class NavigationManagerTest extends TestCase { ['logout' => $defaults['logout']] ), ['navigations' => [ - ['@attributes' => ['role' => 'admin'], 'route' => 'test.page.index', 'name' => 'Test'] + 'navigation' => [ + ['@attributes' => ['role' => 'admin'], 'route' => 'test.page.index', 'name' => 'Test'] + ], ]], true ], @@ -351,7 +357,9 @@ class NavigationManagerTest extends TestCase { ['logout' => $defaults['logout']] ), ['navigations' => [ - ['@attributes' => ['role' => 'admin'], 'route' => 'test.page.index'] + 'navigation' => [ + ['@attributes' => ['role' => 'admin'], 'route' => 'test.page.index'] + ], ]], true ], -- cgit v1.2.3