Skip to content

Commit 9a69e37

Browse files
committed
Fix broken filtering
1 parent cfd6d63 commit 9a69e37

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

src/flat-file-adapter.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@ module.exports = {
99

1010
has: (key) => Promise.resolve(db.has(key)),
1111
get: (key, options) => {
12-
const value = db.get(key)
12+
const value = db.get(key) || { views: [] }
1313

14-
return value.filter(view => {
15-
if (options && options.before && dateFns.isAfter(view.time, options.before)) return false
16-
if (options && options.after && dateFns.isBefore(view.time, options.after)) return false
17-
return true
18-
})
14+
return {
15+
views: value.views.filter(view => {
16+
if (options && options.before && dateFns.isAfter(view.time, options.before)) return false
17+
if (options && options.after && dateFns.isBefore(view.time, options.after)) return false
18+
return true
19+
})
20+
}
1921
},
2022
keys: () => Promise.resolve(db.keys()),
2123

tests/items.test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,18 +99,18 @@ describe('all', () => {
9999

100100
const d = dateFns.addMinutes(baseDate, 20)
101101

102-
mockDb._put('/rover', [
102+
mockDb._put('/rover', { views: [
103103
{ time: baseDate.getTime() },
104104
{ time: dateFns.addMinutes(baseDate, 10).getTime() },
105105
{ time: dateFns.addMinutes(baseDate, 20).getTime() },
106106
{ time: dateFns.addMinutes(baseDate, 30).getTime() },
107107
{ time: dateFns.addMinutes(baseDate, 40).getTime() },
108108
{ time: dateFns.addMinutes(baseDate, 50).getTime() },
109-
])
109+
]})
110110

111111
const mapToIsoString = view => new Date(view.time).toISOString()
112112
const body = JSON.parse(await request(`${url}/rover?all=true&before=${before}&after=${after}`))
113-
expect(body.data['/rover'].map(mapToIsoString)).toEqual([
113+
expect(body.data['/rover'].views.map(mapToIsoString)).toEqual([
114114
'2017-02-01T09:20:00.000Z',
115115
'2017-02-01T09:30:00.000Z',
116116
'2017-02-01T09:40:00.000Z'

0 commit comments

Comments
 (0)