There are enough unit and functional tests to assure most common Mocca client use cases behave as designed and documented.
However, additional tests could be introduced to cover corner cases. Besides that, it is known that there are bugs if the request POJOs are complex, containing inner POJOs and/or lists of POJOs for example.
Requirements
Add new tests (unit tests only) under mocca-client module covering all possible and documented corner cases when it comes to a client API definition.
Fix any issue uncovered with the introduction of new tests, especially the serialization and deserialization ones, as they are known to exist.
Make any small performance enhancement, if found when working on this issue
Make end user documentation corrections if necessary
Enhancing tests for features provided outside of mocca-client library is NOT in the scope of this issue.
Open new issues if any bug is found outside of what is described in the scope of this issue
Important
This issue depends on #22
Test cases
First, create a new test sample class, named SuperComplexSampleType, by copying ComplexSampleType. Then modify SuperComplexSampleType to support the following test cases below.
Add a List of Strings in SuperComplexSampleType
Add a List of SuperComplexSampleType.ComplexField in SuperComplexSampleType
Add a SuperComplexSampleType.ComplexField inside of SuperComplexSampleType.ComplexField
Add a List of SuperComplexSampleType.ComplexField inside of SuperComplexSampleType.ComplexField
Second, make sure all types of GraphQL method parameters and return types document at 4.3 Writing a client API have test cases and are properly tested with unit tests.
There are enough unit and functional tests to assure most common Mocca client use cases behave as designed and documented. However, additional tests could be introduced to cover corner cases. Besides that, it is known that there are bugs if the request POJOs are complex, containing inner POJOs and/or lists of POJOs for example.
Requirements
mocca-client
module covering all possible and documented corner cases when it comes to a client API definition.mocca-client
library is NOT in the scope of this issue.Important
This issue depends on #22
Test cases
First, create a new test sample class, named
SuperComplexSampleType
, by copyingComplexSampleType
. Then modifySuperComplexSampleType
to support the following test cases below.List
ofStrings
inSuperComplexSampleType
List
ofSuperComplexSampleType.ComplexField
inSuperComplexSampleType
SuperComplexSampleType.ComplexField
inside ofSuperComplexSampleType.ComplexField
List
ofSuperComplexSampleType.ComplexField
inside ofSuperComplexSampleType.ComplexField
Second, make sure all types of GraphQL method parameters and return types document at 4.3 Writing a client API have test cases and are properly tested with unit tests.