@unito/integration-cli
Version:
Integration CLI
33 lines (32 loc) • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const strict_1 = tslib_1.__importDefault(require("node:assert/strict"));
const fs_1 = tslib_1.__importDefault(require("fs"));
const sinon = tslib_1.__importStar(require("sinon"));
const GlobalConfiguration = tslib_1.__importStar(require("../../src/resources/globalConfiguration"));
describe('globalConfiguration', () => {
afterEach(() => {
sinon.restore();
});
it('reads', async function () {
const configuration = GlobalConfiguration.getDefault();
configuration.apiKey = 'foo';
sinon.stub(fs_1.default.promises, 'mkdir').resolves('');
sinon.stub(fs_1.default.promises, 'readFile').resolves(JSON.stringify(configuration));
strict_1.default.deepEqual(await GlobalConfiguration.read('bar'), configuration);
});
it('reads - error', async function () {
sinon.stub(fs_1.default.promises, 'mkdir').resolves('');
sinon.stub(fs_1.default.promises, 'readFile').throws();
strict_1.default.deepEqual(await GlobalConfiguration.read('bar'), GlobalConfiguration.getDefault());
});
it('writes', async function () {
const configuration = GlobalConfiguration.getDefault();
configuration.apiKey = 'foo';
sinon.stub(fs_1.default.promises, 'mkdir').resolves('');
const stubbedWrite = sinon.stub(fs_1.default.promises, 'writeFile');
await GlobalConfiguration.write('bar', configuration);
sinon.assert.calledWith(stubbedWrite, sinon.match.string, JSON.stringify(configuration, null, 2), sinon.match.any);
});
});