/
test.js
111 lines (103 loc) · 3.01 KB
/
test.js
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
const chai = require('chai');
const chaiHttp = require('chai-http');
const server = require('./app');
const should = chai.should();
const Ride = require('./models/ride');
const sampleRide = {
"route": "route",
"description": "description",
"time": "time"
}
chai.use(chaiHttp);
describe('Ride', () => {
after(() => {
Ride.deleteMany({route: 'route'}).exec((err, rides) => {
console.log(rides)
rides.remove();
})
});
// TEST INDEX
it('should index ALL rides on / GET', (done) => {
chai.request(server)
.get('/')
.end((err, res) => {
res.should.have.status(200);
res.should.be.html;
done();
});
});
// TEST NEW
it('should display new form on /rides/new GET', (done) => {
chai.request(server)
.get(`/rides/new`)
.end((err, res) => {
res.should.have.status(200);
res.should.be.html
done();
});
});
// TEST SHOW
it('should show a SINGLE ride on /rides/<id> GET', (done) => {
var ride = new Ride(sampleRide);
ride.save((err, data) => {
chai.request(server)
.get(`/rides/view/${ride._id}`)
.end((err, res) => {
res.should.have.status(200);
res.should.be.html
done();
});
});
});
// TEST EDIT
it('should edit a SINGLE ride on /rides/<id>/edit GET', (done) => {
var ride = new Ride(sampleRide);
ride.save((err, data) => {
chai.request(server)
.get(`/rides/view/${ride._id}/edit`)
.end((err, res) => {
res.should.have.status(200);
res.should.be.html
done();
});
});
});
// TEST CREATE
it('should create a SINGLE ride on /rides POST', (done) => {
chai.request(server)
.post('/rides/view')
.send(sampleRide)
.end((err, res) => {
res.should.have.status(200);
res.should.be.html
done();
});
});
// TEST UPDATE
it('should update a SINGLE ride on /rides/<id> PUT', (done) => {
var ride = new Ride(sampleRide);
ride.save((err, data) => {
chai.request(server)
.put(`/rides/view/${ride._id}?_method=PUT`)
.send({'title': 'Updating the title'})
.end((err, res) => {
res.should.have.status(200);
res.should.be.html
done();
});
});
});
// TEST DELETE
it('should delete a SINGLE ride on /rides/<id> DELETE', (done) => {
var ride = new Ride(sampleRide);
ride.save((err, data) => {
chai.request(server)
.delete(`/rides/view/${ride._id}?_method=DELETE`)
.end((err, res) => {
res.should.have.status(200);
res.should.be.html
done();
});
});
});
});