diff --git a/test/plugin-browser.test.js b/test/plugin-browser.test.js new file mode 100644 index 0000000..93d83ce --- /dev/null +++ b/test/plugin-browser.test.js @@ -0,0 +1,38 @@ +import { mount, defaultOptions, VueMetaBrowserPlugin, loadVueMetaPlugin } from './utils' + +jest.mock('../package.json', () => ({ + version: 'test-version' +})) + +describe('plugin', () => { + let Vue + + beforeAll(() => (Vue = loadVueMetaPlugin(true))) + + test('is loaded', () => { + const instance = new Vue() + expect(instance.$meta).toEqual(expect.any(Function)) + + expect(instance.$meta().inject).toEqual(expect.any(Function)) + expect(instance.$meta().refresh).toEqual(expect.any(Function)) + + expect(instance.$meta().inject()).toBeUndefined() + expect(instance.$meta().refresh()).toBeDefined() + }) + + test('component has _hasMetaInfo set to true', () => { + const Component = Vue.component('test-component', { + template: '
Test
', + [defaultOptions.keyName]: { + title: 'Hello World' + } + }) + + const { vm } = mount(Component, { localVue: Vue }) + expect(vm._hasMetaInfo).toBe(true) + }) + + test('plugin sets package version', () => { + expect(VueMetaBrowserPlugin.version).toBe('test-version') + }) +}) diff --git a/test/plugin-server.test.js b/test/plugin-server.test.js new file mode 100644 index 0000000..60813c1 --- /dev/null +++ b/test/plugin-server.test.js @@ -0,0 +1,32 @@ +import { mount, defaultOptions, VueMetaServerPlugin, loadVueMetaPlugin } from './utils' + +jest.mock('../package.json', () => ({ + version: 'test-version' +})) + +describe('plugin', () => { + let Vue + + beforeAll(() => (Vue = loadVueMetaPlugin())) + + test('is loaded', () => { + const instance = new Vue() + expect(instance.$meta).toEqual(expect.any(Function)) + }) + + test('component has _hasMetaInfo set to true', () => { + const Component = Vue.component('test-component', { + template: '
Test
', + [defaultOptions.keyName]: { + title: 'Hello World' + } + }) + + const { vm } = mount(Component, { localVue: Vue }) + expect(vm._hasMetaInfo).toBe(true) + }) + + test('plugin sets package version', () => { + expect(VueMetaServerPlugin.version).toBe('test-version') + }) +})