Write API tests for HTTP POST method

Image for post
Image for post
https://youtu.be/CuTLcnSna2E

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

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 of 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 -

https://www.youtube.com/watch?v=ZSVw3TyZur4&list=PL6AdzyjjD5HDR2kNRU2dA1C8ydXRAaaBV&ab_channel=AutomationBro

I hope this post helped you out, let me know in the comments below!

Happy testing! 😄

Subscribe to my YouTube channel
Support my work — https://www.buymeacoffee.com/automationbro
Follow @automationbro on Twitter

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store