From 4fe3ceaea21013b295ca5df49791f52514ce5af0 Mon Sep 17 00:00:00 2001 From: Felix Hammerl Date: Tue, 3 Feb 2015 22:46:12 +0100 Subject: [PATCH] [WO-878] Do not force import of private key for HKP keys --- src/js/controller/login/login.js | 2 +- test/unit/controller/login/login-ctrl-test.js | 30 +++++++++++++++---- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/js/controller/login/login.js b/src/js/controller/login/login.js index 6026643..693c306 100644 --- a/src/js/controller/login/login.js +++ b/src/js/controller/login/login.js @@ -51,7 +51,7 @@ var LoginCtrl = function($scope, $timeout, $location, updateHandler, account, au }); }); - } else if (availableKeys && availableKeys.publicKey && !availableKeys.privateKey) { + } else if (availableKeys && availableKeys.publicKey && !availableKeys.publicKey.source && !availableKeys.privateKey) { // check if private key is synced return keychain.requestPrivateKeyDownload({ userId: availableKeys.publicKey.userId, diff --git a/test/unit/controller/login/login-ctrl-test.js b/test/unit/controller/login/login-ctrl-test.js index 839cfa1..9e66560 100644 --- a/test/unit/controller/login/login-ctrl-test.js +++ b/test/unit/controller/login/login-ctrl-test.js @@ -86,7 +86,7 @@ describe('Login Controller unit test', function() { authMock.getEmailAddress.returns(resolves({})); scope.init().then(function() { - expect(goToStub.withArgs('/add-account').called).to.be.true; + expect(goToStub.calledWith('/add-account')).to.be.true; expect(goToStub.calledOnce).to.be.true; done(); }); @@ -104,7 +104,7 @@ describe('Login Controller unit test', function() { emailMock.unlock.returns(rejects(new Error())); scope.init().then(function() { - expect(goToStub.withArgs('/login-existing').called).to.be.true; + expect(goToStub.calledWith('/login-existing')).to.be.true; expect(goToStub.calledOnce).to.be.true; expect(authMock.storeCredentials.called).to.be.false; done(); @@ -142,7 +142,7 @@ describe('Login Controller unit test', function() { authMock.storeCredentials.returns(resolves()); scope.init().then(function() { - expect(goToStub.withArgs('/account').called).to.be.true; + expect(goToStub.calledWith('/account')).to.be.true; expect(goToStub.calledOnce).to.be.true; done(); }); @@ -175,7 +175,7 @@ describe('Login Controller unit test', function() { keychainMock.requestPrivateKeyDownload.returns(resolves(true)); scope.init().then(function() { - expect(goToStub.withArgs('/login-privatekey-download').called).to.be.true; + expect(goToStub.calledWith('/login-privatekey-download')).to.be.true; expect(goToStub.calledOnce).to.be.true; done(); }); @@ -192,7 +192,25 @@ describe('Login Controller unit test', function() { keychainMock.requestPrivateKeyDownload.returns(resolves()); scope.init().then(function() { - expect(goToStub.withArgs('/login-new-device').called).to.be.true; + expect(goToStub.calledWith('/login-new-device')).to.be.true; + expect(goToStub.calledOnce).to.be.true; + done(); + }); + }); + + it('should redirect to /login-new-device', function(done) { + authMock.init.returns(resolves()); + authMock.getEmailAddress.returns(resolves({ + emailAddress: emailAddress + })); + accountMock.init.returns(resolves({ + publicKey: { + source: 'foo' + } + })); + + scope.init().then(function() { + expect(goToStub.calledWith('/login-initial')).to.be.true; expect(goToStub.calledOnce).to.be.true; done(); }); @@ -206,7 +224,7 @@ describe('Login Controller unit test', function() { accountMock.init.returns(resolves({})); scope.init().then(function() { - expect(goToStub.withArgs('/login-initial').called).to.be.true; + expect(goToStub.calledWith('/login-initial')).to.be.true; expect(goToStub.calledOnce).to.be.true; done(); });