Skip to content

Commit e3104b8

Browse files
authored
Merge pull request #3 from robertoachar/develop
Adding tests
2 parents 5c6b855 + a1ae8d9 commit e3104b8

File tree

3 files changed

+92
-2
lines changed

3 files changed

+92
-2
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,6 @@ ENV/
8787

8888
# Rope project settings
8989
.ropeproject
90+
91+
# Node.js
92+
node_modules

package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
],
1313
"scripts": {
1414
"start": "python -m python_flask_seed",
15-
"test": "echo \"Error: no test specified\" && exit 1"
15+
"test": "mocha --watch"
1616
},
1717
"repository": {
1818
"type": "git",
@@ -22,7 +22,11 @@
2222
"url": "https://github.com/robertoachar/python-flask-seed/issues"
2323
},
2424
"dependencies": {},
25-
"devDependencies": {},
25+
"devDependencies": {
26+
"mocha": "3.2.0",
27+
"should": "11.2.1",
28+
"supertest": "3.0.0"
29+
},
2630
"private": true,
2731
"license": "MIT"
2832
}

test/test.js

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
'use strict';
2+
3+
var supertest = require('supertest');
4+
var should = require('should');
5+
6+
var server = supertest.agent('http://localhost:5000');
7+
8+
describe('Python Flask Seed Tests', () => {
9+
10+
describe('Route /', () => {
11+
12+
it('should return a message from flask', (done) => {
13+
server
14+
.get('/')
15+
.expect(200)
16+
.end((err, res) => {
17+
if (err) return done(err);
18+
19+
res.body.message.should.equal('Hello from flask!');
20+
done();
21+
});
22+
});
23+
24+
});
25+
26+
describe('Route /welcome', () => {
27+
28+
it('should return "Hello ${name}!" when POST with name', (done) => {
29+
server
30+
.post('/welcome')
31+
.send({ 'name': 'Roberto' })
32+
.expect(200)
33+
.end((err, res) => {
34+
if (err) return done(err);
35+
36+
res.body.message.should.equal('Welcome Roberto!');
37+
done();
38+
});
39+
});
40+
41+
it('should return an error when POST without the name', (done) => {
42+
server
43+
.post('/welcome')
44+
.expect(400)
45+
.end((err, res) => {
46+
if (err) return done(err);
47+
48+
res.body.error.should.equal('name is required');
49+
done();
50+
});
51+
});
52+
53+
});
54+
55+
describe('Route /not_found', () => {
56+
57+
it('should return a 404 when GET', (done) => {
58+
server
59+
.get('/not_found')
60+
.expect(404)
61+
.end((err, res) => {
62+
if (err) return done(err);
63+
64+
res.body.error.should.equal('route not found');
65+
done();
66+
});
67+
});
68+
69+
it('should return a 404 when POST', (done) => {
70+
server
71+
.post('/not_found')
72+
.expect(404)
73+
.end((err, res) => {
74+
if (err) return done(err);
75+
76+
res.body.error.should.equal('route not found');
77+
done();
78+
});
79+
});
80+
81+
});
82+
83+
});

0 commit comments

Comments
 (0)