Skip to content

Latest commit

 

History

History
21 lines (16 loc) · 1.22 KB

REQUEST_RESPONSE.md

File metadata and controls

21 lines (16 loc) · 1.22 KB

Request/Response Steps and Suppport Overview

The request steps and support functions wrap the standard request module. The request module provides a lot of flexibility constructing the request options. The default options are

{
  host: 'http://localhost:3000',
  method: 'GET',
  simple: false,
  body: {},
  resolveWithFullResponse: true,
  json: true,
  jar: true
}

This can be overridden first by members of the object passed to the requestSupport.initialize function. Typically this will execute in a cucumber "Before" hook and is stashed in the _request.defaultOptions universe property. Then in individual steps, parameters can be further overridden. In particular most of the steps allow for the specification of method, body and by a routeStr. The routeStr is parsed and combined with the host to create the request url.

The result of the request is a promise that is stored in the _requestResponsePromise and the actual options passed are stashed in _requestOptions.

The response steps react to the result of the _requestResponsePromise. In particular the matchPattern response function passes the response body to the specified lodash-match-pattern template.