From 94f1974e44b3b3f1db685df850a8943d100dea57 Mon Sep 17 00:00:00 2001 From: Anton Usmansky Date: Thu, 9 Feb 2017 11:11:08 +0300 Subject: [PATCH] feat: Pass suiteCollection on BEGIN event to allow to modify it --- lib/runner/index.js | 1 + test/unit/runner/index.js | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/lib/runner/index.js b/lib/runner/index.js index 21b8cff0f..b22609fe8 100644 --- a/lib/runner/index.js +++ b/lib/runner/index.js @@ -46,6 +46,7 @@ module.exports = class TestsRunner extends Runner { _formatBeginEventData(suiteCollection) { return { + suiteCollection, config: this.config, totalStates: _.sumBy(suiteCollection.allSuites(), (suite) => suite.states.length), browserIds: this.config.getBrowserIds() diff --git a/test/unit/runner/index.js b/test/unit/runner/index.js index c688fe5b7..091665218 100644 --- a/test/unit/runner/index.js +++ b/test/unit/runner/index.js @@ -133,6 +133,17 @@ describe('runner', () => { return run(runner).then(() => assert.calledOnce(onBegin)); }); + it('should suite collection of states when emitting "BEGIN" event', () => { + const runner = createRunner(); + const suiteCollection = {allSuites: sinon.stub()}; + const onBegin = sinon.spy().named('onBegin'); + + runner.on(Events.BEGIN, onBegin); + + return run(runner, suiteCollection) + .then(() => assert.calledWithMatch(onBegin, {suiteCollection})); + }); + it('should pass total number of states when emitting "BEGIN" event', () => { const runner = createRunner(); const suiteCollection = {allSuites: sinon.stub()};