Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(Checkbox): updated tests #9756

Merged
merged 4 commits into from
Oct 27, 2023

Conversation

wise-king-sullyman
Copy link
Contributor

What: Closes #9529

Additional issues:

@patternfly-build
Copy link
Contributor

patternfly-build commented Oct 17, 2023

Comment on lines 126 to 130
test('Does not render a label by default', () => {
render(<Checkbox id="test-id" />);

expect(screen.queryByLabelText('test label')).not.toBeInTheDocument();
});
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would apply to the description and body tests as well, but I'm always unsure of what tests like this are expecting just because technically they're passing, but they'd also pass even if label="another test label" were passed in. So less that a label doesn't render and more that a label with this specific test doesn't render.

At the same time I'm not sure how pretty an alternative would be. Using something like getByRole(checkbox).parentElement.querySelector(.${styles.checkLabel}) may work but is lengthy.

Probably splitting hairs too much so I don't think I'd really block over it, but curious what you think.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I don't have a hardline stance on this and happy to remove if you think they're unnecessary, but my reasoning for doing these kinds of tests is that it ensure that assertion in the following test (where we expect the label to exist) is actually valid and not giving a false positive.

Copy link
Contributor

@thatblindgeye thatblindgeye Oct 23, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since it'd accept a regex, what about expect(screen.queryByLabelText(/\w+/)).not.toBeInTheDocument();? We don't really care what the label text actually is, just whether it's rendered, so this would result in a failure if any sort of label text were to be found (rather than currently a failure only occurs if label text that is "test label" is found). Probably wouldn't work for the body and description tests, though.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I'm not against that idea at all.

wise-king-sullyman and others added 2 commits October 23, 2023 09:29
….test.tsx

Co-authored-by: Eric Olkowski <70952936+thatblindgeye@users.noreply.github.com>
Copy link
Contributor

@thatblindgeye thatblindgeye left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding the convo above, I'd agree about keeping those tests in, I think it's more how we're testing for things for me. I'm also not sure if some alternatives I mentioned above (or using snapshots) are much better, so the above isn't a blocker for me and we can always revisit it if need be.

Copy link
Contributor

@mfrances17 mfrances17 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tlabaj tlabaj merged commit a3e4d7f into patternfly:main Oct 27, 2023
10 checks passed
@patternfly-build
Copy link
Contributor

Your changes have been released in:

  • @patternfly/react-code-editor@5.2.0-prerelease.18
  • @patternfly/react-core@5.2.0-prerelease.18
  • @patternfly/react-docs@6.2.0-prerelease.18
  • demo-app-ts@5.1.1-prerelease.41
  • @patternfly/react-table@5.2.0-prerelease.18

Thanks for your contribution! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Checkbox unit test updates
6 participants