Files
n8n-enterprise-unlocked/packages/cli/test/integration/commands/license.cmd.test.ts

37 lines
1.1 KiB
TypeScript

import { mockInstance } from '@n8n/backend-test-utils';
import { Container } from '@n8n/di';
import { ClearLicenseCommand } from '@/commands/license/clear';
import { License } from '@/license';
import { LoadNodesAndCredentials } from '@/load-nodes-and-credentials';
import { setupTestCommand } from '@test-integration/utils/test-command';
mockInstance(LoadNodesAndCredentials);
const command = setupTestCommand(ClearLicenseCommand);
test('license:clear invokes clear() to release any floating entitlements and deletes the license cert from the DB', async () => {
const license = Container.get(License);
const manager = {
clear: jest.fn().mockImplementation(async () => {
await license.saveCertStr('');
}),
};
const initSpy = jest.spyOn(license, 'init').mockImplementation(async () => {
Object.defineProperty(license, 'manager', {
value: manager,
writable: true,
});
});
const clearSpy = jest.spyOn(license, 'clear');
const saveCertStrSpy = jest.spyOn(license, 'saveCertStr');
await command.run();
expect(initSpy).toHaveBeenCalledTimes(1);
expect(clearSpy).toHaveBeenCalledTimes(1);
expect(saveCertStrSpy).toHaveBeenCalledWith('');
});