From e796dce03ea099e72b644fafa17dcd8d697906da Mon Sep 17 00:00:00 2001 From: DudaGod Date: Tue, 14 Feb 2017 11:24:35 +0300 Subject: [PATCH] fix: method "fullUrl" should resolve url in runtime --- lib/runner/browser-runner/index.js | 4 +++- test/unit/runner/browser-runner/index.js | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/runner/browser-runner/index.js b/lib/runner/browser-runner/index.js index c13e1d699..b928193c2 100644 --- a/lib/runner/browser-runner/index.js +++ b/lib/runner/browser-runner/index.js @@ -30,7 +30,9 @@ module.exports = class BrowserRunner extends Runner { .filter((suite) => _.includes(suite.browsers, this._browserId)) .map((suite) => { if (suite.hasOwnProperty('url')) { - suite.fullUrl = this._mkFullUrl(suite.url); + Object.defineProperty(suite, 'fullUrl', { + get: () => this._mkFullUrl(suite.url) + }); } return this._runSuite(suite, stateProcessor); diff --git a/test/unit/runner/browser-runner/index.js b/test/unit/runner/browser-runner/index.js index 71728a973..9c929150e 100644 --- a/test/unit/runner/browser-runner/index.js +++ b/test/unit/runner/browser-runner/index.js @@ -144,6 +144,14 @@ describe('runner/BrowserRunner', () => { .then(() => suiteRunnerFabric.create.args[0][0]); // resolve with modified suite }; + it('should resolve url in runtime', () => { + return run_({rootUrl: 'http://localhost/', suiteUrl: 'testUrl'}) + .then((suite) => { + suite.url += '/?query=value'; + assert.equal(suite.fullUrl, '/testUrl/?query=value'); + }); + }); + it('should not modify suite without "url" as own property', () => { return run_({rootUrl: 'http://localhost/foo/bar/'}) .then((suite) => assert.isUndefined(suite.fullUrl));