From 580bebdc6609300fe77e64141a60676dd352b958 Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Thu, 23 Jun 2016 21:02:08 +0900 Subject: [PATCH] Combine save/load tests --- test/specs/browser/settings_test.js | 130 +++++++++++++--------------- 1 file changed, 59 insertions(+), 71 deletions(-) diff --git a/test/specs/browser/settings_test.js b/test/specs/browser/settings_test.js index 87b7e0de..ee4e2bb5 100644 --- a/test/specs/browser/settings_test.js +++ b/test/specs/browser/settings_test.js @@ -68,85 +68,73 @@ describe('browser/settings.html', function() { }); [true, false].forEach(function(v) { - it(`should be loaded from config: ${v}`, function() { + it(`should be saved and loaded: ${v}`, function() { env.shouldTestForPlatforms(this, ['win32', 'linux']); - var new_config = {}; - Object.assign(new_config, config); - new_config.hideMenuBar = v; - fs.writeFileSync(env.configFilePath, JSON.stringify(new_config)); - return this.app.restart().then(() => { - addClientCommands(this.app.client); - return this.app.client - .loadSettingsPage() - .isSelected('#inputHideMenuBar input').should.eventually.equal(v) - .browserWindow.isMenuBarAutoHide().should.eventually.equal(v); - }); - }); - }); - - [true, false].forEach(function(v) { - it(`should be saved as config.json: ${v}`, function() { - env.shouldTestForPlatforms(this, ['win32', 'linux']); - return this.app.restart().then(() => { - addClientCommands(this.app.client); - return this.app.client - .loadSettingsPage() - .isSelected('#inputHideMenuBar input').then((isSelected) => { - if (isSelected !== v) { - return this.app.client.click('#inputHideMenuBar input') - } - }) - .click('#btnSave') - .pause(1000) - .then(() => { - const saved_config = JSON.parse(fs.readFileSync(env.configFilePath, 'utf8')); - saved_config.hideMenuBar.should.equal(v); - }); - }); + addClientCommands(this.app.client); + return this.app.client + .loadSettingsPage() + .isSelected('#inputHideMenuBar input').then((isSelected) => { + if (isSelected !== v) { + return this.app.client.click('#inputHideMenuBar input') + } + }) + .click('#btnSave') + .pause(1000).then(() => { + const saved_config = JSON.parse(fs.readFileSync(env.configFilePath, 'utf8')); + saved_config.hideMenuBar.should.equal(v); + }) + // confirm actual behavior + .browserWindow.isMenuBarAutoHide().should.eventually.equal(v).then(() => { + return this.app.restart(); + }).then(() => { + addClientCommands(this.app.client); + return this.app.client + // confirm actual behavior + .browserWindow.isMenuBarAutoHide().should.eventually.equal(v) + .loadSettingsPage() + .isSelected('#inputHideMenuBar input').should.eventually.equal(v); + }); }); }); }); describe('Allow mixed content', function() { [true, false].forEach(function(v) { - it(`should be loaded from config: ${v}`, function() { - var new_config = {}; - Object.assign(new_config, config); - new_config.disablewebsecurity = v; - fs.writeFileSync(env.configFilePath, JSON.stringify(new_config)); - return this.app.restart().then(() => { - addClientCommands(this.app.client); - return this.app.client - .getAttribute('.mattermostView', 'disablewebsecurity').then((disablewebsecurity) => { - // disablewebsecurity is an array of String - disablewebsecurity.forEach((d) => { - v.toString().should.equal(d) + it(`should be saved and loaded: ${v}`, function() { + addClientCommands(this.app.client); + return this.app.client + .loadSettingsPage() + .isSelected('#inputDisableWebSecurity input').then((isSelected) => { + if (isSelected !== v) { + return this.app.client.click('#inputDisableWebSecurity input') + } + }) + .click('#btnSave') + .pause(1000).then(() => { + const saved_config = JSON.parse(fs.readFileSync(env.configFilePath, 'utf8')); + saved_config.disablewebsecurity.should.equal(v); + }) + // confirm actual behavior + .getAttribute('.mattermostView', 'disablewebsecurity').then((disablewebsecurity) => { + // disablewebsecurity is an array of String + disablewebsecurity.forEach((d) => { + v.toString().should.equal(d); + }) + }).then(() => { + return this.app.restart(); + }).then(() => { + addClientCommands(this.app.client); + return this.app.client + // confirm actual behavior + .getAttribute('.mattermostView', 'disablewebsecurity').then((disablewebsecurity) => { + // disablewebsecurity is an array of String + disablewebsecurity.forEach((d) => { + v.toString().should.equal(d); + }) }) - }) - .loadSettingsPage() - .isSelected('#inputDisableWebSecurity input').should.eventually.equal(v); - }); - }); - }); - - [true, false].forEach(function(v) { - it(`should be saved as config.json: ${v}`, function() { - return this.app.restart().then(() => { - addClientCommands(this.app.client); - return this.app.client - .loadSettingsPage() - .isSelected('#inputDisableWebSecurity input').then((isSelected) => { - if (isSelected !== v) { - return this.app.client.click('#inputDisableWebSecurity input') - } - }) - .click('#btnSave') - .pause(1000) - .then(() => { - const saved_config = JSON.parse(fs.readFileSync(env.configFilePath, 'utf8')); - saved_config.disablewebsecurity.should.equal(v); - }); - }); + .loadSettingsPage() + .isSelected('#inputDisableWebSecurity input').should.eventually.equal(v); + }); }); }); });