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

🛠 - Cover components with harnesses #476

Open
waterplea opened this issue Jun 9, 2021 · 15 comments
Open

🛠 - Cover components with harnesses #476

waterplea opened this issue Jun 9, 2021 · 15 comments
Labels
contributions welcome Architecture is clear and community can help P2 This issue has medium priority

Comments

@waterplea
Copy link
Collaborator

🚀 Feature request

To make it easy to test Taiga UI components and apps that use them we should provide component harnesses for all our components.

@waterplea waterplea added the contributions welcome Architecture is clear and community can help label Jun 15, 2021
@waterplea
Copy link
Collaborator Author

This issue is rather big and it's fine to make many smaller PRs covering single component.

@alvaromartmart
Copy link
Contributor

I'm interested in gaining some experience with developing component harnesses so I'd be happy to contribute to this.
However, I'm not sure whether @zarghamkhandev is working on every one of them or tracking progress somehow. Please let me know if I can take one of the components 👀

@waterplea
Copy link
Collaborator Author

I'm interested in gaining some experience with developing component harnesses so I'd be happy to contribute to this.
However, I'm not sure whether @zarghamkhandev is working on every one of them or tracking progress somehow. Please let me know if I can take one of the components 👀

I believe he's not working on any more harnesses at the moment so just pick a component you'd like to try and let us know here in a comment so nobody else takes it.

@zarghamkhandev
Copy link
Contributor

@alvaromartmart feel free to take any component, I will take input components next. 🚀

@alvaromartmart
Copy link
Contributor

I'll start with the action component since it looks like a simple one, plus it doesn't have unit tests so I'll add them using the harness

@alvaromartmart
Copy link
Contributor

FYI I'll create a harness for the filter component

@zarghamkhandev
Copy link
Contributor

Instead of input, I will take toggle component next.

@zarghamkhandev
Copy link
Contributor

I'll write harness for accordion component next.

@splincode
Copy link
Member

@waterplea is it actual now?
I suspect more efficient testing now is to use playwright or cypress

@alvaromartmart
Copy link
Contributor

@waterplea is it actual now? I suspect more efficient testing now is to use playwright or cypress

my 2cents: they serve different purposes - component harnesses are useful for developers consuming Taiga UI in their unit/integration tests. Plus playwright doesn't (yet) support angular component testing.

@waterplea
Copy link
Collaborator Author

@alvaromartmart is right, these are basically public testing APIs for our components for other people to use

@splincode
Copy link
Member

@alvaromartmart maybe, but lately I don't write unit tests anymore, as all issues are closed by playwright e2e and cypress component testing

@alvaromartmart
Copy link
Contributor

@alvaromartmart maybe, but lately I don't write unit tests anymore, as all issues are closed by playwright e2e and cypress component testing

I understand that, by are you speaking as a taiga-ui maintainer or as an end user?
As an end user of this UI library (or any other) I personally find it very convenient that the library provides component testing harnesses so my tests can be more robust to internal implementation changes of that libraries (since the harnesses should in theory provide me an up to date API to interact with them).

@splincode
Copy link
Member

Sure, but I see that there is practically no one to support @taiga-ui/testing package and add new harnesses to it

@waterplea
Copy link
Collaborator Author

Let's keep it open for now and investigate internal need for it by v5. Components got much simpler internally, maybe it would be much easier to write harnesses for them.

@waterplea waterplea removed the feature label Nov 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contributions welcome Architecture is clear and community can help P2 This issue has medium priority
Development

No branches or pull requests

5 participants