diff --git a/src/browser/components/MainPage.jsx b/src/browser/components/MainPage.jsx index 77420e54..6695c2be 100644 --- a/src/browser/components/MainPage.jsx +++ b/src/browser/components/MainPage.jsx @@ -309,27 +309,25 @@ const MainPage = React.createClass({ authServerURL = `${tmpURL.protocol}//${tmpURL.host}`; authInfo = this.state.loginQueue[0].authInfo; } - var modal; - if (this.state.showNewTeamModal) { - modal = ( - { - this.setState({ - showNewTeamModal: false - }); - }} - onSave={(newTeam) => { - this.props.teams.push(newTeam); - this.setState({ - showNewTeamModal: false, - key: this.props.teams.length - 1 - }); - this.render(); - this.props.onTeamConfigChange(this.props.teams); - }} - /> - ); - } + var modal = ( + { + this.setState({ + showNewTeamModal: false + }); + }} + onSave={(newTeam) => { + this.props.teams.push(newTeam); + this.setState({ + showNewTeamModal: false, + key: this.props.teams.length - 1 + }); + this.render(); + this.props.onTeamConfigChange(this.props.teams); + }} + /> + ); return (
{ @@ -193,7 +203,8 @@ NewTeamModal.propTypes = { onClose: React.PropTypes.func, onSave: React.PropTypes.func, team: React.PropTypes.object, - editMode: React.PropTypes.boolean + editMode: React.PropTypes.boolean, + show: React.PropTypes.boolean }; module.exports = NewTeamModal; diff --git a/src/browser/components/TeamList.jsx b/src/browser/components/TeamList.jsx index 864d0964..ddad0bb7 100644 --- a/src/browser/components/TeamList.jsx +++ b/src/browser/components/TeamList.jsx @@ -96,49 +96,45 @@ const TeamList = React.createClass({ ); }); - var addServerForm; - if (this.props.showAddTeamForm || this.state.showEditTeamForm) { - addServerForm = ( - { - this.setState({ - showEditTeamForm: false, - team: { - name: '', - url: '', - index: false - } - }); - this.props.setAddTeamFormVisibility(false); - }} - onSave={(newTeam) => { - var teamData = { - name: newTeam.name, - url: newTeam.url - }; - if (this.props.showAddTeamForm) { - this.props.addServer(teamData); - } else { - this.props.updateTeam(newTeam.index, teamData); + var addServerForm = ( + { + this.setState({ + showEditTeamForm: false, + team: { + name: '', + url: '', + index: false } - this.setState({ - showNewTeamModal: false, - showEditTeamForm: false, - team: { - name: '', - url: '', - index: false - } - }); - this.render(); - this.props.setAddTeamFormVisibility(false); - }} - team={this.state.team} - />); - } else { - addServerForm = ''; - } + }); + this.props.setAddTeamFormVisibility(false); + }} + onSave={(newTeam) => { + var teamData = { + name: newTeam.name, + url: newTeam.url + }; + if (this.props.showAddTeamForm) { + this.props.addServer(teamData); + } else { + this.props.updateTeam(newTeam.index, teamData); + } + this.setState({ + showNewTeamModal: false, + showEditTeamForm: false, + team: { + name: '', + url: '', + index: false + } + }); + this.render(); + this.props.setAddTeamFormVisibility(false); + }} + team={this.state.team} + />); const removeServer = this.props.teams[this.state.indexToRemoveServer]; const removeServerModal = ( diff --git a/test/specs/browser/settings_test.js b/test/specs/browser/settings_test.js index efc11036..f0b07406 100644 --- a/test/specs/browser/settings_test.js +++ b/test/specs/browser/settings_test.js @@ -261,6 +261,7 @@ describe('browser/settings.html', function desc() { it('should close the window after clicking cancel', () => { return this.app.client. click('#cancelNewServerModal'). + pause(1000). // Animation isExisting('#newServerModal').should.eventually.equal(false); }); @@ -334,15 +335,16 @@ describe('browser/settings.html', function desc() { it('should add the team to the config file', (done) => { this.app.client. click('#saveNewServerModal'). - click('#btnSave'); - this.app.client.pause(1000).then(() => { - const savedConfig = JSON.parse(fs.readFileSync(env.configFilePath, 'utf8')); - savedConfig.teams.should.contain({ - name: 'TestTeam', - url: 'http://example.org' + pause(1000). // Animation + click('#btnSave'). + pause(1000).then(() => { + const savedConfig = JSON.parse(fs.readFileSync(env.configFilePath, 'utf8')); + savedConfig.teams.should.contain({ + name: 'TestTeam', + url: 'http://example.org' + }); + return done(); }); - return done(); - }); }); }); });