title: Do jest tests wait for previous async tests to resolve?
body: <p>I have read that jest tests in the same tests file execute sequentially. I have also read that when writing tests that involve callbacks a <code>done</code> parameter should be used. </p>
  
  <p>But when using promises using the async/await syntax that I am using in my code below, can I count on the tests to but run and resolve in sequential order?</p>
  
  <pre><code>import Client from '../Client';
  import { Project } from '../Client/types/client-response';
  
  let client: Client;
  
  beforeAll(async () =&gt; {
      jest.setTimeout(10000);
      client = new Client({ host: 'ws://127.0.0.1', port: 8080 , logger: () =&gt; {}});
      await client.connect();
  })
  
  
  describe('Create, save and open project', () =&gt; {
      let project: Project;
      let filename: string;
  
      beforeAll(async () =&gt; {
          // Close project
          let project = await client.getActiveProject();
          if (project) {
              let success = await client.projectClose(project.id, true);
              expect(success).toBe(true);
          }
      })
  
      test('createProject', async () =&gt; {
          project = await client.createProject();
          expect(project.id).toBeTruthy();
      });
  
      test('projectSave', async () =&gt; {
          filename = await client.projectSave(project.id, 'jesttest.otii', true);
          expect(filename.endsWith('jesttest.otii')).toBe(true);
      });
  
      test('projectClose', async () =&gt; {
          let success = await client.projectClose(project.id);
          expect(success).toBe(true);
      });
  
      test('projectOpen', async () =&gt; {
          project = await client.openProject(filename);
          expect(filename.endsWith('jesttest.otii')).toBe(true);
      });
  })
  
  afterAll(async () =&gt; {
      await client.disconnect();
  })
  </code></pre>