UNPKG

@pega/dx-component-builder-sdk

Version:

Utility for building custom UI components

105 lines (79 loc) 3.66 kB
// import { exec } from 'child_process'; const path = require('path'); const fs = require('fs'); const util = require('node:util'); const exec = util.promisify(require('node:child_process').exec); describe('create list and delete local override', () => { it('initial delete/cleanup', async () => { const script = `npm run deleteAll Local override Y --prefix ../../..`; const { stdout, stderr } = await exec(script); // console.log(stdout); expect(stdout).not.toBeNull(); expect(stderr).not.toBeNull(); }, 50000); it('npm run create Local override', async () => { const fileName = 'auto-complete'; const script = `npm run override Field ${fileName} --prefix ../../..`; const { stdout, stderr } = await exec(script); // console.log(stdout); expect(stdout).not.toBeNull(); expect(stderr).not.toBeNull(); // want message to contain component name expect(stdout).toContain(fileName); // don't want message with already exists expect(stdout).not.toContain('already exists'); // check to see file exists // const fileDir = path.resolve('../../..', `src/components/${newFileName}`); const createOverrideFile = path.resolve('../../..', path.join(`src/app/_components/override-sdk/field/${fileName}`, `${fileName}.component.ts`)); const doesOverrideExist = fs.existsSync(createOverrideFile); expect(doesOverrideExist).toBeTruthy(); // if (doesExist) { // // remove it // fs.rmdirSync(fileDir, { recursive: true }); // } }, 20000); it('npm run list Local override', async () => { const fileName = 'auto-complete'; const script = 'npm run list Local override --prefix ../../..'; const { stdout, stderr } = await exec(script); // console.log(stdout); expect(stdout).not.toBeNull(); expect(stderr).not.toBeNull(); expect(stdout).toContain(`${fileName}`); // done(); }, 20000); it('compare create to default override', async () => { const fileName = 'auto-complete'; const componentDir = path.resolve('../../..', `src/app/_components/override-sdk/field/${fileName}`); const assetDir = path.resolve(`tests/assets/sdk-a/components/create/override-sdk/field/${fileName}`); // get files of directory const componentFiles = fs.readdirSync(componentDir); // get files of assets // const assetFiles = fs.readdirSync(assetDir); // compare componentFiles.forEach(file => { const componentFilePath = path.join(componentDir, file); const assetFilePath = path.join(assetDir, file); const componentFileData = fs.readFileSync(componentFilePath, { encoding: 'utf8' }); const assetFileData = fs.readFileSync(assetFilePath, { encoding: 'utf8' }); expect(componentFileData).toEqual(assetFileData); }); }, 10000); it('npm run delete Local', async () => { const fileName = 'auto-complete'; const script = `npm run delete Local override field/${fileName} Y --prefix ../../..`; const { stdout, stderr } = await exec(script); // console.log(stdout); expect(stdout).not.toBeNull(); expect(stderr).not.toBeNull(); // want message to contain component name expect(stdout).toContain(fileName); // message deleted expect(stdout).toContain('is deleted'); // check to see file exists // const fileDir = path.resolve('../../..', `src/components/${newFileName}`); const createFile = path.resolve('../../..', path.join(`src/app/_components/override-sdk/field/${fileName}`, `${fileName}.component.ts`)); const doesExist = fs.existsSync(createFile); expect(doesExist).not.toBeTruthy(); }, 10000); });