title: Vue-test-utils: using $nextTick multiple times in a single test
body: <p>I'm writing unit tests for <a href="https://monterail.github.io/vuelidate/#getting-started" rel="noreferrer"><code>vuelidate</code></a> validation in my component. I figured out that the <code>$touch()</code> method is called asynchronously, so I need to use <code>$nextTick()</code> for the <code>expect()</code>. The problem appears when I need two <code>nextTick()s</code> for two <code>expect()s</code>.</p>
  
  <pre><code>describe('Validations', () =&gt; {
      let data
      let myComponent
      beforeEach(() =&gt; {
          data = () =&gt; {
              propertyABC = 'not allowed value'
          }
          myComponent = localVue.component('dummy', {template: '&lt;div&gt;&lt;/div&gt;', validations, data})
  
      it('Properly validates propertyABC', (done) =&gt; {
          Vue.config.errorHandler = done
          let wrapper = mount(myComponent, {localVue})
          wrapper.vm.$v.$touch()
  
          wrapper.vm.$nextTick(() =&gt; {
              expect(wrapper.vm.$v.propertyABC.$error).to.be.true
              # fails, because propertyABC === 'allowed value', adn thus $error is false
              done()
          }
  
          wrapper.vm.propertyABC = 'allowed value'
          wrapper.vm.$v.propertyABC.$touch()
  
          wrapper.vm.$nextTick(() =&gt; {
              expect(wrapper.vm.$v.proprtyABC.$error).to.be.false
              done()
          }
      })
  })
  </code></pre>
  
  <p>How can I run this test without splitting it into two separate tests? I think nesting the <code>$nextTick()</code> might work, but it would be not flexible for higher amount of tests.</p>