-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapi.js
More file actions
49 lines (45 loc) · 1.23 KB
/
Copy pathapi.js
File metadata and controls
49 lines (45 loc) · 1.23 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
const chai = require('chai');
const request = require('supertest');
const app = require('../src/config/server/server').default;
const UserModel = require('../src/components/User/model').default;
chai.should();
/**
* API tests
*/
describe('API', () => {
it('get all users', (done) => {
request(app)
.get('/v1/users')
.set('x-access-token', global.token)
.expect((res) => {
res.status.should.equal(200);
res.body.should.be.an('array');
})
.end(done);
});
it('create new user', (done) => {
const newUser = {
email: 'new.user@gmail.com',
name: 'John Doe'
};
request(app)
.post('/v1/users')
.send(newUser)
.set('x-access-token', global.token)
.expect((res) => {
res.status.should.equal(201);
res.body.should.have.property('email');
})
.end(done);
});
});
/**
* clear database after tests
*/
after(async () => {
try {
await UserModel.collection.drop();
} catch (error) {
console.log('Something went wrong after tests, seems your database doesnt cleaned');
}
});