-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathapp.test.js
More file actions
78 lines (61 loc) · 2.13 KB
/
app.test.js
File metadata and controls
78 lines (61 loc) · 2.13 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
const request = require('supertest');
const app = require('./app').app;
const build = require('./app').itemBuilder;
// unit testing the item builder
describe('Unit Tests', () => {
test('item object builder', () => {
expect(build('my first item', 'a test item', 4, 1))
.toMatchObject(
{
name : 'my first item',
description : 'a test item',
price : 4,
_id : 1
}
);
});
});
describe('CREATE request', () => {
test('CREATE item test, expect 201', async () => {
const res = await request(app)
.post('/create')
.send({
name : "test item",
description : "test description",
price : 99
});
expect(res.statusCode).toBe(201);
});
});
describe('READ requests', () => {
test('GET /read endpoint, expect 200', async () => {
const res = await request(app).get('/read')
expect(res.statusCode).toBe(200);
});
test('GET /bad endpoint, expect 404', async () => {
const res = await request(app).get('/bad')
expect(res.statusCode).toBe(404);
});
test('GET /read/1 endpoint, expect 200', async () => {
const res = await request(app).get('/read/1')
expect(res.statusCode).toBe(200);
});
});
describe('UPDATE request', () => {
test('UPDATE item test, expect 200', async () => {
const res = await request(app)
.put('/update/1')
.send({
name : "updated item",
description : "updated description",
price : 0
});
expect(res.statusCode).toBe(200);
});
});
describe('DELETE requests', () => {
test('DELETE /delete/1 endpoint, expect 200', async () => {
const res = await request(app).delete('/delete/1')
expect(res.statusCode).toBe(200);
});
});