diff --git a/src/browser/components/SettingsPage.jsx b/src/browser/components/SettingsPage.jsx index 4e5e6bdd..3b5aca33 100644 --- a/src/browser/components/SettingsPage.jsx +++ b/src/browser/components/SettingsPage.jsx @@ -34,6 +34,9 @@ const SettingsPage = React.createClass({ initialState.showAddTeamForm = false; initialState.trayWasVisible = remote.getCurrentWindow().trayWasVisible; initialState.disableClose = initialState.teams.length === 0; + if (initialState.teams.length === 0) { + initialState.showAddTeamForm = true; + } return initialState; }, @@ -57,6 +60,9 @@ const SettingsPage = React.createClass({ showAddTeamForm: false, teams }); + if (teams.length === 0) { + this.setState({showAddTeamForm: true}); + } }, handleSave() { var config = { diff --git a/test/specs/app_test.js b/test/specs/app_test.js index 428659e2..bd547d15 100644 --- a/test/specs/app_test.js +++ b/test/specs/app_test.js @@ -68,7 +68,8 @@ describe('application', function desc() { return this.app.start().then(() => { return this.app.client. waitUntilWindowLoaded(). - getUrl().should.eventually.match(/\/settings.html$/); + getUrl().should.eventually.match(/\/settings.html$/). + isExisting('#newServerModal').should.eventually.equal(true); }); }); diff --git a/test/specs/browser/settings_test.js b/test/specs/browser/settings_test.js index f0b07406..13b9acfc 100644 --- a/test/specs/browser/settings_test.js +++ b/test/specs/browser/settings_test.js @@ -49,6 +49,22 @@ describe('browser/settings.html', function desc() { getUrl().should.eventually.match(/\/index.html$/); }); + it('should show NewServerModal after all servers are removed', () => { + const modalTitleSelector = '.modal-title=Remove Server'; + env.addClientCommands(this.app.client); + return this.app.client. + loadSettingsPage(). + click('=Remove'). + waitForVisible(modalTitleSelector). + element('.modal-dialog').click('.btn=Remove'). + pause(500). + click('=Remove'). + waitForVisible(modalTitleSelector). + element('.modal-dialog').click('.btn=Remove'). + pause(500). + isExisting('#newServerModal').should.eventually.equal(true); + }); + describe('Options', () => { describe('Hide Menu Bar', () => { it('should appear on win32 or linux', () => {