cloudcmd/common/callbackify.spec.js
2021-09-30 17:22:59 +03:00

32 lines
730 B
JavaScript

'use strict';
const tryToCatch = require('try-to-catch');
const {
test,
stub,
} = require('supertape');
const callbackify = require('./callbackify');
const {promisify} = require('util');
test('cloudcmd: common: callbackify: error', async (t) => {
const promise = stub().rejects(Error('hello'));
const fn = callbackify(promise);
const [error] = await tryToCatch(promisify(fn));
t.equal(error.message, 'hello');
t.end();
});
test('cloudcmd: common: callbackify', async (t) => {
const promise = stub().resolves('hi');
const fn = callbackify(promise);
const promiseAgain = promisify(fn);
const data = await promiseAgain();
t.equal(data, 'hi');
t.end();
});