PolyGerrit: Implement support for New Agreement screen Bug: Issue 6866 Bug: Issue 6783 Change-Id: I3e69d317255f7318e225ff54cf192d9812fe0a70
diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router.js b/polygerrit-ui/app/elements/core/gr-router/gr-router.js index af2b9e6..43bf0ff 100644 --- a/polygerrit-ui/app/elements/core/gr-router/gr-router.js +++ b/polygerrit-ui/app/elements/core/gr-router/gr-router.js
@@ -21,7 +21,8 @@ CUSTOM_DASHBOARD: /^\/dashboard\/?$/, PROJECT_DASHBOARD: /^\/p\/(.+)\/\+\/dashboard\/(.+)/, - AGREEMENTS: /^\/settings\/(agreements|new-agreement)/, + AGREEMENTS: /^\/settings\/agreements\/?/, + NEW_AGREEMENTS: /^\/settings\/new-agreement\/?/, REGISTER: /^\/register(\/.*)?$/, // Pattern for login and logout URLs intended to be passed-through. May @@ -771,6 +772,9 @@ this._mapRoute(RoutePattern.AGREEMENTS, '_handleAgreementsRoute', true); + this._mapRoute(RoutePattern.NEW_AGREEMENTS, '_handleNewAgreementsRoute', + true); + this._mapRoute(RoutePattern.SETTINGS_LEGACY, '_handleSettingsLegacyRoute', true); @@ -1272,7 +1276,13 @@ } }, + // TODO fix this so it properly redirects + // to /settings#Agreements (Scrolls down) _handleAgreementsRoute(data) { + this._redirect('/settings/#Agreements'); + }, + + _handleNewAgreementsRoute(data) { data.params.view = Gerrit.Nav.View.AGREEMENTS; this._setParams(data.params); },
diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html b/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html index ae002af..1b35443 100644 --- a/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html +++ b/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html
@@ -134,6 +134,7 @@ '_handleGroupListOffsetRoute', '_handleGroupMembersRoute', '_handleGroupRoute', + '_handleNewAgreementsRoute', '_handlePluginListFilterOffsetRoute', '_handlePluginListFilterRoute', '_handlePluginListOffsetRoute', @@ -532,7 +533,14 @@ }); test('_handleAgreementsRoute', () => { - element._handleAgreementsRoute({params: {}}); + const data = {params: {}}; + element._handleAgreementsRoute(data); + assert.isTrue(redirectStub.calledOnce); + assert.equal(redirectStub.lastCall.args[0], '/settings/#Agreements'); + }); + + test('_handleNewAgreementsRoute', () => { + element._handleNewAgreementsRoute({params: {}}); assert.isTrue(setParamsStub.calledOnce); assert.equal(setParamsStub.lastCall.args[0].view, Gerrit.Nav.View.AGREEMENTS);