import { TSESLint } from '@typescript-eslint/utils'; import { rule, RULE_NAME } from './component-props-naming'; const ruleTester = new TSESLint.RuleTester({ parser: require.resolve('@typescript-eslint/parser'), parserOptions: { ecmaFeatures: { jsx: true, }, }, }); ruleTester.run(RULE_NAME, rule, { valid: [ { code: 'export const MyComponent= (props: MyComponentProps) =>
{props.message}
;', }, { code: 'export const MyComponent = ({ message }: MyComponentProps) =>
{message}
;', }, ], invalid: [ { code: 'export const MyComponent = (props: OwnProps) =>
{props.message}
;', errors: [ { messageId: 'invalidPropsTypeName', }, ], output: 'export const MyComponent = (props: MyComponentProps) =>
{props.message}
;', }, { code: 'export const MyComponent = ({ message }: OwnProps) =>
{message}
;', errors: [ { messageId: 'invalidPropsTypeName', }, ], output: 'export const MyComponent = ({ message }: MyComponentProps) =>
{message}
;', }, ], });