I have a method as follows -
// A.ts
export abstract class A{
protected abstract method();
}
//B.ts
export class B extends A{
private _httpServer?: http.Server;
private _wsServer?: WebSocketServer;
constructor(){ super(); }
protected async method(){
init();
//some more method calls
}
private async init(){
this._httpServer = http.createServer(async (request, response) => {
if(something){
response.writeHead(statusCode, { 'Content-Type': 'text/plain' });
response.end();
}
else{
response.end("success")
}
})
this._httpServer.on('error', error => console.log(error));
this._httpServer.listen(8080);
this._wsServer = new WebSocketServer({ noServer: true, path: '/ws' });
}
}
I want to write tests for init() method. For that I want dummy request to sent so that I can enter inside createServer method and spy on inside codes to increase coverage. How can I do that?