-
Notifications
You must be signed in to change notification settings - Fork 37
/
tasks.js
56 lines (55 loc) · 1.36 KB
/
tasks.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const mockServer = require('mockttp').getLocal()
let momentNow
module.exports = {
// dates
stubDate (datetime) {
const moment = require('moment')
momentNow = moment.now
moment.now = function () {
return +new Date(datetime)
}
return null
},
resetDate () {
const moment = require('moment')
moment.now = momentNow
return null
},
// mockserver
async startMockServer () {
const port = 3001
try {
if (mockServer.url) {
await mockServer.stop()
await mockServer.start(port)
mockServer.enableDebug()
return mockServer.url
}
} catch (error) {
console.log(error)
await mockServer.start(port)
mockServer.enableDebug()
return mockServer.url
}
},
async setMockRoute ({ route, status, response }) {
const endpointMock = await mockServer
.get(route)
.thenJson(status, response)
return endpointMock
},
async setMockRouteWithQuery ({ route, status, response, query }) {
const endpointMock = await mockServer
.get(route)
.withExactQuery(query)
.thenJson(status, response)
return endpointMock
},
async setMockPostRouteWithQuery ({ route, status, response, query }) {
const endpointMock = await mockServer
.post(route)
.withExactQuery(query)
.thenJson(status, response)
return endpointMock
}
}