bump package version to 1.5.0
[squeep-authentication-module] / test / lib / stdio-credential.js
1 'use strict';
2
3 const assert = require('node:assert');
4 const sinon = require('sinon');
5 const stdioCredential = require('../../lib/stdio-credential');
6 const readline = require('node:readline');
7
8 describe('stdioCredential', function () {
9 let answerCb, prompt;
10
11 beforeEach(function () {
12 // eslint-disable-next-line no-unused-vars
13 sinon.stub(readline, 'createInterface').callsFake(({ input, output, terminal }) => {
14 return {
15 close: () => undefined,
16 prompt: () => {
17 output.write(prompt);
18 },
19 question: (_message, cb) => {
20 output.write(prompt);
21 answerCb = cb;
22 },
23 setPrompt: (p) => {
24 prompt = p;
25 },
26 };
27 });
28 });
29
30 afterEach(function () {
31 sinon.restore();
32 });
33
34 it('covers', async function () {
35 const input = 'password';
36 const resultP = stdioCredential('prompt>');
37 answerCb(input);
38 const result = await resultP;
39 assert.strictEqual(result, input);
40 });
41 }); // stdioCredential