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]


Reply via email to