10000 fix · JavaScriptExpert/json-server@13d8f97 · GitHub
[go: up one dir, main page]

Skip to content

Commit 13d8f97

Browse files
committed
fix
1 parent 4021d74 commit 13d8f97

File tree

8 files changed

+110
-49
lines changed

8 files changed

+110
-49
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
"test:cli": "npm run build && cross-env NODE_ENV=test mocha test/cli/*.js",
6363
"test:server": "cross-env NODE_ENV=test mocha test/server/*.js",
6464
"start": "babel-node src/cli/bin",
65-
"format": "eslint . --fix",
65+
"fix": "eslint . --fix",
6666
"build": "babel src -d lib --copy-files",
6767
"toc": "markdown-toc -i README.md",
6868
"prepublishOnly": "npm run build && pkg-ok",
@@ -97,4 +97,4 @@
9797
"engines": {
9898
"node": ">=4"
9999
}
100-
}
100+
}

src/server/mixins.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,12 @@ function deepQuery(value, q) {
6767
return true
6868
}
6969
}
70-
} else if (value.toString().toLowerCase().indexOf(q) !== -1) {
70+
} else if (
71+
value
72+
.toString()
73+
.toLowerCase()
74+
.indexOf(q) !== -1
75+
) {
7176
return true
7277
}
7378
}

src/server/router/plural.js

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,10 @@ module.exports = (db, name, opts) => {
228228
function show(req, res, next) {
229229
const _embed = req.query._embed
230230
const _expand = req.query._expand
231-
const resource = db.get(name).getById(req.params.id).value()
231+
const resource = db
232+
.get(name)
233+
.getById(req.params.id)
234+
.value()
232235

233236
if (resource) {
234237
// Clone resource to avoid making changes to the underlying object
@@ -250,7 +253,10 @@ module.exports = (db, name, opts) => {
250253

251254
// POST /name
252255
function create(req, res, next) {
253-
const resource = db.get(name).insert(req.body).value()
256+
const resource = db
257+
.get(name)
258+
.insert(req.body)
259+
.value()
254260

255261
res.setHeader('Access-Control-Expose-Headers', 'Location')
256262
res.location(`${getFullURL(req)}/${resource.id}`)
@@ -283,14 +289,20 @@ module.exports = (db, name, opts) => {
283289

284290
// DELETE /name/:id
285291
function destroy(req, res, next) {
286-
const resource = db.get(name).removeById(req.params.id).value()
292+
const resource = db
293+
.get(name)
294+
.removeById(req.params.id)
295+
.value()
287296

288297
// Remove dependents documents
289298
console.log({ opts })
290299
const removable = db._.getRemovable(db.getState(), opts)
291300
console.log(removable)
292301
removable.forEach(item => {
293-
db.get(item.name).removeById(item.id).value()
302+
db
303+
.get(item.name)
304+
.removeById(item.id)
305+
.value()
294306
})
295307

296308
if (resource) {
@@ -302,7 +314,10 @@ module.exports = (db, name, opts) => {
302314

303315
const w = write(db)
304316

305-
router.route('/').get(list).post(create, w)
317+
router
318+
.route('/')
319+
.get(list)
320+
.post(create, w)
306321

307322
router
308323
.route('/:id')

src/server/router/singular.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ module.exports = (db, name) => {
2525
if (req.method === 'PUT') {
2626
db.set(name, req.body).value()
2727
} else {
28-
db.get(name).assign(req.body).value()
28+
db
29+
.get(name)
30+
.assign(req.body)
31+
.value()
2932
}
3033

3134
res.locals.data = db.get(name).value()
@@ -34,7 +37,12 @@ module.exports = (db, name) => {
3437

3538
const w = write(db)
3639

37-
router.route('/').get(show).post(create, w).put(update, w).patch(update, w)
40+
router
41+
.route('/')
42+
.get(show)
43+
.post(create, w)
44+
.put(update, w)
45+
.patch(update, w)
3846

3947
return router
4048
}

test/cli/index.js

Lines changed: 29 additions & 27 deletions
10000
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ const osTmpdir = require('os-tmpdir')
77
const tempWrite = require('temp-write')
88
const mkdirp = require('mkdirp')
99
const rimraf = require('rimraf')
10-
const express = require('express')
1110
const serverReady = require('server-ready')
1211

1312
let PORT = 3100
@@ -76,13 +75,16 @@ describe('cli', () => {
7675
})
7776

7877
it('should update JSON file', done => {
79-
request.post('/posts').send({ title: 'hello' }).end(() => {
80-
setTimeout(() => {
81-
const str = fs.readFileSync(dbFile, 'utf8')
82-
assert(str.indexOf('hello') !== -1)
83-
done()
84-
}, 1000)
85-
})
78+
request
79+
.post('/posts')
80+
.send({ title: 'hello' })
81+
.end(() => {
82+
setTimeout(() => {
83+
const str = fs.readFileSync(dbFile, 'utf8')
84+
assert(str.indexOf('hello') !== -1)
85+
done()
86+
}, 1000)
87+
})
8688
})
8789
})
8890

@@ -97,16 +99,10 @@ describe('cli', () => {
9799
})
98100
})
99101

100-
describe('http://localhost:8080/db', () => {
102+
describe('remote db', () => {
101103
beforeEach(done => {
102-
const fakeServer = express()
103-
fakeServer.get('/db', (req, res) => {
104-
res.jsonp({ posts: [] })
105-
})
106-
fakeServer.listen(8080, () => {
107-
child = cli(['http://localhost:8080/db'])
108-
serverReady(PORT, done)
109-
})
104+
child = cli(['https://jsonplaceholder.typicode.com/db'])
105+
serverReady(PORT, done)
110106
})
111107

112108
it('should support URL file', done => {
@@ -170,7 +166,10 @@ describe('cli', () => {
170166
})
171167

172168
it('should have post body in middleware', done => {
173-
request.post('/posts').send({ name: 'test' }).expect('name', 'test', done)
169+
request
170+
.post('/posts')
171+
.send({ name: 'test' })
172+
.expect('name', 'test', done)
174173
})
175174
})
176175

@@ -246,15 +245,18 @@ describe('cli', () => {
246245
})
247246

248247
it('should not set Content-Encoding to gzip', done => {
249-
request.get('/posts').expect(200).end(function(err, res) {
250-
if (err) {
251-
done(err)
252-
} else if ('content-encoding' in res.headers) {
253-
done(new Error('Content-Encoding is set to gzip'))
254-
} else {
255-
done()
256-
}
257-
})
248+
request
249+
.get('/posts')
250+
.expect(200)
251+
.end(function(err, res) {
252+
if (err) {
253+
done(err)
254+
} else if ('content-encoding' in res.headers) {
255+
done(new Error('Content-Encoding is set to gzip'))
256+
} else {
257+
done()
258+
}
259+
})
258260
})
259261
})
260262

test/server/plural-with-custom-foreign-key.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,10 @@ describe('Server with custom foreign key', () => {
106106

107107
describe('DELETE /:resource/:id', () => {
108108
it('should respond with empty data, destroy resource and dependent resources', async () => {
109-
await request(server).del('/posts/1').expect({}).expect(200)
109+
await request(server)
110+
.del('/posts/1')
111+
.expect({})
112+
.expect(200)
110113
assert.equal(db.posts.length, 1)
111114
assert.equal(db.comments.length, 1)
112115
})

test/server/plural.js

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,9 @@ describe('Server', () => {
111111
.expect(200))
112112

113113
it('should respond with 404 if resource is not found', () =>
114-
request(server).get('/undefined').expect(404))
114+
request(server)
115+
.get('/undefined')
116+
.expect(404))
115117
})
116118

117119
describe('GET /:resource?attr=&attr=', () => {
@@ -590,7 +592,10 @@ describe('Server', () => {
590592

591593
describe('DELETE /:resource/:id', () => {
592594
it('should respond with empty data, destroy resource and dependent resources', async () => {
593-
await request(server).del('/posts/1').expect({}).expect(200)
595+
await request(server)
596+
.del('/posts/1')
597+
.expect({})
598+
.expect(200)
594599
assert.equal(db.posts.length, 1)
595600
assert.equal(db.comments.length, 3)
596601
})
@@ -646,25 +651,37 @@ describe('Server', () => {
646651

647652
describe('Rewriter', () => {
648653
it('should rewrite using prefix', () =>
649-
request(server).get('/api/posts/1').expect(db.posts[0]))
654+
request(server)
655+
.get('/api/posts/1')
656+
.expect(db.posts[0]))
650657

651658
it('should rewrite using params', () =>
652-
request(server).get('/blog/posts/1/show').expect(db.posts[0]))
659+
request(server)
660+
.get('/blog/posts/1/show')
661+
.expect(db.posts[0]))
653662

654663
it('should rewrite using query without params', () => {
655664
const expectedPost = _.cloneDeep(db.posts[0])
656665
expectedPost.comments = [db.comments[0], db.comments[1]]
657-
return request(server).get('/firstpostwithcomments').expect(expectedPost)
666+
return request(server)
667+
.get('/firstpostwithcomments')
668+
.expect(expectedPost)
658669
})
659670

660671
it('should rewrite using params and query', () =>
661-
request(server).get('/comments/special/1-quux').expect([db.comments[4]]))
672+
request(server)
673+
.get('/comments/special/1-quux')
674+
.expect([db.comments[4]]))
662675

663676
it('should rewrite query params', () =>
664-
request(server).get('/articles?_id=1').expect(db.posts[0]))
677+
request(server)
678+
.get('/articles?_id=1')
679+
.expect(db.posts[0]))
665680

666681
it('should expose routes', () =>
667-
request(server).get('/__rules').expect(rewriterRules))
682+
request(server)
683+
.get('/__rules')
684+
.expect(rewriterRules))
668685
})
669686

670687
describe('router.render', () => {

test/server/singular.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,31 @@ describe('Server', () => {
2222

2323
describe('GET /:resource', () => {
2424
it('should respond with corresponding resource', () =>
25-
request(server).get('/user').expect(db.user).expect(200))
25+
request(server)
26+
.get('/user')
27+
.expect(db.user)
28+
.expect(200))
2629
})
2730

2831
describe('POST /:resource', () => {
2932
it('should create resource', () => {
3033
const user = { name: 'bar' }
31-
return request(server).post('/user').send(user).expect(user).expect(201)
34+
return request(server)
35+
.post('/user')
36+
.send(user)
37+
.expect(user)
38+
.expect(201)
3239
})
3340
})
3441

3542
describe('PUT /:resource', () => {
3643
it('should update resource', () => {
3744
const user = { name: 'bar' }
38-
return request(server).put('/user').send(user).expect(user).expect(200)
45+
return request(server)
46+
.put('/user')
47+
.send(user)
48+
.expect(user)
49+
.expect(200)
3950
})
4051
})
4152

0 commit comments

Comments
 (0)
0