How to write test for readline in nodejs?

Viewed 151

I am writing test for a function that uses readline to take input. Here is an example:

index.js

const readline = require('readline');

async function input() {
  const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
  });
  const inputNum = await new Promise((resolve) => {
    rl.question('Enter party serial number: ', resolve);
  });
  rl.close();

  return inputNum;
}

module.exports = input;

input-test.js

const chai = require('chai');
chai.should();
const input = require('../index.js');

it('test for inputNum', async function () {
  const res = await input();
  res.should.be.equal('1');
});

Replit link for this example. How do I automate the input step during running the tests?

0 Answers
Related