forked from dilpreetj/JavaScript-API-Automation-Tests
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathusers-advanced.js
More file actions
86 lines (74 loc) · 2.1 KB
/
users-advanced.js
File metadata and controls
86 lines (74 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import supertest from 'supertest';
const request = supertest('https://gorest.co.in/public-api/');
import { expect } from 'chai';
const TOKEN = process.env.USER_TOKEN;
describe('Users', () => {
let userId;
describe('POST', () => {
it('/users', () => {
const data = {
email: `test-${Math.floor(Math.random() * 9999)}@mail.ca`,
name: 'Test name',
gender: 'Male',
status: 'Inactive',
};
return request
.post('users')
.set('Authorization', `Bearer ${TOKEN}`)
.send(data)
.then((res) => {
expect(res.body.data).to.deep.include(data);
userId = res.body.data.id;
});
});
});
describe('GET', () => {
it('/users', () => {
return request.get(`users?access-token=${TOKEN}`).then((res) => {
expect(res.body.data).to.not.be.empty;
});
});
it('/users/:id', () => {
return request
.get(`users/${userId}?access-token=${TOKEN}`)
.then((res) => {
expect(res.body.data.id).to.be.eq(userId);
});
});
it('/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;
res.body.data.forEach((data) => {
expect(data.gender).to.eq('Female');
expect(data.status).to.eq('Active');
});
});
});
});
describe('PUT', () => {
it('/users/:id', () => {
const data = {
status: 'Active',
name: `Luffy - ${Math.floor(Math.random() * 9999)}`,
};
return request
.put(`users/${userId}`)
.set('Authorization', `Bearer ${TOKEN}`)
.send(data)
.then((res) => {
expect(res.body.data).to.deep.include(data);
});
});
});
describe('DELETE', () => {
it('/users/:id', () => {
return request
.delete(`users/${userId}`)
.set('Authorization', `Bearer ${TOKEN}`)
.then((res) => {
expect(res.body.data).to.be.eq(null);
});
});
});
});