In a Cucumber/Gherkin test,
cucumber-socket gives you the ability to wait for Socket.io events to be received before moving on to the next step.
$ npm install cucumber-socket # npm$ yarn add cucumber-socket # yarn
; // ES6+const CucumberSocket = ; // ES5
cucumber-socket provides a
CucumberSocket class, which, when instantiated, returns a manager. The manager will keep track of all the sockets, events to listen to, and the callbacks to execute in response of these events.
Before Cucumber runs the tests, should should call the
register method from the manager.
This will modify the
onevent method of the socket to notify the manager whenever it receives a new event.
Then, inside your step definitions, use the
waitFor method to halt execution of the next step until the specified event is received.
In the example above, the step after
description would only run after the
success event is received on the Socket.io client.