From eeb674d01f03da9af05536807f86899070f34213 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Tue, 30 Mar 2021 16:55:05 +0200 Subject: [PATCH 01/15] get validation observer working for tests --- frontend/jest.config.js | 6 +++- frontend/src/views/Pages/Login.spec.js | 44 ++++++++++++++++++++++++++ frontend/src/views/Pages/Login.vue | 2 +- frontend/test/testSetup.js | 12 ++++++- 4 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 frontend/src/views/Pages/Login.spec.js diff --git a/frontend/jest.config.js b/frontend/jest.config.js index cc261f68c..74366eb0e 100644 --- a/frontend/jest.config.js +++ b/frontend/jest.config.js @@ -15,10 +15,14 @@ module.exports = { transform: { '^.+\\.vue$': '/node_modules/vue-jest', '^.+\\.(js|jsx)?$': '/node_modules/babel-jest', + 'vee-validate/dist/rules': '/node_modules/babel-jest', }, setupFiles: ['/test/testSetup.js'], testMatch: ['**/?(*.)+(spec|test).js?(x)'], // snapshotSerializers: ['jest-serializer-vue'], - transformIgnorePatterns: ['/node_modules/'], + transformIgnorePatterns: [ + '/node_modules/', + '/node_modules/(?!vee-validate/dist/rules)', + ], preset: '@vue/cli-plugin-unit-jest', } diff --git a/frontend/src/views/Pages/Login.spec.js b/frontend/src/views/Pages/Login.spec.js new file mode 100644 index 000000000..ffc659ffd --- /dev/null +++ b/frontend/src/views/Pages/Login.spec.js @@ -0,0 +1,44 @@ +import { mount, RouterLinkStub } from '@vue/test-utils' +import Vuex from 'vuex' + +import Login from './Login' + +const localVue = global.localVue + +describe('Login', () => { + let wrapper + + let mocks = { + $i18n: { + locale: 'en', + }, + $t: jest.fn((t) => t), + } + + let store = new Vuex.Store({ + getters: { + 'auth/isModerator': () => false, + 'auth/user': () => { + return { id: 'some-user' } + }, + }, + }) + + let stubs = { + RouterLink: RouterLinkStub, + } + + const Wrapper = () => { + return mount(Login, { localVue, mocks, store, stubs }) + } + + describe('mount', () => { + beforeEach(() => { + wrapper = Wrapper() + }) + + it('renders the Login form', () => { + expect(wrapper.find('div.login-form').exists()).toBeTruthy() + }) + }) +}) diff --git a/frontend/src/views/Pages/Login.vue b/frontend/src/views/Pages/Login.vue index 6fd7e13e7..52e117bbc 100755 --- a/frontend/src/views/Pages/Login.vue +++ b/frontend/src/views/Pages/Login.vue @@ -1,5 +1,5 @@