Write API tests for HTTP GET method

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

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

So in the previous post, we wrote a basic GET test to get us started, and now we’ll take a step further and write a couple more of GET tests to get a good understanding of them.

Accessing an individual resource

In this test, we’ll try to access data for an individual user.

// access the user data based on the id provided
it('GET /users/:id', () => {
return request.get(`users/1?access-token=${TOKEN}`).then((res) => {
// validate the data being returned is of the expected user
expect(res.body.data.id).to.be.eq(1);
});
});

Working with query parameters

Sometimes, you need to provide query params to filter out the data being requested.

// Filtering data based on page, gender and status
it('GET /users with query params', () => {
const url = `users?access-token=${TOKEN}&page=5&gender=Female&status=Active`;
return request.get(url).then((res) => {
expect(res.body.data).to.not.be.empty;
// validate all the data being returned are as per the query params provided
res.body.data.forEach((data) => {
expect(data.gender).to.eq('Female');
expect(data.status).to.eq('Active');
});
});
});

Alright, so this covers pretty much the majority of the scenarios that you will work with when writing API tests for HTTP GET methods. 🙌

You can also clone the GitHub repo to access this code

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