diff --git a/.changeset/young-candies-appear.md b/.changeset/young-candies-appear.md new file mode 100644 index 0000000000..d7b0436f0e --- /dev/null +++ b/.changeset/young-candies-appear.md @@ -0,0 +1,14 @@ +--- +'@leafygreen-ui/confirmation-modal': patch +'@leafygreen-ui/password-input': patch +'@leafygreen-ui/progress-bar': patch +'@leafygreen-ui/form-field': patch +'@lg-tools/eslint-plugin': patch +'@leafygreen-ui/checkbox': patch +'@leafygreen-ui/select': patch +'@leafygreen-ui/modal': patch +'@leafygreen-ui/lib': patch +'@lg-tools/lint': patch +--- + +Avoid duplicated data-lgid and data-testid diff --git a/packages/checkbox/src/Checkbox/Checkbox.tsx b/packages/checkbox/src/Checkbox/Checkbox.tsx index 30deb9c76b..90a1d3ded7 100644 --- a/packages/checkbox/src/Checkbox/Checkbox.tsx +++ b/packages/checkbox/src/Checkbox/Checkbox.tsx @@ -137,8 +137,8 @@ const Checkbox = React.forwardRef( className={cx(labelStyle, labelHoverStyle[theme], { [disabledLabelStyle]: disabled, })} - data-lgid={lgIds.root} - data-testid={lgIds.root} + data-lgid={lgIds.label} + data-testid={lgIds.label} > {description} diff --git a/packages/checkbox/src/utils/getLgIds.ts b/packages/checkbox/src/utils/getLgIds.ts index 147cc07635..545f19ad49 100644 --- a/packages/checkbox/src/utils/getLgIds.ts +++ b/packages/checkbox/src/utils/getLgIds.ts @@ -5,6 +5,8 @@ export const DEFAULT_LGID_ROOT = 'lg-checkbox'; export const getLgIds = (root: LgIdString = DEFAULT_LGID_ROOT) => { const ids = { root, + label: `${root}-label`, + description: `${root}-description`, } as const; return ids; }; diff --git a/packages/confirmation-modal/src/ConfirmationModal/ConfirmationModal.spec.tsx b/packages/confirmation-modal/src/ConfirmationModal/ConfirmationModal.spec.tsx index 7c58564798..803bee5336 100644 --- a/packages/confirmation-modal/src/ConfirmationModal/ConfirmationModal.spec.tsx +++ b/packages/confirmation-modal/src/ConfirmationModal/ConfirmationModal.spec.tsx @@ -497,6 +497,32 @@ describe('packages/confirmation-modal', () => { }); }); + describe('testid attribute', () => { + it('propagates to the dom element', () => { + const { getByTestId } = renderModal({ + open: true, + 'data-testid': 'my-modal', + }); + + const modal = getByTestId('my-modal'); + expect(modal).toBeInTheDocument(); + }); + + it('propagates to the buttons', () => { + const { getByTestId } = renderModal({ + open: true, + confirmButtonProps: { 'data-testid': 'my-confirm-btn' }, + cancelButtonProps: { 'data-testid': 'my-cancel-btn' }, + }); + + const confirmButton = getByTestId('my-confirm-btn'); + expect(confirmButton).toBeInTheDocument(); + + const cancelButton = getByTestId('my-cancel-btn'); + expect(cancelButton).toBeInTheDocument(); + }); + }); + // eslint-disable-next-line jest/no-disabled-tests test.skip('types behave as expected', () => { <> diff --git a/packages/confirmation-modal/src/ConfirmationModal/ConfirmationModal.tsx b/packages/confirmation-modal/src/ConfirmationModal/ConfirmationModal.tsx index 8454593385..abdfd7af78 100644 --- a/packages/confirmation-modal/src/ConfirmationModal/ConfirmationModal.tsx +++ b/packages/confirmation-modal/src/ConfirmationModal/ConfirmationModal.tsx @@ -134,8 +134,8 @@ export const ConfirmationModal = forwardRef<