New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cucumber-socket

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.

  • 1.0.6
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created

cucumber-socket

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.

Installation

NPM

cucumber-socket is published at npmjs.com, and can be installed using npm or yarn.

$ npm install cucumber-socket  # npm
$ yarn add cucumber-socket     # yarn
import CucumberSocket from 'cucumber-socket';       // ES6+
const CucumberSocket = require('cucumber-socket');  // ES5

Usage

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.

Before(function () {
  this.manager = new CucumberSocket();
  this.socket = io('http://hostname/', { ...options });
  return this.manager.register(this.socket);
});

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.

When('description', function (callback) {
  this.socket.emit('login');
  this.manager.waitFor(this.socket, 'success', callback);
});

In the example above, the step after description would only run after the success event is received on the Socket.io client.

FAQs

Package last updated on 19 Sep 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts