ptuomola commented on pull request #1422: URL: https://github.com/apache/fineract/pull/1422#issuecomment-713283690
@vorburger @vidakovic Interesting question re what we should do wrt tests if we provide multiple clients I suppose there are three different reasons why we want to test: 1. Test the Fineract server side business logic. This is what our existing Integration Test base is focused on. 2. Test the API spec itself. We clearly don't have tests for this - and as @vorburger has found that some of the API specs don't currently generate valid client code, so the spec is broken. 3. Test a specific language implementation of the client generated from spec - i.e. does the TypeScript version work, does the Java version work etc To avoid maintaining a huge amount of duplicate tests, I think it would make sense to try to cover as much of 1 through 2 as possible. So actually using the generated clients to exercise the business logic, instead of e.g. some custom code as currently in Integration Tests or directly exercising the tests against Spring Boot. That way we are both testing one of the generated clients, validity of the API spec, and the business logic all in one go. But then we still need to see how to cover 3. My view is that to focus our efforts, majority of the tests should be written against one of the generated clients only (in my view Java as that will align with most of the contributors' skill base). For the other generated clients, we should agree a very basic test suite (e.g. login / trigger one API / check response) to confirm the client works, but not to build a full functional test suite for them. Just my thoughts... happy to discuss. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
