Тестирование vue-apollo с использованием vue-test-utils - PullRequest
0 голосов
/ 10 июня 2019

Я новичок в тестировании и GraphQL.Я пытаюсь протестировать мое приложение VueJS, которое использует GraphQL, используя vue-test-utils и jest.У меня есть компонент, который получает категории с сервера GraphQl в смонтированном хуке.

mounted() {
  this.$apollo
    .query({
      query: getCategories
    })
    .then(res => {
      this.categoriesData[0].options = res.data.categories;
    });
}

В моем StepTwo.spec.js в я добавляю Vue-apollo в экземпляр Vue.

const Vue = createLocalVue();
Vue.use(VeeValidate);
Vue.use(BootstrapVue);
Vue.use(VueApollo);

test("Step Two ", async () => {
  const wrapper = shallowMount(StepTwo, { localVue: Vue });
});

Когда я пытаюсь смонтировать свой компонент, я получаю TypeError: Cannot read property 'query' of undefined.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 18 июня 2019

Мне удалось решить это, но я не знаю, правильно ли это, или нет. Я издевался над $ apollo, когда монтировал компонент.

mocks: {
  $apollo: {
    query: jest.fn(() => Promise.resolve({
      data: {
        categories,
        subCategories: categories
      }
    }))
  }
}
...