Как открыть кипрский магазин приложений nuxt для vuex? - PullRequest
0 голосов
/ 04 апреля 2019

Я хочу создать тесты для магазина Vuex с Cypress для проекта, созданного с Nuxt. Проблема в том, что я не могу найти способ выставить хранилище на кипарис, чтобы я мог отправлять действия из теста следующим образом (код взят из этот ответ ):

cy.visit()
cy.window().should('have.property', '__store__')
cy.window().then( win => {
  win.__store__.dispatch('myaction')
})

Ответ, ближайший к моей проблеме, можно найти здесь . Но это, кажется, правильный ответ только для приложения vue.js, созданного без nuxt, тем более что в документации Nuxt указано, что nuxt не поддерживает , что он называет классическим режимом для создания хранилищ, что и является используемым методом. в ссылочном ответе.

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 18 мая 2019

Вы должны выставить его в nuxt через плагин на стороне клиента:

// plugins/cypress.js

const isCypress = typeof window.Cypress !== 'undefined'

export default ({ store }) => {
  if (isCypress) {
    window.store = store
  }
}

Тогда в кипарисе вы можете проверить это:

// cypress/integration/example.spec.js

describe('Store', () => {   
  it('Application store is exposed to cypress', () => {
    cy.visit('/')
    cy.window().should('have.property', 'store')
  })
})
0 голосов
/ 04 апреля 2019

Вы можете сделать это в плагине. Например. создать плагин только для клиента, который установит хранилище в окно

Плагины / exposestore.client.js

export default ({store}) => {
  window.__store__ = store
}
...