Как проверить действие хранилища внутри vuejs async data hook? - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь проверить, были ли отправлены некоторые действия магазина во время async data перехвата компонента vuejs.

Вот мой контент с асинхронными данными:

async asyncData ({ store }) {
   const homePageContent = store.dispatch('info/fetchHomePageContent')
   const auctionsPromise = store.dispatch('auction/fetchAuctionProductsList', { page: 1, limit: 10 })
   const auctionsMetaPromise = store.dispatch('auction/fetchAuctionProductsListMeta', { page: 1, limit: 10 })

   await homePageContent
   await auctionsPromise
   await auctionsMetaPromise
}

Вотмой фиктивный магазин, который я монтирую в своем тесте:

export const infoStoreMock = {
   modules: {
       info: {
           namespaced: true,
           actions: {
              fetchHomePageContent () {
                  console.log('it works!')   
              }
           }
       }
    }
}

А вот часть моего юнит-теста с использованием vue-test-utils и ava test runner:

test.beforeEach(() => {
   localVue = createLocalVue()
   localVue.use(Vuex)

   store = new Vuex.Store(infoStoreMock)

   wrapper = shallowMount(HomepagePage, {
      localVue,
      store
   })
})

test('should call store actions at the async data hook', t => {
   const spy = sinon.spy(infoStoreMock.modules.info.actions, 'fetchHomePageContent')
   t.truthy(spy.called)
})

КогдаЯ запускаю тест, шпион вообще не вызывается.

Что мне не хватает?

Заранее спасибо

...