Fix property case for value objects and implement data provider
Fixes for class property casing
Panettone DTOs should be in snake_case because the consumed SoundCloud schema is in snake_case.
Previous DTO properties where in camelCase, they are now in snake_case.
Detailed tests for Track and User schemas cover some of the two-worded properties that use snake_case.
Did a small change on upstream Panettone to allow specifying the class property case (tracked in Github).
Data provider
The Data provider sources fake data from an Enum called Schema
(which represents the OpenApi schema).
The data consumer is a generic test called hydration
that:
- Warms the mocked service cache with the consumed fake data,
- Maps the fake data to the real DTOs, and
- Makes the DTOs available to other schema-specific tests.
In the process it also provides some basic coverage for the service and Resource classes.
- More detailed coverage is not part of this suite.
- The main system under test (SUT) for this suite are the Data Transfer Objects (DTOs), a.k.a value objects.