1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- const path = require('path')
- const process = require('process')
- const fixtureDir = path.resolve(__dirname, '../fixtures')
- module.exports.fixtureDir = fixtureDir
- import * as appPaths from '../../../src/helpers/app-paths'
- module.exports.initJest = (fixture) => {
- jest.setTimeout(240000)
- 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
- }
- })
- appPaths.appDir = path.join(fixtureDir, fixture)
- appPaths.tauriDir = path.join(appPaths.appDir, 'src-tauri')
- jest.spyOn(appPaths.resolve, 'app').mockImplementation(dir => path.join(appPaths.appDir, dir))
- jest.spyOn(appPaths.resolve, 'tauri').mockImplementation(dir => path.join(appPaths.tauriDir, dir))
- 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
- }
|