UNPKG

@unito/integration-cli

Version:

Integration CLI

38 lines (37 loc) 2 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 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')); }); }); });