2020-03-07 19:40:24 +03:00
|
|
|
const path = require('path')
|
|
|
|
const process = require('process')
|
|
|
|
|
2020-03-10 03:27:54 +03:00
|
|
|
const mockFixtureDir = path.resolve(__dirname, '../fixtures')
|
2020-03-07 19:40:24 +03:00
|
|
|
|
2020-03-10 03:27:54 +03:00
|
|
|
module.exports.fixtureDir = mockFixtureDir
|
2020-03-07 19:40:24 +03:00
|
|
|
|
2020-03-10 03:27:54 +03:00
|
|
|
module.exports.initJest = (mockFixture) => {
|
2020-03-12 19:42:38 +03:00
|
|
|
jest.setTimeout(720000)
|
2020-03-07 19:40:24 +03:00
|
|
|
jest.mock('helpers/non-webpack-require', () => {
|
|
|
|
return path => {
|
|
|
|
const value = require('fs').readFileSync(path).toString()
|
|
|
|
if (path.endsWith('.json')) {
|
|
|
|
return JSON.parse(value)
|
|
|
|
}
|
|
|
|
return value
|
|
|
|
}
|
|
|
|
})
|
2020-03-10 03:27:54 +03:00
|
|
|
|
|
|
|
jest.mock('helpers/app-paths', () => {
|
|
|
|
const path = require('path')
|
|
|
|
const appDir = path.join(mockFixtureDir, mockFixture)
|
|
|
|
const tauriDir = path.join(appDir, 'src-tauri')
|
|
|
|
return {
|
|
|
|
appDir,
|
|
|
|
tauriDir,
|
|
|
|
resolve: {
|
|
|
|
app: dir => path.join(appDir, dir),
|
|
|
|
tauri: dir => path.join(tauriDir, dir)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2020-03-07 19:40:24 +03:00
|
|
|
jest.spyOn(process, 'exit').mockImplementation(() => {})
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports.startServer = (onReply) => {
|
|
|
|
const http = require('http')
|
|
|
|
const app = http.createServer((req, res) => {
|
|
|
|
// Set CORS headers
|
|
|
|
res.setHeader('Access-Control-Allow-Origin', '*')
|
|
|
|
res.setHeader('Access-Control-Request-Method', '*')
|
|
|
|
res.setHeader('Access-Control-Allow-Methods', 'OPTIONS, GET')
|
|
|
|
res.setHeader('Access-Control-Allow-Headers', '*')
|
|
|
|
|
|
|
|
if (req.method === 'OPTIONS') {
|
|
|
|
res.writeHead(200)
|
|
|
|
res.end()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
if (req.method === 'POST') {
|
|
|
|
if (req.url === '/reply') {
|
|
|
|
let body = ''
|
|
|
|
req.on('data', chunk => {
|
|
|
|
body += chunk.toString()
|
|
|
|
})
|
|
|
|
req.on('end', () => {
|
|
|
|
expect(JSON.parse(body)).toStrictEqual({
|
|
|
|
msg: 'TEST'
|
|
|
|
})
|
|
|
|
server.close(onReply)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const port = 7000
|
|
|
|
const server = app.listen(port)
|
|
|
|
return server
|
|
|
|
}
|