visreg-test
Version:
A visual regression testing solution that offers an easy setup with simple yet powerful customisation options, wrapped up in a convenient CLI runner to make assessing and accepting/rejecting diffs a breeze.
58 lines (57 loc) • 2.59 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const visreg_1 = require("../../../visreg");
const ws_1 = require("ws");
// import { getServer } from 'src/server';
const express = require('express');
const router = express.Router();
const wss = new ws_1.WebSocketServer({ port: 8080 });
// const wss = new WebSocketServer({ server: getServer() });
let ws;
let terminate = false;
wss.on('connection', (websocket) => {
ws = websocket;
ws.onmessage = (message) => {
const data = JSON.parse(message.data);
if (data.type === 'command' && data.name === 'terminate') {
terminate = true;
}
if (data.type === 'command' && data.name === 'start-test') {
terminate = false;
const progChoices = {
suite: data.payload.suiteSlug,
testType: data.payload.testType,
targetEndpointTitles: data.payload.targetEndpointTitles,
targetViewports: data.payload.targetViewports,
};
(0, visreg_1.startWebTest)(ws, progChoices);
}
if (data.type === 'command' && data.name === 'start-queue') {
terminate = false;
const suites = data.payload.suites;
const testType = data.payload.testType;
const progChoices = {
testType: data.payload.testType,
targetEndpointTitles: data.payload.targetEndpointTitles,
targetViewports: data.payload.targetViewports,
};
(0, visreg_1.startWebSuiteQueue)(ws, suites, testType, progChoices);
}
};
});
router.get('/terminate-json', (req, res) => __awaiter(void 0, void 0, void 0, function* () {
res.send({ terminate });
}));
router.get('/start-ws', (req, res) => __awaiter(void 0, void 0, void 0, function* () {
res.send('ok');
}));
exports.default = router;