From 988e6735eca995b2e0706419a25800e748becaee Mon Sep 17 00:00:00 2001 From: Henry Mollman Date: Tue, 7 Mar 2017 16:06:27 -0800 Subject: [PATCH 1/2] When the user first hits the index page, redirect them to the instances page if they have no granted orgs (i.e. a personal account) --- client/config/routes.js | 16 ++++++++++------ test/unit/services/serviceFetch.unit.js | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/client/config/routes.js b/client/config/routes.js index ac794fcf1..13bc93de9 100755 --- a/client/config/routes.js +++ b/client/config/routes.js @@ -43,11 +43,11 @@ module.exports = [ controller: 'IndexController', controllerAs: 'COS', resolve: { - user: function ($state, fetchUser, keypather) { - return fetchUser() - .then(function (user) { - var prevLocation = keypather.get(user, 'attrs.userOptions.uiState.previousLocation.org'); - var prevInstance = keypather.get(user, 'attrs.userOptions.uiState.previousLocation.instance'); + user: function ($q, $state, fetchUser, fetchGrantedGithubOrgs, keypather) { + return $q.all({ user: fetchUser(), grantedOrgs: fetchGrantedGithubOrgs() }) + .then(function (userAndGrantedOrgs) { + var prevLocation = keypather.get(userAndGrantedOrgs, 'user.attrs.userOptions.uiState.previousLocation.org'); + var prevInstance = keypather.get(userAndGrantedOrgs, 'user.attrs.userOptions.uiState.previousLocation.instance'); if (prevLocation) { if (prevInstance) { $state.go('base.instances.instance', { @@ -59,10 +59,14 @@ module.exports = [ userName: prevLocation }); } + } else if (!keypather.get(userAndGrantedOrgs, 'grantedOrgs.models.length')) { + $state.go('base.instances', { + userName: keypather.get(userAndGrantedOrgs, 'user.attrs.accounts.github.username') + }); } else { $state.go('orgSelect'); } - return user; + return userAndGrantedOrgs.user; }); } } diff --git a/test/unit/services/serviceFetch.unit.js b/test/unit/services/serviceFetch.unit.js index 08f7c1e62..f066ea10f 100644 --- a/test/unit/services/serviceFetch.unit.js +++ b/test/unit/services/serviceFetch.unit.js @@ -83,7 +83,7 @@ describe('serviceFetch'.bold.underline.blue, function () { var fetchUserPromise = fetchUser(); $rootScope.$digest(); expect(fetchUserPromise, 'Returned err').to.eventually.rejectedWith(err); - expect(windowMock.location).to.equal('https://runnable.com'); + expect(windowMock.location).to.equal('https://runnable.io'); }); }); From 65dc5016394c2b93e51211a07cf09f8931029d2c Mon Sep 17 00:00:00 2001 From: Henry Mollman Date: Mon, 13 Mar 2017 16:41:51 -0700 Subject: [PATCH 2/2] Remove redirect from test --- test/unit/services/serviceFetch.unit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/services/serviceFetch.unit.js b/test/unit/services/serviceFetch.unit.js index f066ea10f..08f7c1e62 100644 --- a/test/unit/services/serviceFetch.unit.js +++ b/test/unit/services/serviceFetch.unit.js @@ -83,7 +83,7 @@ describe('serviceFetch'.bold.underline.blue, function () { var fetchUserPromise = fetchUser(); $rootScope.$digest(); expect(fetchUserPromise, 'Returned err').to.eventually.rejectedWith(err); - expect(windowMock.location).to.equal('https://runnable.io'); + expect(windowMock.location).to.equal('https://runnable.com'); }); });