setup for unit tests in frontend

This commit is contained in:
Moriz Wahl 2021-03-22 14:17:34 +01:00
parent 3da02f2791
commit 91956f6eae
6 changed files with 1947 additions and 50 deletions

25
frontend/.babelrc Normal file
View File

@ -0,0 +1,25 @@
{
"presets": [
[
"@babel/preset-env",
{
"modules": false
}
]
],
"env": {
"test": {
"plugins": ["require-context-hook"],
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "10"
}
}
]
]
}
}
}

2
frontend/.gitignore vendored
View File

@ -18,3 +18,5 @@ package-lock.json
*.ntvs* *.ntvs*
*.njsproj *.njsproj
*.sln *.sln
*~

View File

@ -8,10 +8,44 @@
"build": "vue-cli-service build", "build": "vue-cli-service build",
"lint": "vue-cli-service lint", "lint": "vue-cli-service lint",
"dev": "yarn run serve", "dev": "yarn run serve",
"i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue)' --locales './src/locales/**/*.json'" "i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue)' --locales './src/locales/**/*.json'",
"test": "jest"
},
"jest": {
"verbose": true,
"collectCoverageFrom": [
"**/*.{js,vue}",
"!**/node_modules/**",
"!**/?(*.)+(spec|test).js?(x)"
],
"moduleFileExtensions": [
"js",
"json",
"vue"
],
"coverageReporters": [
"lcov"
],
"moduleNameMapper": {
"^@/(.*)$": "<rootDir>/src/$1"
},
"transform": {
".*\\.(vue)$": "vue-jest",
"^.+\\.js$": "babel-jest"
},
"setupFiles": [
"<rootDir>/test/registerContext.js"
],
"testMatch": [
"**/?(*.)+(spec|test).js?(x)"
]
}, },
"dependencies": { "dependencies": {
"@vue/test-utils": "^1.1.3",
"axios": "^0.21.1", "axios": "^0.21.1",
"babel-core": "^7.12.3",
"babel-jest": "^26.6.3",
"babel-plugin-require-context-hook": "^1.0.0",
"bootstrap": "4.3.1", "bootstrap": "4.3.1",
"bootstrap-vue": "^2.5.0", "bootstrap-vue": "^2.5.0",
"chart.js": "^2.9.3", "chart.js": "^2.9.3",
@ -27,6 +61,7 @@
"flatpickr": "^4.5.7", "flatpickr": "^4.5.7",
"fuse.js": "^3.2.0", "fuse.js": "^3.2.0",
"google-maps": "^3.2.1", "google-maps": "^3.2.1",
"jest": "^26.6.3",
"nouislider": "^12.1.0", "nouislider": "^12.1.0",
"particles-bg-vue": "1.2.3", "particles-bg-vue": "1.2.3",
"perfect-scrollbar": "^1.3.0", "perfect-scrollbar": "^1.3.0",
@ -44,6 +79,7 @@
"vue-flatpickr-component": "^8.1.2", "vue-flatpickr-component": "^8.1.2",
"vue-good-table": "^2.21.3", "vue-good-table": "^2.21.3",
"vue-i18n": "^8.22.4", "vue-i18n": "^8.22.4",
"vue-jest": "^3.0.7",
"vue-moment": "^4.1.0", "vue-moment": "^4.1.0",
"vue-qrcode": "^0.3.5", "vue-qrcode": "^0.3.5",
"vue-qrcode-reader": "^2.3.16", "vue-qrcode-reader": "^2.3.16",

View File

@ -0,0 +1,33 @@
import { mount } from '@vue/test-utils'
import CloseButton from './CloseButton'
const localVue = global.localVue
describe('CloseButton', () => {
let wrapper
let propsData = {
taget: ["Target", 0],
expanded: false,
}
const Wrapper = () => {
return mount(CloseButton, { localVue, propsData })
}
describe('mount', () => {
beforeEach(() => {
wrapper = Wrapper()
})
it('emmits click event', () => {
console.log(wrapper.html())
wrapper.find('.navbar-toggler').trigger('click')
expect(wrapper.emitted('click')).toBeTruthy()
})
})
})

View File

@ -0,0 +1,2 @@
import registerRequireContextHook from 'babel-plugin-require-context-hook/register'
registerRequireContextHook()

File diff suppressed because it is too large Load Diff