Ложный vuex с Джестом, неизвестными добытчиками - PullRequest
2 голосов
/ 08 октября 2019

Я довольно застрял в том, как я тестирую компоненты, которые используют vuex.

Тест, который я пытаюсь запустить, просто тестирует его, когда он запускается, чтобы установить для редактирования значение true. Метод выглядит следующим образом:

  editMovie: function(movie){
      console.log(movie)
       this._originalMovie = Object.assign({}, movie);
       movie.edit = true;
  }, 

Некоторые методы и при монтировании отправляются в хранилище.

Я получаю ошибки об этом, не могу найти отправку, поэтому следует https://vue-test-utils.vuejs.org/guides/using-with-vuex.html и добавлен в хранилище Mock (я думаю ...) с этим:

Ошибка:

console.error node_modules / vuex / dist / vuex.common.js: 899 [vuex] неизвестный получатель: фильмы

console.error node_modules / vue / dist / vue.runtime.common.dev.js: 621 [Vue warn]: ошибка при рендеринге: «Ошибка типа: невозможно прочитать свойство« 0 »из неопределенного» * ​​1018 *

Код:

import { shallowMount, createLocalVue } from '@vue/test-utils'
import Vuex from 'vuex'
//import Actions from '../../src/store/Actions'
import MoviesList from '@/components/MoviesList.vue'

const localVue = createLocalVue()

localVue.use(Vuex)

describe('MoviesList.vue', () => {
  let actions
  let store

  beforeEach(() => {
    actions = {
      getMovies: jest.fn(),
    }
    store = new Vuex.Store({
      actions
    })
  })

  it('Edit should be true', () => {
    const wrapper = shallowMount(MoviesList, { store, localVue })
    wrapper.setData({ 
      movies: { 0: {
          deleted:false,
          edit:false,
          name:"Full Metal Jacket",
          released_on:"1987",
      }}
    })
    console.log(wrapper.vm.movies[0])
    wrapper.vm.editMovie(wrapper.vm.movies[0])
    expect(wrapper.vm.movies[0].edit).toBe(true)
  })
}) 
...