title: Cypress intercept blocks the request when it's called several times in a test run
body: <p>I've created some tests in Cypress to add and duplicate article in our Angular application. The code for test <strong>ArticlesTest.js</strong></p>
  <pre><code>describe('Shop articles single station', () =&gt; {
  const productManagementPage = new ProductManagementPage()
  const shopArticlesPage = new ShopArticlesPage()
  
  before(() =&gt; {
      var credentials = 
      {
          &quot;username&quot;: &quot;someusername@user.name&quot;,
          &quot;password&quot;: &quot;strongPassword!&quot;
      }
  
      cy.navigateToProductManagement(credentials)
  })
  
  beforeEach(() =&gt; {
      productManagementPage.shopArticlesProgrammingButton().click()
      shopArticlesPage.WaitUntilPageLoaded('/productmanagement/api/v1/articles/get', 'GetArticles')
  })
  
  it('Add article', () =&gt; {
      var randomNumber = RandomDataGenerator.GenerateRandomInt(1000,4999)
      var randomName = RandomDataGenerator.GenerateRandomString(20)
      var randomPrice = RandomDataGenerator.GenerateRandomDecimal(1,99)
  
      shopArticlesPage.newArticleButton().click()
      shopArticlesPage.saveButton().should('be.disabled')
      shopArticlesPage.undoButton().should('be.disabled')
      shopArticlesPage.deleteButton().should('be.disabled')
      shopArticlesPage.articlesList().should('not.exist')
      shopArticlesPage.articleNumberTextBox().should('be.enabled')
  
      shopArticlesPage.articleNumberTextBox().type(randomNumber)
      shopArticlesPage.articleNameTextBox().type(randomName)
      shopArticlesPage.articleUnitPriceTextBox().type(randomPrice)
  
      shopArticlesPage.undoButton().should('be.enabled')
  
      shopArticlesPage.saveButton().click()
  
      shopArticlesPage.newArticleButton().should('exist')
      shopArticlesPage.articlesList().should('exist')
      shopArticlesPage.saveButton().should('be.disabled')
      shopArticlesPage.undoButton().should('be.disabled')
  
  })
  
  it('Duplicate article', () =&gt; {
      var articleNumber = RandomDataGenerator.GenerateRandomInt(51,65)
      var newArticleNumber = RandomDataGenerator.GenerateRandomInt(1000, 4999)
      var newArticleName = RandomDataGenerator.GenerateRandomString(20)
      
      shopArticlesPage.articlesList().selectFromList(articleNumber)
  
      const articleUnitPrice = shopArticlesPage.articleUnitPriceTextBox().invoke('text')
      const vatCodeValue = shopArticlesPage.vatCodeDropDown().invoke('text')
      const cardCodeValue = shopArticlesPage.cardCodeDropDown().invoke('text')
  
      shopArticlesPage.duplicateArticleButton().click()
      shopArticlesPage.WaitUntilPageLoaded()
      shopArticlesPage.articleNumberTextBox().type(newArticleNumber)
      shopArticlesPage.articleNameTextBox().type(newArticleName)
      shopArticlesPage.saveButton().click()
  
      shopArticlesPage.newArticleButton().should('be.enabled')
  })
  </code></pre>
  <p><strong>WaitUntilPageLoaded()</strong> method code is:</p>
  <pre><code>WaitUntilPageLoaded(path, alias) {
      return cy.waitForRequestToComplete(path, alias)
  }
  </code></pre>
  <p>which, in turn, is custom Cypress command:</p>
  <pre><code>Cypress.Commands.add('waitForRequestToComplete', (path, alias) =&gt; {
    cy.intercept('POST', path).as(alias)
    cy.wait('@' + alias).its('response.statusCode').should('be.ok')
  })
  </code></pre>
  <p>In 1st <strong>beforeEach()</strong> run, there's no problem with intercepting <strong>GetArticles</strong> and waiting for it to complete.
  <a href="https://i.stack.imgur.com/PJmrl.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/PJmrl.png" alt="1st test - beforeEach() method run" /></a>
  The problem starts in 2nd test, as it looks like <strong>GetArticles</strong> is not intercepted, it's not called at all, though it's supposed to be. The problem doesn't exist when clicking through the application manually, and /articles/get is always invoked.
  <a href="https://i.stack.imgur.com/6Yf1u.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/6Yf1u.png" alt="enter image description here" /></a>
  The test ends up with error message</p>
  <blockquote>
  <p>Timed out retrying after 30000ms: cy.wait() timed out waiting 30000ms for the 1st request to the route: GetArticles. No request ever occurred.</p>
  </blockquote>
  <p>I've also tried using other endpoint e.g. <em>vatcodes/get</em>, and it works perfectly. The problem occurs only for <em>articles/get</em>, but I don't see any trail that would tell my why this happens for articles endpoint.</p>
  <p>What is the problem? Why Cypress &quot;blocks&quot; 2nd call to this endpoint? What's more interesting, the problem doesn't exist for <strong>GetFeatures</strong> alias, which is created in an identical way.</p>