I'm testing REST API end to end and when I want to check the application behaved. One is using existing REST API where possible but in other cases I don't have REST API available so have two options: creating an api for tests purposes or checking in the database the data have changed as expected.
Which one is better and why? Is there any harm in doing db calls from your tests?