vue test использует TypeError: this. $ moment (...). формат не является функцией - PullRequest
0 голосов
/ 16 апреля 2019

Я использую moment.js, и у меня возникают проблемы с подделкой функции форматирования. Получаю эту ошибку:

TypeError: this. $ Moment (...). Формат не является функцией

Может ли кто-нибудь указать мне правильное направление на это, пожалуйста?

import { mount, createLocalVue, } from '@vue/test-utils'
import { expect } from 'chai'
import sinon from 'sinon'
import Vuex from 'vuex'
import authorisation from '../../src/components/settings/Authorisation.vue'

const localVue = createLocalVue()
localVue.use(Vuex)
const renewAuthStub = sinon.stub()
localVue.filter('translate', () => {})

describe ('settings authorisation', () => {
  let wrapper
  let store
  let state
  let getters
  let actions

    beforeEach(() => {
      state = {
        authorisation: {
          authorised: '2018-03-18',
          expiry: '03-04-2019',
          canBeExtended: true
        }
      }
      getters = {
        fetchAuth: () => '',
        isLoading: () => false,
        authorisation: () => state.authorisation,
        highlightDates: () => {},
        disabledDates: () => {},
        requestLoading: () => false
      }
      actions = {
        fetchAuth: () => {}
      }
      store = new Vuex.Store({
        state,
        getters,
        actions
      })
      wrapper = mount(authorisation, {
        localVue,
        store,
        mocks: {
          $moment: () => sinon.stub().resolves()
        }
      })
    })

    it('lets user know to reactivate when not authorised', () => {

1 Ответ

0 голосов
/ 16 апреля 2019

Итак, я понял, что использую udateLocale ('en', английский), поэтому мне нужно было использовать это и в моем тесте, поэтому необходимо добавить следующее:

import { mount, createLocalVue, } from '@vue/test-utils'
import { expect } from 'chai'
import sinon from 'sinon'
import Moment from 'moment'
import English from '../../src/i18n/moment/en'
import Vuex from 'vuex'
import Vue from 'vue'
import authorisation from '../../src/components/settings/Authorisation.vue'

const localVue = createLocalVue()
localVue.use(Vuex)
const renewAuthStub = sinon.stub()
localVue.filter('translate', () => {})
Vue.prototype.$moment = Moment
Moment.updateLocale('en', English)

describe ('settings authorisation', () => {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...