From ab3e02e2b9dd816682b6388af54a8e7ebae61c3b Mon Sep 17 00:00:00 2001 From: kght6123 Date: Thu, 17 Jun 2021 01:32:03 +0900 Subject: [PATCH] Automatically import component and store in jest. --- .../template/frameworks/jest/jest.config.js | 3 ++- .../template/frameworks/jest/jest.setup.js | 2 ++ .../frameworks/jest/test/NuxtLogo.spec.js | 26 +++++++++++++------ 3 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 packages/cna-template/template/frameworks/jest/jest.setup.js diff --git a/packages/cna-template/template/frameworks/jest/jest.config.js b/packages/cna-template/template/frameworks/jest/jest.config.js index 348253eee..0850da093 100644 --- a/packages/cna-template/template/frameworks/jest/jest.config.js +++ b/packages/cna-template/template/frameworks/jest/jest.config.js @@ -24,5 +24,6 @@ module.exports = { '/components/**/*.vue', '/pages/**/*.vue' ], - testEnvironment: 'jsdom' + testEnvironment: 'jsdom', + setupFilesAfterEnv: ['./jest.setup.js'], } diff --git a/packages/cna-template/template/frameworks/jest/jest.setup.js b/packages/cna-template/template/frameworks/jest/jest.setup.js new file mode 100644 index 000000000..317578c5b --- /dev/null +++ b/packages/cna-template/template/frameworks/jest/jest.setup.js @@ -0,0 +1,2 @@ +// Enable when you want to import components automatically. +import "./.nuxt/components/plugin.js"; diff --git a/packages/cna-template/template/frameworks/jest/test/NuxtLogo.spec.js b/packages/cna-template/template/frameworks/jest/test/NuxtLogo.spec.js index fbdb3434c..24c0880f3 100644 --- a/packages/cna-template/template/frameworks/jest/test/NuxtLogo.spec.js +++ b/packages/cna-template/template/frameworks/jest/test/NuxtLogo.spec.js @@ -1,9 +1,19 @@ -import { mount } from '@vue/test-utils' -import NuxtLogo from '@/components/NuxtLogo.vue' +import { mount } from "@vue/test-utils"; +import NuxtLogo from "@/components/NuxtLogo.vue"; +import Vuex from "vuex"; +// Enable when you want to import Vuex Srore automatically. +import { createStore } from "../.nuxt/store.js"; -describe('NuxtLogo', () => { - test('is a Vue instance', () => { - const wrapper = mount(NuxtLogo) - expect(wrapper.vm).toBeTruthy() - }) -}) +const localVue = createLocalVue(); +localVue.use(Vuex); + +describe("NuxtLogo", () => { + test("is a Vue instance", () => { + const store = createStore(); + const wrapper = mount(NuxtLogo, { + store, + localVue, + }); + expect(wrapper.vm).toBeTruthy(); + }); +});