mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 10:02:05 +00:00
fix(core): Address feedback on modules (no-changelog) (#17966)
This commit is contained in:
@@ -161,7 +161,7 @@ describe('initModules', () => {
|
|||||||
expect(moduleRegistry.settings.get(moduleName)).toBe(moduleSettings);
|
expect(moduleRegistry.settings.get(moduleName)).toBe(moduleSettings);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('activates the module', async () => {
|
it('activates module with settings', async () => {
|
||||||
// ARRANGE
|
// ARRANGE
|
||||||
const moduleName = 'test-module';
|
const moduleName = 'test-module';
|
||||||
const moduleSettings = { foo: 1 };
|
const moduleSettings = { foo: 1 };
|
||||||
@@ -184,4 +184,26 @@ describe('initModules', () => {
|
|||||||
expect(moduleRegistry.isActive(moduleName as any)).toBe(true);
|
expect(moduleRegistry.isActive(moduleName as any)).toBe(true);
|
||||||
expect(moduleRegistry.getActiveModules()).toEqual([moduleName]);
|
expect(moduleRegistry.getActiveModules()).toEqual([moduleName]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('activates module without settings', async () => {
|
||||||
|
// ARRANGE
|
||||||
|
const moduleName = 'test-module';
|
||||||
|
const ModuleClass: ModuleInterface = {
|
||||||
|
init: jest.fn(),
|
||||||
|
};
|
||||||
|
const moduleMetadata = mock<ModuleMetadata>({
|
||||||
|
getEntries: jest.fn().mockReturnValue([[moduleName, { class: ModuleClass }]]),
|
||||||
|
});
|
||||||
|
Container.get = jest.fn().mockReturnValue(ModuleClass);
|
||||||
|
|
||||||
|
const moduleRegistry = new ModuleRegistry(moduleMetadata, mock(), mock(), mock());
|
||||||
|
|
||||||
|
// ACT
|
||||||
|
await moduleRegistry.initModules();
|
||||||
|
|
||||||
|
// ASSERT
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
expect(moduleRegistry.isActive(moduleName as any)).toBe(true);
|
||||||
|
expect(moduleRegistry.getActiveModules()).toEqual([moduleName]);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -106,9 +106,7 @@ export class ModuleRegistry {
|
|||||||
|
|
||||||
const moduleSettings = await Container.get(ModuleClass).settings?.();
|
const moduleSettings = await Container.get(ModuleClass).settings?.();
|
||||||
|
|
||||||
if (!moduleSettings) continue;
|
if (moduleSettings) this.settings.set(moduleName, moduleSettings);
|
||||||
|
|
||||||
this.settings.set(moduleName, moduleSettings);
|
|
||||||
|
|
||||||
this.logger.debug(`Initialized module "${moduleName}"`);
|
this.logger.debug(`Initialized module "${moduleName}"`);
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,13 @@ export interface BaseEntity {
|
|||||||
reload(): Promise<void>;
|
reload(): Promise<void>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type EntityClass = new () => BaseEntity;
|
export interface TimestampedEntity {
|
||||||
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
|
}
|
||||||
|
|
||||||
|
export type EntityClass = new () => BaseEntity | TimestampedEntity;
|
||||||
|
|
||||||
export type ModuleSettings = Record<string, unknown>;
|
export type ModuleSettings = Record<string, unknown>;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user