2023-10-05 06:25:17 -07:00
|
|
|
import { Container } from 'typedi';
|
|
|
|
import { mock } from 'jest-mock-extended';
|
|
|
|
import { Duplex } from 'stream';
|
|
|
|
|
|
|
|
import type { DeepPartial } from 'ts-essentials';
|
2023-12-27 02:50:43 -08:00
|
|
|
import type { Class } from '@/Interfaces';
|
2023-10-05 06:25:17 -07:00
|
|
|
|
|
|
|
export const mockInstance = <T>(
|
2023-12-27 02:50:43 -08:00
|
|
|
constructor: Class<T>,
|
2023-10-05 06:25:17 -07:00
|
|
|
data: DeepPartial<T> | undefined = undefined,
|
|
|
|
) => {
|
|
|
|
const instance = mock<T>(data);
|
|
|
|
Container.set(constructor, instance);
|
|
|
|
return instance;
|
|
|
|
};
|
|
|
|
|
|
|
|
export function toStream(buffer: Buffer) {
|
|
|
|
const duplexStream = new Duplex();
|
|
|
|
duplexStream.push(buffer);
|
|
|
|
duplexStream.push(null);
|
|
|
|
|
|
|
|
return duplexStream;
|
|
|
|
}
|
2023-10-10 01:06:06 -07:00
|
|
|
|
|
|
|
export const toFileId = (workflowId: string, executionId: string, fileUuid: string) =>
|
|
|
|
`workflows/${workflowId}/executions/${executionId}/binary_data/${fileUuid}`;
|