Skip to content

Commit 7dfa49b

Browse files
committed
include unit test
1 parent 0cd9a68 commit 7dfa49b

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

src/index.test.tsx

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import * as React from 'react';
2+
import { render } from '@testing-library/react';
3+
import { RHFError } from './index';
4+
5+
describe('React Hook Form Error', () => {
6+
it('should render correctly', () => {
7+
const { asFragment } = render(
8+
<RHFError
9+
errors={{ test: { type: 'test' } }}
10+
as={<span />}
11+
name="test"
12+
/>,
13+
);
14+
15+
expect(asFragment).toMatchSnapshot();
16+
});
17+
});

src/index.tsx

+8-4
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,24 @@ const RHFError = <Errors extends ErrorFields, Name extends keyof Errors>({
66
as,
77
errors,
88
name,
9-
messages,
9+
messages = {},
1010
}: {
11-
as: any;
11+
as?: React.ReactElement;
1212
errors: Errors;
1313
name: Name;
14-
messages: Record<string, string>;
14+
messages?: Record<string, string>;
1515
}) => {
1616
const message = errors[name].message || messages[errors[name].type];
1717

1818
if (!message) {
1919
return null;
2020
}
2121

22-
return as ? React.cloneElement(as, { children: message }) : message;
22+
return as ? (
23+
React.cloneElement(as, { children: message })
24+
) : (
25+
<span>{message}</span>
26+
);
2327
};
2428

2529
export { RHFError };

0 commit comments

Comments
 (0)