QA here. Relatively new to API testing (manual). Thought I'd turn to the experts to try and figure out if my expectations around how much functionality should sit in the API are more or less valid. More specifically, I'm testing dependencies ie.
if input_field_1 = No then input field 2 should be read-only
if input_field_1 = Yes then input field 2 should be enabled
I'd expect that if I didn't change the value from No to Yes in the API for input_field_1, then trying to manipulate the value of input_field_2 would have no effect and should not be updated when the call is executed. This is not the case.
My devs say that this logic is not necessary in the API because it is handled by the frontend and if an input field is read-only (dependent on another field), it would essentially never pass through a value in the first place. They also say that the API is basically impenetrable and no one would ever be carrying out this sort of manipulation (but I am). I understand the first half of this sentiment, but I'm still reluctant to omit these edge cases in the API. Essentially, I am able to update fields that should be read-only in the API and those changes are pulling through to the frontend. This doesn't seem technically sound or correct to me.