|
1 | 1 | const request = require('request-promise') |
| 2 | +const dateFns = require('date-fns') |
2 | 3 | const { listen, mockDb } = require('./utils') |
3 | 4 |
|
4 | 5 | jest.mock('flat-file-db', () => mockDb) |
@@ -90,5 +91,30 @@ describe('all', () => { |
90 | 91 | expect(body.data['/rover2'].views).toBeDefined() |
91 | 92 | expect(body.data['/rover2'].views.length).toBe(1) |
92 | 93 | }) |
| 94 | + |
| 95 | + it('should filter based on before after', async () => { |
| 96 | + const baseDate = new Date(2017, 1, 1, 10, 0) |
| 97 | + const after = dateFns.addMinutes(baseDate, 11).toISOString() |
| 98 | + const before = dateFns.addMinutes(baseDate, 41).toISOString() |
| 99 | + |
| 100 | + const d = dateFns.addMinutes(baseDate, 20) |
| 101 | + |
| 102 | + mockDb._put('/rover', [ |
| 103 | + { time: baseDate.getTime() }, |
| 104 | + { time: dateFns.addMinutes(baseDate, 10).getTime() }, |
| 105 | + { time: dateFns.addMinutes(baseDate, 20).getTime() }, |
| 106 | + { time: dateFns.addMinutes(baseDate, 30).getTime() }, |
| 107 | + { time: dateFns.addMinutes(baseDate, 40).getTime() }, |
| 108 | + { time: dateFns.addMinutes(baseDate, 50).getTime() }, |
| 109 | + ]) |
| 110 | + |
| 111 | + const mapToIsoString = view => new Date(view.time).toISOString() |
| 112 | + const body = JSON.parse(await request(`${url}/rover?all=true&before=${before}&after=${after}`)) |
| 113 | + expect(body.data['/rover'].map(mapToIsoString)).toEqual([ |
| 114 | + '2017-02-01T09:20:00.000Z', |
| 115 | + '2017-02-01T09:30:00.000Z', |
| 116 | + '2017-02-01T09:40:00.000Z' |
| 117 | + ]) |
| 118 | + }) |
93 | 119 | }) |
94 | 120 | }) |
0 commit comments