title: Cypress - How can I run test files in order
body: <p>When I press the "run all specs" <a href="https://i.stack.imgur.com/gsbcC.png" rel="noreferrer">button</a> or use the run command that runs all files in Cypress it runs all test files alphabetically, so I don't want that.</p>
  
  <p>I want to sort all of them with my own rules.</p>
  
  <hr>
  
  <p>Let's say I have 3 steps in a chat app test.</p>
  
  <ol>
  <li>Can connect the chat app</li>
  <li>Can connect the chat </li>
  <li>Can the user send a message</li>
  </ol>
  
  <p>I want to test every step without being tied to each other.
  What I mean, Testing one of their own function.
  What I do is as follows</p>
  
  <p><strong>chat_app_connect.spec.js</strong></p>
  
  <pre class="lang-js prettyprint-override"><code>describe('Server Connecting Test', () =&gt; {
      it('Visit Server page', () =&gt; {
          cy.visit('https://chat.page..');
      });
  
      it('Check welcome messages', () =&gt; {
          cy.contains('Live Support');
          cy.contains('Hello, Stranger');
      });
  
      it('Check URL and status of circle', () =&gt; {
          // URL
          cy.url()
              .should('include', '/hello');
          // Status Circle    
          cy.get('circle')
              .should('have.class', 'positive');
      });
  });
  </code></pre>
  
  <p><strong>chat_connect.spec.js</strong></p>
  
  <pre class="lang-js prettyprint-override"><code>import './chat_app_connect.spec.js';
  
  describe('Chat Connecting Test', () =&gt; {
      it('Type customer name', () =&gt; {
          cy.get('input')
              .clear()
              .type('E2E Test');
      });
      it('Click to the submit button', () =&gt; {
          cy.get('.submit-button')
              .click();
      });
      it('Check URL and status of circle', () =&gt; {
          // URL
          cy.url()
              .should('equal', 'https://client.dev.octopus.chat/');
          // Status Circle
          cy.get('circle', { timeout: 5000 })
              .should('have.class', 'positive');
      });
  });
  </code></pre>
  
  <p><strong>chatting.spec.js</strong></p>
  
  <pre class="lang-js prettyprint-override"><code>import './chat_connect.spec.js';
  
  describe('Chatting Tests', () =&gt; {
      it('Type a test message then press Enter and check the message if it sent', () =&gt; {
          // Type
          cy.get('#chat-message')
              .clear()
              .type('Hey I\'m a test message{enter}');
          // Check the message
          cy.get('.message-list')
              .should('contain', 'Hey I\'m a test message');
      });
  });
  </code></pre>
  
  <p>as you see every test is tied to each other, and that is mean when I tried to test just catting functionality its call every test and the whole tests will be tested.</p>
  
  <p>I don't know if it is the right way or not.</p>
  
  <p>what should I do in this case or can it be an acceptable way</p>