From 61705cf5f4b95e1819ae014cda6fec20fc6a2716 Mon Sep 17 00:00:00 2001 From: Austin Burdine Date: Wed, 23 Sep 2015 08:33:09 -0500 Subject: [PATCH] add author edit route no issue - adds front-end author edit route that redirects to the edit author page - adds tests for edit route --- core/server/routes/frontend.js | 3 +++ core/test/functional/routes/frontend_spec.js | 26 ++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/core/server/routes/frontend.js b/core/server/routes/frontend.js index 37fbe1e2ae..df24c6f9b8 100644 --- a/core/server/routes/frontend.js +++ b/core/server/routes/frontend.js @@ -66,6 +66,9 @@ frontendRoutes = function frontendRoutes(middleware) { // Authors authorRouter.route('/').get(frontend.author); + authorRouter.route('/edit?').get(function redirect(req, res) { + res.redirect(subdir + '/ghost/team/' + req.params.slug + '/'); + }); authorRouter.route('/' + routeKeywords.page + '/:page/').get(frontend.author); authorRouter.use(rssRouter); diff --git a/core/test/functional/routes/frontend_spec.js b/core/test/functional/routes/frontend_spec.js index db839bf249..4487a72049 100644 --- a/core/test/functional/routes/frontend_spec.js +++ b/core/test/functional/routes/frontend_spec.js @@ -575,6 +575,32 @@ describe('Frontend Routing', function () { .end(doEnd(done)); }); }); + + describe('Author edit', function () { + it('should redirect without slash', function (done) { + request.get('/author/ghost-owner/edit') + .expect('Location', '/author/ghost-owner/edit/') + .expect('Cache-Control', testUtils.cacheRules.year) + .expect(301) + .end(doEnd(done)); + }); + + it('should redirect to editor', function (done) { + request.get('/author/ghost-owner/edit/') + .expect('Location', '/ghost/team/ghost-owner/') + .expect('Cache-Control', testUtils.cacheRules['public']) + .expect(302) + .end(doEnd(done)); + }); + + it('should 404 for something that isn\'t edit', function (done) { + request.get('/author/ghost-owner/notedit/') + .expect('Cache-Control', testUtils.cacheRules['private']) + .expect(404) + .expect(/Page not found/) + .end(doEnd(done)); + }); + }); }); describe('Tag pages', function () {