Problem/Motivation
#2300677: JSON:API POST/PATCH support for fully validatable config entities allows to seriously expand the REST test coverage for config entity types.
Proposed resolution
Let's get ready for this!
Remaining tasks
The aim of the issue is to prepare for the massive removal of @todo in rest coverage. The final decision on the implementation of support POST/PATCH/DELETE validation has not yet been made. Therefore, participation in this issue - at your own risk ;)
User interface changes
API changes
Data model changes
| Comment | File | Size | Author |
|---|---|---|---|
| #2 | 2912976-2-208_additional.txt | 85.98 KB | Anonymous (not verified) |
| #2 | 2912976-2.patch | 124.05 KB | Anonymous (not verified) |
Comments
Comment #1
Anonymous (not verified) commentedvaplas created an issue. See original summary.
Comment #2
Anonymous (not verified) commentedThis patch is based on #208 patch.
Comment #3
Anonymous (not verified) commentedReview:
To test the all config entities (I hope).
Most entities are porting like a charm, but these have access problems. In patch, all access controllers are changed via this helper module.
Of course, this is stupid permissions. We should not check only specific 'node' type. But just to demonstrate the passing of the tests :)
Additional module for stamping the definitions, for the BaseFieldOverride test.
In some cases, we need the ability to redefine the label, even if the entity has it defined. Example FieldStorageConfig use id for label:
use $label instead of 'label', because now it can be different.
A pleasant surprise + few other nit typos.
I also forgot about assertNormalizationEdgeCases part of porting.
Comment #4
wim leersLove the enthusiasm! 😀 👏
So the aim of this issue is to add
PATCH+POSTtest coverage for all config entity types?But #2300677: JSON:API POST/PATCH support for fully validatable config entities won't actually enable
PATCH+POSTsupport for all config entity types — each of the config entity types will first need to have validation logic added before they can getPATCH+POSTsupport.So I'm a bit confused :)
Comment #5
Anonymous (not verified) commentedWell, fair question) Maybe I was wrong, and I'm ready close this issue without problems. I just thought that if we add basic support for POST/PATCH/DELETE testing to our tests after:
it will allow us to introduce ValidatableInterface on a more global level, like:
In any case, I was interested to check our config entities on base operations.
Comment #6
wim leersThis will never happen (at least not during Drupal 8.x, it might in 9.x), for exactly the reasons given in #4. It'll be up to each concrete config entity class to implement
ValidatableInterface.And it's only thanks to that change that this patch can work. So I'm afraid you wasted your time this once :( That being said, every config entity type will need to add its own validation constraints, and then it can implement
ValidatableInterface, and then it'll be able to add the test coverage that you already wrote here. So all those issues will be able to come to this issue/patch and get some helpful pointers/inspiration :) So, your effort won't entirely go to waste!P.S.: if you're looking for issues to help out with — would love to hook you up with some! :D