mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-12 08:54:00 +02:00
55 lines
2.2 KiB
TypeScript
55 lines
2.2 KiB
TypeScript
import InteropService_Exporter_Base from './InteropService_Exporter_Base';
|
|
import InteropService_Importer_Base from './InteropService_Importer_Base';
|
|
import { makeExportModule, makeImportModule } from './Module';
|
|
import { FileSystemItem } from './types';
|
|
|
|
describe('Module', () => {
|
|
it('should return correct default fullLabel for an ImportModule', () => {
|
|
const baseMetadata = {
|
|
format: 'Foo_test',
|
|
description: 'Some description here',
|
|
sources: [FileSystemItem.File, FileSystemItem.Directory],
|
|
};
|
|
|
|
const importModuleMultiSource = makeImportModule(
|
|
baseMetadata,
|
|
() => new InteropService_Importer_Base(),
|
|
);
|
|
|
|
const importModuleSingleSource = makeImportModule({
|
|
...baseMetadata,
|
|
sources: [FileSystemItem.File],
|
|
}, () => new InteropService_Importer_Base());
|
|
|
|
// The two modules should have the same data, except for their sources.
|
|
expect(importModuleMultiSource.format).toBe('Foo_test');
|
|
expect(importModuleSingleSource.format).toBe(importModuleMultiSource.format);
|
|
expect(importModuleMultiSource.sources).toHaveLength(2);
|
|
expect(importModuleSingleSource.sources).toHaveLength(1);
|
|
|
|
const baseLabel = 'FOO - Some description here';
|
|
expect(importModuleMultiSource.fullLabel()).toBe(baseLabel);
|
|
expect(importModuleSingleSource.fullLabel()).toBe(baseLabel);
|
|
|
|
// Should only include (File) if the import module has more than one source
|
|
expect(importModuleMultiSource.fullLabel(FileSystemItem.File)).toBe(`${baseLabel} (File)`);
|
|
expect(importModuleSingleSource.fullLabel(FileSystemItem.File)).toBe(baseLabel);
|
|
});
|
|
|
|
it('should return correct default fullLabel for an ExportModule', () => {
|
|
const testExportModule = makeExportModule({
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
|
|
format: 'format_test_______TEST' as any,
|
|
description: 'Testing...',
|
|
}, () => new InteropService_Exporter_Base());
|
|
|
|
// Should only include the portion of format before the first underscore
|
|
const label = 'FORMAT - Testing...';
|
|
expect(testExportModule.fullLabel()).toBe(label);
|
|
|
|
// Sources should only be shown for import modules
|
|
expect(testExportModule.fullLabel(FileSystemItem.File)).toBe(label);
|
|
expect(testExportModule.fullLabel(FileSystemItem.Directory)).toBe(label);
|
|
});
|
|
});
|