title: How to run async task before tests and store the result for further tests - Supertest
body: <p>I'm trying to write API tests for a module in my application. The application has a user and articles corresponding to that user and there are GET, POST, DELETE requests for articles.</p>
  <p>I'm writing test cases for these requests by creating a <code>describe</code> block for each GET, POST etc. and inside each block, are my tests. But the problem is that these tests require a <code>key</code> of that user to know for which user does it need to fetch, create and delete articles. Currently, I've hardcoded that key but I want to create a new user for all the tests in that file and use the key which is returned when I create that user. And then delete the user after all the tests are finished.</p>
  <p>Basically, it boils down to running an async task before all these tests and use the result from that task in all the tests and undo that task after all the tests have finished. I'm fairly new to backend API testing so I don't know where to begin. Any help is appreciated.</p>