| 1234567891011121314151617181920212223242526272829303132 |
- let server // static reference to the mock server, so we can close and re-assign on 2nd call
- module.exports = (on, _config) => {
- on('task', {
- mockServer ({ interceptUrl, fixture }) {
- const fs = require('fs')
- const http = require('http')
- const { URL } = require('url')
- if (server) {
- // close any previous instance
- server.close()
- }
- const url = new URL(interceptUrl)
- server = http.createServer((req, res) => {
- if (req.url === url.pathname) {
- const data = fs.readFileSync(`./cypress/fixtures/${fixture}`)
- res.end(data)
- } else {
- res.end()
- }
- })
- server.listen(url.port)
- console.log(`listening at port ${url.port}`)
- return null
- }
- })
- }
|