diff --git a/src/services/authFlow/PasswordState.js b/src/services/authFlow/PasswordState.js index bdbd9db..027f9d3 100644 --- a/src/services/authFlow/PasswordState.js +++ b/src/services/authFlow/PasswordState.js @@ -19,12 +19,16 @@ export default class PasswordState extends AbstractState { resolve(context, {password, rememberMe}) { const {auth: {login}} = context.getState(); - context.run('login', { + return context.run('login', { password, rememberMe, login }) - .then(() => context.setState(new CompleteState())) + .then(() => { + context.run('setAccountSwitcher', false); + + context.setState(new CompleteState()); + }) .catch((err = {}) => err.errors || logger.warn(err)); } diff --git a/tests/services/authFlow/PasswordState.test.js b/tests/services/authFlow/PasswordState.test.js index d26c33a..18d2c57 100644 --- a/tests/services/authFlow/PasswordState.test.js +++ b/tests/services/authFlow/PasswordState.test.js @@ -1,3 +1,4 @@ +import expect from 'unexpected'; import sinon from 'sinon'; import PasswordState from 'services/authFlow/PasswordState'; @@ -60,6 +61,7 @@ describe('PasswordState', () => { } }); + expectRun(mock, 'setAccountSwitcher', false); expectRun( mock, 'login', @@ -69,27 +71,11 @@ describe('PasswordState', () => { rememberMe: expectedRememberMe, }) ).returns(Promise.resolve()); - - state.resolve(context, {password: expectedPassword, rememberMe: expectedRememberMe}); - }); - - it('should transition to complete state on successfull login', () => { - const promise = Promise.resolve(); - const expectedLogin = 'login'; - const expectedPassword = 'password'; - - context.getState.returns({ - auth: { - login: expectedLogin - } - }); - - mock.expects('run').returns(promise); expectState(mock, CompleteState); - state.resolve(context, {password: expectedPassword}); + const payload = {password: expectedPassword, rememberMe: expectedRememberMe}; - return promise; + return expect(state.resolve(context, payload), 'to be fulfilled'); }); });