@unito/integration-cli
Version:
Integration CLI
38 lines (37 loc) • 2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const strict_1 = tslib_1.__importDefault(require("node:assert/strict"));
const path = tslib_1.__importStar(require("path"));
const tmp_1 = tslib_1.__importDefault(require("tmp"));
const fs_1 = tslib_1.__importDefault(require("fs"));
const Integration = tslib_1.__importStar(require("../../src/resources/integrations"));
const errors_1 = require("../../src/errors");
describe('integrations', () => {
let tempDir;
const boilerplatePath = path.join(__dirname, '../../boilerplate');
describe('copyBoilerplate', () => {
beforeEach(() => {
tempDir = tmp_1.default.dirSync().name;
});
it('copy files', async () => {
const result = await Integration.copyBoilerplate('foo', tempDir);
strict_1.default.equal(result, path.join(tempDir, 'foo'));
(0, strict_1.default)(fs_1.default.existsSync(result));
const expectedFiles = await fs_1.default.promises.readdir(boilerplatePath);
expectedFiles.push('.npmrc');
const createdFiles = await fs_1.default.promises.readdir(result);
strict_1.default.deepEqual(createdFiles, expectedFiles.sort());
createdFiles.forEach(createdField => (0, strict_1.default)(expectedFiles.includes(createdField)));
});
it('already exists', async () => {
strict_1.default.doesNotThrow(async () => await Integration.copyBoilerplate('foo', tempDir));
strict_1.default.rejects(Integration.copyBoilerplate('foo', tempDir), errors_1.IntegrationAlreadyExistsError);
});
it('generates an .npmrc file', async () => {
const result = await Integration.copyBoilerplate('foo', tempDir);
const npmrc = await fs_1.default.promises.readFile(`${result}/.npmrc`, 'utf-8');
(0, strict_1.default)(npmrc.includes('engine-strict=true'));
});
});
});