UNPKG

@storybook/angular

Version:

Storybook for Angular: Develop Angular components in isolation with hot reloading.

63 lines (62 loc) 2.97 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); require("jest-specific-snapshot"); const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); const tmp_1 = __importDefault(require("tmp")); const cross_spawn_1 = require("cross-spawn"); // @ts-expect-error (Converted from ts-ignore) const { SNAPSHOT_OS } = global; // File hierarchy: __testfixtures__ / some-test-case / input.* const inputRegExp = /^input\..*$/; const runCompodoc = (inputPath) => { const testDir = path_1.default.dirname(inputPath); const { name: tmpDir, removeCallback } = tmp_1.default.dirSync(); // FIXME: for now, this requires a tsconfig.json for each test case. Tried generating // one dynamically in tmpDir, but compodoc doesn't handle absolute paths properly // (and screwed around with relative paths as well, but couldn't get it working) (0, cross_spawn_1.sync)('yarn', ['compodoc', '-p', `${testDir}/tsconfig.json`, '-e', 'json', '-d', tmpDir], { stdio: 'inherit', shell: true, }); const output = fs_1.default.readFileSync(`${tmpDir}/documentation.json`, 'utf8'); try { removeCallback(); } catch (e) { // } return output; }; describe('angular component properties', () => { const fixturesDir = path_1.default.join(__dirname, '__testfixtures__'); fs_1.default.readdirSync(fixturesDir, { withFileTypes: true }).forEach((testEntry) => { if (testEntry.isDirectory()) { const testDir = path_1.default.join(fixturesDir, testEntry.name); const testFile = fs_1.default.readdirSync(testDir).find((fileName) => inputRegExp.test(fileName)); if (testFile) { // TODO: Remove this as soon as the real test is fixed it('true', () => { expect(true).toEqual(true); }); // TODO: Fix this test // it(`${testEntry.name}`, () => { // const inputPath = path.join(testDir, testFile); // // snapshot the output of compodoc // const compodocOutput = runCompodoc(inputPath); // const compodocJson = JSON.parse(compodocOutput); // expect(compodocJson).toMatchSpecificSnapshot( // path.join(testDir, `compodoc-${SNAPSHOT_OS}.snapshot`) // ); // // snapshot the output of addon-docs angular-properties // const componentData = findComponentByName('InputComponent', compodocJson); // const argTypes = extractArgTypesFromData(componentData); // expect(argTypes).toMatchSpecificSnapshot(path.join(testDir, 'argtypes.snapshot')); // }); } } }); });