Как проверить функции плагина Vue? - PullRequest
0 голосов
/ 14 февраля 2020

Итак, у меня есть следующий класс функций-оболочек с именем cookie.js:

export default {

  Vue: null,

  set (name, value, options) {
    const defaultOptions = {
      sameSite: 'lax',
      secure: true
    };

    this.Vue.$cookies.set(name, value, Object.assign(defaultOptions, options));
  },

  get (name) {
    return this.Vue.$cookies.get(name);
  },

  remove (name) {
    this.Vue.$cookies.remove(name);
  }
};

И я устанавливаю этот плагин так:

import cookiePlugin from 'plugins/cookie';

Vue.use({
  install (Vue, options) {
    Vue.prototype.$cookie = function () {
      return Object.assign(cookiePlugin, {
        options,
        Vue: this
      });
    };
  }
});

Я хочу создать тестовый класс для методов set, get и remove в cookie.js.

Просматривая различные документы и вопросы на этом сайте, я думаю, что начало настройки для тестового класса примерно такое:

import Cookie from './cookie';
import { createLocalVue } from 'vue-test-utils'

it('sets up a cookie with correct options', () => {
  const localVue = createLocalVue();
  localVue.use(Cookie);

  // here is where I'm unsure how proceed/call the methods I want to test. 

});

Я думал, что вы делаете что-то вроде localVue.prototype.$cookie().set(...) отсюда, например, но я не думаю, что это правильно, так как я всегда получаю неопределенные ошибки свойств. Другие примеры, по-видимому, показывают такие вещи, как localVue.prototype.$plugin, где $plugin - это специфицированный c метод, а не класс методов, как у меня.

Есть предложения?

...