Skip to content

Commit 2372db4

Browse files
committed
fix: patch request body
1 parent 0d47a9b commit 2372db4

File tree

14 files changed

+214
-13
lines changed

14 files changed

+214
-13
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
*.DS_Store
22
*.log
33
node_modules/
4-
examples/node_modules/
54
lib/

examples/.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
*.yaml
1+
*.yaml
2+
node_modules/

examples/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,6 @@
1-
##
1+
## How to run example
2+
3+
1. In the root folder, run `$ npm run build & npm link outdoc`
4+
2. Go to the **examples** folder, do `$ npm install`
5+
3. Running the script `$ npm run express-mocha`
6+
4. Check the output ***examples/api.yaml*
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
const supertest = require('supertest');
2+
const app = require('./index.js')
3+
const request = supertest(app)
4+
5+
describe('api testing', () => {
6+
test('should able to find all', (done) => {
7+
request
8+
.get('/projects')
9+
.set('x-api-key', 'wayne-test')
10+
.expect(200)
11+
.end(function(err, res) {
12+
if (err) throw err;
13+
done()
14+
});
15+
})
16+
17+
test('should able to find one', (done) => {
18+
request
19+
.get('/projects/uuid-1234')
20+
.expect(200)
21+
.end(function(err, res) {
22+
if (err) throw err;
23+
done()
24+
});
25+
})
26+
27+
test('should able to find one 401', (done) => {
28+
request
29+
.get('/projects/401')
30+
.expect(401)
31+
.end(function(err, res) {
32+
if (err) throw err;
33+
done()
34+
});
35+
})
36+
37+
test('should able to find one 404', (done) => {
38+
request
39+
.get('/projects/404')
40+
.expect(404)
41+
.end(function(err, res) {
42+
if (err) throw err;
43+
done()
44+
});
45+
})
46+
47+
describe('users', () => {
48+
test('should able to find one user', (done) => {
49+
request
50+
.get('/users/user-wayne')
51+
.expect(200)
52+
.end(function(err, res) {
53+
if (err) throw err;
54+
done()
55+
});
56+
})
57+
58+
test('should able to post', (done) => {
59+
request
60+
.post('/users')
61+
.set('content-type', 'application/json')
62+
.send({
63+
name: 'user wayne'
64+
})
65+
.expect(201)
66+
.end(function(err, res) {
67+
if (err) throw err;
68+
done()
69+
});
70+
})
71+
})
72+
})
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
const supertest = require('supertest');
2+
const app = require('./index.js')
3+
const request = supertest(app)
4+
5+
describe('api testing', () => {
6+
test('should able to path', (done) => {
7+
request
8+
.patch('/projects/uuid-1234')
9+
.set('content-type', 'application/json')
10+
.set('Accept', 'application/json')
11+
.send({
12+
project: {
13+
tags: ['2016', '2017']
14+
}
15+
})
16+
.expect(200)
17+
.end(function(err, res) {
18+
if (err) throw err;
19+
done()
20+
});
21+
})
22+
23+
// test('should able to delete', (done) => {
24+
// request
25+
// .delete('/projects/uuid-2')
26+
// .expect(204)
27+
// .end(function(err, res) {
28+
// if (err) throw err;
29+
// done()
30+
// });
31+
// })
32+
})
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const supertest = require('supertest');
2+
const app = require('./index.js')
3+
const request = supertest(app)
4+
5+
describe('api testing', () => {
6+
test('should able to find all', (done) => {
7+
request
8+
.get('/projects')
9+
.set('x-api-key', 'wayne-test')
10+
.expect(200)
11+
.end(function(err, res) {
12+
if (err) throw err;
13+
done()
14+
});
15+
})
16+
})

examples/express_jest/index.js

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
const express = require('express');
2+
const app = express();
3+
const port = 3000;
4+
5+
if (process.env.NODE_ENV === "test") {
6+
const { OutDoc } = require('../../lib/index');
7+
OutDoc.init();
8+
}
9+
10+
app.get('/projects', (req, res) => {
11+
res.json([{
12+
id: '1',
13+
name: 'dapi v1'
14+
}, {
15+
id: '2',
16+
name: 'cominsoon'
17+
}]);
18+
});
19+
20+
app.get('/projects/:id', (req, res) => {
21+
const { id } = req.params;
22+
if (id === "404") {
23+
return res.sendStatus(404);
24+
}
25+
if (id === "401") {
26+
return res.status(401).json({
27+
error: {
28+
code: '123',
29+
message: '401 unauth'
30+
}
31+
});
32+
}
33+
return res.json({
34+
id: '2',
35+
name: 'cominsoon'
36+
});
37+
});
38+
39+
app.patch('/projects/:id', (req, res) => {
40+
res.json([{
41+
id: '23',
42+
name: 'cominsoon'
43+
}]);
44+
});
45+
46+
app.post('/projects', (req, res) => {
47+
res.status(201).json([{
48+
id: '1',
49+
name: 'dapi v1'
50+
}]);
51+
});
52+
53+
app.delete('/projects/:id', (req, res) => {
54+
res.sendStatus(204);
55+
});
56+
57+
app.get('/users/:id', (req, res) => {
58+
const { id } = req.params;
59+
return res.json({
60+
id: '1',
61+
name: 'wayne user'
62+
});
63+
});
64+
65+
app.post('/users', (req, res) => {
66+
res.status(201).json([{
67+
id: '1',
68+
name: 'user v1'
69+
}]);
70+
});
71+
72+
if (process.env.NODE_ENV !== 'test') {
73+
app.listen(port, () => console.log(`Listening on port ${port}`));
74+
}
75+
76+
module.exports = app;

0 commit comments

Comments
 (0)