I am testing few API endpoints of a product and there are many observations like:
- Server response with 500 error if the application content type is JSON instead of form data.
- Different endpoints provides different error response for the same invalid body. For instance, if the file is not provided then one endpoint response as [ error: file is not provided ] and another as {File: "This is a required Field}
- Endpoints that point to different versions of a product return response with different character case, eg: in version 1 its {File:"something}, v2 {file:"something"} and v3 its {FILE:"something"}
I raised these as bugs but the developer tells no one will do these things, as everything is well written in the API contract
Does these counts as valid observations? and if not then why would we text negative test cases, as the proper use case is already mentioned in the contract and lets blindly believe that users will follow it.