// Imports import { Worker } from "rabbiteer"; import evt from "../../sockets/events.js"; // Class export default class TestResultsWorker extends Worker { constructor(skio) { super("TestResults"); this.skio = skio; } /* Example Test Result { testName: “SomeTest”, testClass: “SomeClass”, testMethod: “SomeMethod”, testType: “API/UI”, testTimestamp: 123893024, origin: “TestSuite”, failed: true, failedMessage: “Some Failure”, screenshotUrl: “https://screenshot”, expectedScreenshotUrl: “https://expected” consoleLogUrl: “https://consolelog” } */ onMessage(testResult) { const { pipelineData, pipelineTriggers, pipelineDelay } = testResult; const pipelineTrigger = { pipelineData, pipelineTriggers, pipelineDelay }; // Alter to start next test // TODO the delay should be autopopulated either by the suite, or filled in by the server if (pipelineTriggers) return this.pipelineTrigger( pipelineTrigger, testResult.pipelineDashboardSocket ); this.pipelineClose(testResult.pipelineDashboardSocket); } pipelineTrigger(pipelineTrigger, socketId) { pipelineTrigger.pipelineDelay = 1000 * 5; this.skio.to(socketId).emit(evt.PPL_TRG, pipelineTrigger); } pipelineClose(socketId) { this.skio.to(socketId).emit(evt.PPL_CLS); } }