Skip to content

Commit a55d523

Browse files
authored
Merge pull request #140 from workfloworchestrator/2061-add-test-id-attributes
Add data-testid attributes to Pydantic Forms components
2 parents ba66c4b + a0640c1 commit a55d523

15 files changed

+31
-6
lines changed

frontend/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/packages/pydantic-forms/src/components/fields/ArrayField.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ export const ArrayField = ({ pydanticFormField }: PydanticFormElementProps) => {
8181

8282
return (
8383
<div
84+
data-testid={arrayName}
8485
style={{
8586
border: 'thin solid green',
8687
padding: '1rem',

frontend/packages/pydantic-forms/src/components/fields/CheckboxField.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ export const CheckboxField = ({
88
value,
99
name,
1010
disabled,
11+
pydanticFormField,
1112
}: PydanticFormControlledElementProps) => {
1213
return (
1314
<input
15+
data-testid={pydanticFormField.id}
1416
type="checkbox"
1517
checked={value}
1618
onChange={() => onChange(!value)}
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import React from 'react';
22

3-
export const DividerField = () => {
4-
return <hr />;
3+
import type { PydanticFormElementProps } from '@/types';
4+
5+
export const DividerField = ({
6+
pydanticFormField,
7+
}: PydanticFormElementProps) => {
8+
return <hr data-testid={pydanticFormField.id} />;
59
};

frontend/packages/pydantic-forms/src/components/fields/DropdownField.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export const DropdownField = ({
1414
}: PydanticFormControlledElementProps) => {
1515
return (
1616
<select
17+
data-testid={pydanticFormField.id}
1718
value={value}
1819
onChange={(e) => {
1920
onChange(e.target.value);

frontend/packages/pydantic-forms/src/components/fields/FieldWrap.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export const FieldWrap = ({ pydanticFormField, children }: FieldWrapProps) => {
3535
required={pydanticFormField.required}
3636
isInvalid={!!isInvalid}
3737
error={errorMsg as string}
38+
data-testid={pydanticFormField.id}
3839
>
3940
<div>{children}</div>
4041
</RowRenderer>

frontend/packages/pydantic-forms/src/components/fields/HiddenField.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,11 @@ export const HiddenField = ({
77
pydanticFormField,
88
}: PydanticFormElementProps) => {
99
const { rhf } = usePydanticFormContext();
10-
return <input type="hidden" {...rhf.register(pydanticFormField.id)} />;
10+
return (
11+
<input
12+
type="hidden"
13+
data-testid={pydanticFormField.id}
14+
{...rhf.register(pydanticFormField.id)}
15+
/>
16+
);
1117
};

frontend/packages/pydantic-forms/src/components/fields/IntegerField.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ export const IntegerField = ({
99
onChange,
1010
onBlur,
1111
disabled,
12+
pydanticFormField,
1213
}: PydanticFormControlledElementProps) => {
1314
return (
1415
<input
16+
data-testid={pydanticFormField.id}
1517
onBlur={onBlur}
1618
onChange={(t) => {
1719
const value = parseInt(t.currentTarget.value);

frontend/packages/pydantic-forms/src/components/fields/LabelField.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type { PydanticFormElementProps } from '@/types';
44

55
export const LabelField = ({ pydanticFormField }: PydanticFormElementProps) => {
66
return (
7-
<div>
7+
<div data-testid={pydanticFormField.id}>
88
<label>{pydanticFormField?.default}</label>
99
</div>
1010
);

frontend/packages/pydantic-forms/src/components/fields/MultiCheckboxField.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export const MultiCheckboxField = ({
3535
return (
3636
<label key={optionId}>
3737
<input
38+
data-testid={id}
3839
type="checkbox"
3940
id={optionId}
4041
name={optionId}

0 commit comments

Comments
 (0)