Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
150 lines (95 sloc) 2.57 KB
id title
REST
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

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

  • url any
  • headers object (optional, default {})

sendGetRequest

Send GET request to REST API

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

Parameters

  • url any
  • headers object (optional, default {})

sendPatchRequest

Sends PATCH request to API.

I.sendPatchRequest('/api/users.json', { "email": "user@user.com" });

Parameters

sendPostRequest

Sends POST request to API.

I.sendPostRequest('/api/users.json', { "email": "user@user.com" });

Parameters

  • url any
  • payload any (optional, default {})
  • headers object (optional, default {})

sendPutRequest

Sends PUT request to API.

I.sendPutRequest('/api/users.json', { "email": "user@user.com" });

Parameters

setRequestTimeout

Set timeout for the request

I.setRequestTimeout(10000); // In milliseconds

Parameters

  • newTimeout