How to handle databases when testing with supertest?

I can’t find a conclusive answer to this. I don’t know if I should use the production DB and delete the test documents that were created when all tests are run, or if I should make a clone of the DB and use that for testing, to avoid any unwanted behavior.

For now, I’ve been using the production DB and what I do is put the tests in this order: POST, GET, PATCH, DELETE. This way the DELETE test gets rid of the document created during the previous test/s. This works fine generally, but I’m pretty sure it is not a good practice.