title: Should e2e tests persist data in real databases?
body: <p>I've been reading a lot about e2e testing and one thing I cannot understand is how "real" should e2e tests be.</p>
  
  <p>Regardless of the tools I use for the e2e tests, I've seen that most of the time they hit either local, development or alpha environments.</p>
  
  <p>If my application has authentication, should I create a "test" user with valid credentials in the database? Should I do that for Alpha or even Production environments? How else would this test user login into my application?</p>
  
  <p>Say I have the infamous TODO app. I have a test that logs the user in. After logging in, I want to test that the user is able to create a TODO. This TODO is saved in a Database.   </p>
  
  <p>After running the tests, should I run something to remove the data created during e2e tests? Or should I intercept the request just before saving it and mock the response (would this be an antipattern for e2e testing)? </p>