Files
n8n-enterprise-unlocked/packages/frontend/editor-ui/src/components/CredentialConfig.test.ts

57 lines
1.5 KiB
TypeScript

import CredentialConfig from './CredentialEdit/CredentialConfig.vue';
import { screen } from '@testing-library/vue';
import type { ICredentialDataDecryptedObject, ICredentialType } from 'n8n-workflow';
import { createTestingPinia } from '@pinia/testing';
import type { RenderOptions } from '@/__tests__/render';
import { createComponentRenderer } from '@/__tests__/render';
import { STORES } from '@/constants';
const defaultRenderOptions: RenderOptions = {
pinia: createTestingPinia({
initialState: {
[STORES.SETTINGS]: {
settings: {
enterprise: {
sharing: false,
externalSecrets: false,
},
},
},
},
}),
props: {
isManaged: true,
mode: 'edit',
credentialType: {} as ICredentialType,
credentialProperties: [],
credentialData: {} as ICredentialDataDecryptedObject,
credentialPermissions: {
share: false,
move: false,
create: false,
read: false,
update: false,
delete: false,
list: false,
},
},
};
const renderComponent = createComponentRenderer(CredentialConfig, defaultRenderOptions);
describe('CredentialConfig', () => {
it('should display a warning when isManaged is true', async () => {
renderComponent();
expect(
screen.queryByText('This is a managed credential and cannot be edited.'),
).toBeInTheDocument();
});
it('should not display a warning when isManaged is false', async () => {
renderComponent({ props: { isManaged: false } }, { merge: true });
expect(
screen.queryByText('This is a managed credential and cannot be edited.'),
).not.toBeInTheDocument();
});
});