import { parseJsx } from '../__tests__/utils' import { printAst, transformSource, type TransformSourceArgs } from '../utils' import { removePopoverVariant } from './removePopoverVariant' const transformPopover = (sourceFile: TransformSourceArgs['sourceFile']): string => { const tagsMap = new Map([ [ 'Popover', { importModuleName: '@kaizen/components', tagName: 'Popover', originalName: 'Popover', }, ], ]) return transformSource({ sourceFile, transformers: [removePopoverVariant(tagsMap)], }) } describe('removePopoverVariant()', () => { it('removes variant', () => { const inputAst = parseJsx(` export const TestComponent = () => `) const outputAst = parseJsx(` export const TestComponent = () => `) expect(transformPopover(inputAst)).toEqual(printAst(outputAst)) }) it('removes customIcon', () => { const inputAst = parseJsx(` export const TestComponent = () => } /> `) const outputAst = parseJsx(` export const TestComponent = () => `) expect(transformPopover(inputAst)).toEqual(printAst(outputAst)) }) it('handles multiple attributes and remove only variant', () => { const inputAst = parseJsx(` export const TestComponent = () => `) const outputAst = parseJsx(` export const TestComponent = () => `) expect(transformPopover(inputAst)).toBe(printAst(outputAst)) }) it('transforms multiple Popovers', () => { const inputAst = parseJsx(` export const TestComponent = () =>
}/>
`) const outputAst = parseJsx(` export const TestComponent = () =>
`) expect(transformPopover(inputAst)).toBe(printAst(outputAst)) }) })