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 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
You can also provide query params in the request URL.
// 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. ?
Check out this video to see a detailed explanation on how to work with HTTP GET method:
You can also clone the GitHub repo to access this code