Let's take a look at how to write API tests using JavaScript for HTTP POST methods.

So when working with the POST method, one of the key things to remember is to send the request data along with the request. Let's take a look at an example of creating a new user using the POST method -

it('POST /users', () => {
  // data to send with the request
  const data = {
    email: `test-${Math.floor(Math.random() * 9999)}@mail.ca`,
    name: 'Test name',
    gender: 'Male',
    status: 'Inactive',
  };

  return request
    .post('users') // hitting the POST route
    .set('Authorization', `Bearer ${TOKEN}`) // setting token for authentication
    .send(data)
    .then((res) => {
      // validate the entire response data using Chai assertion
      expect(res.body.data).to.deep.include(data);
    });
});

So the above code will create a new user for us and will give a similar response back -

{
  code: 201,
  meta: null,
  data: {
    id: 1437,
    name: 'Test name',
    email: 'test-6243@mail.ca',
    gender: 'Male',
    status: 'Inactive',
    created_at: '2020-09-27T04:15:02.057+05:30',
    updated_at: '2020-09-27T04:15:02.057+05:30'
  }
}

There you go, that's all we need to do to create an API test for HTTP POST method. 🙌

Check out this video to see a detailed explanation on how to work with HTTP POST method:

You can also clone the GitHub repo to access this code


To learn more about API testing, check out my free tutorial series here -

JavaScript API Automation Testing Tutorial Series