UNPKG

quoad

Version:

Serenity/JS: Next generation acceptance testing library for modern web applications.

26 lines (20 loc) 671 B
import { DomainEvent } from '@serenity-js/core/lib/events'; import { Stage, StageCrewMember } from '@serenity-js/core/lib/stage'; import { JSONObject } from 'tiny-types'; import { DTO } from './DTO'; export class ChildProcessReporter implements StageCrewMember { private stage?: Stage; assignedTo(stage: Stage): StageCrewMember { this.stage = stage; return this; } notifyOf(event: DomainEvent): void { process.send(this.serialised(event)); } private serialised(event: DomainEvent): DTO { return ({ type: event.constructor.name, value: event.toJSON() as JSONObject, }); } }