REST

# REST

Extends Helper

REST helper allows to send additional requests to the REST API during acceptance tests. Axios library is used to perform requests.

# Configuration

  • endpoint: API base URL
  • timeout: timeout for requests in milliseconds. 10000ms by default
  • defaultHeaders: a list of default headers
  • onRequest: a async function which can update request object.

# Example

{
  helpers: {
    REST: {
      endpoint: 'http://site.com/api',
      onRequest: (request) => {
      request.headers.auth = '123';
    }
  }
}

# Access From Helpers

Send REST requests by accessing _executeRequest method:

this.helpers['REST']._executeRequest({
   url,
   data,
});

# Methods

# Parameters

  • config

# _executeRequest

Executes axios request

# Parameters

  • request any

# _url

Generates url based on format sent (takes endpoint + url if latter lacks 'http')

# Parameters

  • url any

# sendDeleteRequest

Sends DELETE request to API.

I.sendDeleteRequest('/api/users/1');

# Parameters

# sendGetRequest

Send GET request to REST API

I.sendGetRequest('/api/users.json');

# Parameters

# sendPatchRequest

Sends PATCH request to API.

I.sendPatchRequest('/api/users.json', { "email": "[email protected]" });

# Parameters

# sendPostRequest

Sends POST request to API.

I.sendPostRequest('/api/users.json', { "email": "[email protected]" });

# Parameters

  • url any
  • payload any
  • headers object

# sendPutRequest

Sends PUT request to API.

I.sendPutRequest('/api/users.json', { "email": "[email protected]" });

# Parameters

# setRequestTimeout

Set timeout for the request

I.setRequestTimeout(10000); // In milliseconds

# Parameters

  • newTimeout