import { isValidConfigurationEntity, isValidAnalyzerEntity, toSastCiConfigurationEntityInput, toSastCiConfigurationAnalyzerEntityInput, } from 'ee/security_configuration/sast/components/utils'; import { makeEntities, makeAnalyzerEntities } from '../helpers'; describe('isValidConfigurationEntity', () => { const validEntities = makeEntities(3); const invalidEntities = [ null, undefined, [], {}, ...makeEntities(1, { field: undefined }), ...makeEntities(1, { type: undefined }), ...makeEntities(1, { description: undefined }), ...makeEntities(1, { label: undefined }), ...makeEntities(1, { value: undefined }), ...makeEntities(1, { defaultValue: undefined }), ]; it.each(validEntities)('returns true for a valid entity', (entity) => { expect(isValidConfigurationEntity(entity)).toBe(true); }); it.each(invalidEntities)('returns false for an invalid entity', (invalidEntity) => { expect(isValidConfigurationEntity(invalidEntity)).toBe(false); }); }); describe('isValidAnalyzerEntity', () => { const validEntities = makeAnalyzerEntities(3); const invalidEntities = [ null, undefined, [], {}, ...makeAnalyzerEntities(1, { name: undefined }), ...makeAnalyzerEntities(1, { label: undefined }), ...makeAnalyzerEntities(1, { enabled: undefined }), ...makeAnalyzerEntities(1, { enabled: '' }), ]; it.each(validEntities)('returns true for a valid entity', (entity) => { expect(isValidAnalyzerEntity(entity)).toBe(true); }); it.each(invalidEntities)('returns false for an invalid entity', (invalidEntity) => { expect(isValidAnalyzerEntity(invalidEntity)).toBe(false); }); }); describe('toSastCiConfigurationEntityInput', () => { let entity; describe('given a SastCiConfigurationEntity', () => { beforeEach(() => { [entity] = makeEntities(1); }); it('returns a SastCiConfigurationEntityInput object', () => { expect(toSastCiConfigurationEntityInput(entity)).toEqual({ field: entity.field, defaultValue: entity.defaultValue, value: entity.value, }); }); }); }); describe('toSastCiConfigurationAnalyzerEntityInput', () => { let entity; describe.each` context | enabled | variables ${'a disabled entity with variables'} | ${false} | ${makeEntities(1)} ${'an enabled entity without variables'} | ${true} | ${undefined} `('given $context', ({ enabled, variables }) => { beforeEach(() => { if (variables) { [entity] = makeAnalyzerEntities(1, { enabled, variables: { nodes: variables } }); } else { [entity] = makeAnalyzerEntities(1, { enabled }); } }); it('returns a SastCiConfigurationAnalyzerEntityInput without variables', () => { expect(toSastCiConfigurationAnalyzerEntityInput(entity)).toEqual({ name: entity.name, enabled: entity.enabled, }); }); }); describe('given an enabled entity with variables', () => { beforeEach(() => { [entity] = makeAnalyzerEntities(1, { enabled: true, variables: { nodes: makeEntities(1) }, }); }); it('returns a SastCiConfigurationAnalyzerEntityInput with variables', () => { expect(toSastCiConfigurationAnalyzerEntityInput(entity)).toEqual({ name: entity.name, enabled: entity.enabled, variables: [ { field: 'field0', defaultValue: 'defaultValue0', value: 'value0', }, ], }); }); }); });