suites-dev / suites

A testing meta-framework that simplifies unit testing by reducing boilerplate code and enabling developers to build comprehensive and reliable test suites
https://suites.dev
Apache License 2.0
365 stars 12 forks source link

Implement "TSyringe" DI Framework Integration with Suites #491

Open omermorad opened 1 week ago

omermorad commented 1 week ago

Discussed in https://github.com/suites-dev/suites/discussions/274

Originally posted by **omermorad** September 30, 2023 ## Description Suites is designed to seamlessly integrate with various Dependency Injection (DI) frameworks, providing developers with a streamlined experience for mocking dependencies in their unit tests. As part of our ongoing efforts to enhance Suites's DI framework integration, we are looking to add support for the `TSyringe` library. [TSyringe](https://github.com/microsoft/tsyringe) is a lightweight dependency injection container for TypeScript, developed by Microsoft. ### Requirements: 1. **Integration Tests**: Ensure that the adapter is thoroughly tested with integration tests. This will help in verifying the correct behavior of the adapter with `TSyringe`. 2. **End-to-End Tests**: Add E2E tests to validate the complete functionality and ensure that the adapter works seamlessly with real-world applications using `TSyringe`. 3. **Error Handling**: Implement comprehensive error handling to provide clear and actionable feedback to the users in case of any issues. ### Additional Notes: - Familiarize yourself with the existing adapters in Suites to maintain consistency in design and implementation. - Ensure that the adapter is compatible with the latest version of `TSyringe`.