UNPKG

@unito/integration-cli

Version:

Integration CLI

33 lines (32 loc) 1.65 kB
"use strict"; 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); }); });