8d53c63801
* Fix docker install * Move back twenty-eslint-plugin to eslint-plugin-twenty * fix: add bundled yarn * Improve makeifle structure * Update commands and doc * Add pg_graphql binaries * Fix --------- Co-authored-by: Jérémy Magrin <jeremy.magrin@gmail.com>
48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
import { RuleTester } from "@typescript-eslint/rule-tester";
|
|
|
|
import componentPropsNamingRule from "../rules/component-props-naming";
|
|
|
|
const ruleTester = new RuleTester({
|
|
parser: "@typescript-eslint/parser",
|
|
parserOptions: {
|
|
project: "./tsconfig.json",
|
|
tsconfigRootDir: __dirname,
|
|
ecmaFeatures: {
|
|
jsx: true,
|
|
},
|
|
},
|
|
});
|
|
|
|
ruleTester.run("component-props-naming", componentPropsNamingRule, {
|
|
valid: [
|
|
{
|
|
code: "export const MyComponent= (props: MyComponentProps) => <div>{props.message}</div>;",
|
|
},
|
|
{
|
|
code: "export const MyComponent = ({ message }: MyComponentProps) => <div>{message}</div>;",
|
|
},
|
|
],
|
|
invalid: [
|
|
{
|
|
code: "export const MyComponent = (props: OwnProps) => <div>{props.message}</div>;",
|
|
errors: [
|
|
{
|
|
messageId: "invalidPropsTypeName",
|
|
},
|
|
],
|
|
output:
|
|
"export const MyComponent = (props: MyComponentProps) => <div>{props.message}</div>;",
|
|
},
|
|
{
|
|
code: "export const MyComponent = ({ message }: OwnProps) => <div>{message}</div>;",
|
|
errors: [
|
|
{
|
|
messageId: "invalidPropsTypeName",
|
|
},
|
|
],
|
|
output:
|
|
"export const MyComponent = ({ message }: MyComponentProps) => <div>{message}</div>;",
|
|
},
|
|
],
|
|
});
|