2021-12-20 16:52:48 +08:00

49 lines
1.3 KiB
TypeScript

import CodeGen from '../../../../src';
import { ResultDir } from '@ali/lowcode-types';
describe('public/publisher/disk/disk', () => {
it('should works', async () => {
const disk = CodeGen.publishers.disk({
outputPath: 'demo-output',
projectSlug: 'example-project',
});
const demoProject: ResultDir = {
name: 'demo',
dirs: [],
files: [
{
name: 'package',
ext: 'json',
content: '{ "name": "demo", "version": "1.0.0" }',
},
],
};
expect(disk.getOutputPath()).toMatchInlineSnapshot(`"demo-output"`);
disk.setProject(demoProject);
expect(disk.getProject()).toBeTruthy();
expect(disk.getOutputPath()).toMatchInlineSnapshot(`"demo-output"`);
expect(disk.setOutputPath('output')).toBe(undefined);
expect(disk.getOutputPath()).toMatchInlineSnapshot(`"output"`);
const publishRes = await disk.publish({
project: demoProject,
});
expect(publishRes.success).toBeTruthy();
expect(publishRes.payload).toBeTruthy();
});
it('should throws Error when project is missing', async () => {
const disk = CodeGen.publishers.disk({});
expect(disk.publish()).rejects.toBeTruthy();
expect(() => {
return disk.getProject();
}).toThrowError(/MissingProject/);
});
});