mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 01:56:46 +00:00
68 lines
1.9 KiB
TypeScript
68 lines
1.9 KiB
TypeScript
import { encodeBinaryData, processResponseData } from '../GenericFunctions';
|
|
|
|
describe('Mistral OCR Generic Functions', () => {
|
|
describe('encodeBinaryData', () => {
|
|
const binaryBuffer = Buffer.from('testdata');
|
|
const base64 = binaryBuffer.toString('base64');
|
|
|
|
const context = {
|
|
getNodeParameter: jest.fn(),
|
|
helpers: {
|
|
assertBinaryData: jest.fn(),
|
|
getBinaryDataBuffer: jest.fn(),
|
|
},
|
|
} as any;
|
|
|
|
beforeEach(() => {
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
it('should encode binary data to a data URL', async () => {
|
|
context.getNodeParameter.mockReturnValue('binaryProp1');
|
|
context.helpers.assertBinaryData.mockReturnValue({
|
|
mimeType: 'image/png',
|
|
fileName: 'file.png',
|
|
});
|
|
context.helpers.getBinaryDataBuffer.mockResolvedValue(binaryBuffer);
|
|
|
|
const result = await encodeBinaryData.call(context, 0);
|
|
|
|
expect(context.getNodeParameter).toHaveBeenCalledWith('binaryProperty', 0);
|
|
expect(context.helpers.assertBinaryData).toHaveBeenCalledWith(0, 'binaryProp1');
|
|
expect(context.helpers.getBinaryDataBuffer).toHaveBeenCalledWith(0, 'binaryProp1');
|
|
|
|
expect(result).toEqual({
|
|
dataUrl: `data:image/png;base64,${base64}`,
|
|
fileName: 'file.png',
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('processResponseData', () => {
|
|
it('should extract text and page count from pages', () => {
|
|
const input = {
|
|
pages: [
|
|
{ markdown: 'Page 1 markdown', text: 'Page 1 text' },
|
|
{ markdown: 'Page 2 markdown', text: 'Page 2 text' },
|
|
],
|
|
otherProp: 'test',
|
|
};
|
|
|
|
const result = processResponseData(input);
|
|
|
|
expect(result.extractedText).toBe('Page 1 markdown\n\nPage 2 markdown');
|
|
expect(result.pageCount).toBe(2);
|
|
expect(result.otherProp).toBe('test');
|
|
});
|
|
|
|
it('should handle empty pages array', () => {
|
|
const input = { pages: [] };
|
|
|
|
const result = processResponseData(input);
|
|
|
|
expect(result.extractedText).toBe('');
|
|
expect(result.pageCount).toBe(0);
|
|
});
|
|
});
|
|
});
|