refactor: new project structure

This commit is contained in:
Łukasz Holeczek
2018-03-05 15:35:14 +01:00
parent 0347970e65
commit 7dcd6bff72
273 changed files with 102 additions and 5945 deletions
+9
View File
@@ -0,0 +1,9 @@
{
"env": {
"mocha": true
},
"globals": {
"expect": true,
"sinon": true
}
}
+13
View File
@@ -0,0 +1,13 @@
import Vue from 'vue'
Vue.config.productionTip = false
// require all test files (files that ends with .spec.js)
const testsContext = require.context('./specs', true, /\.spec$/)
testsContext.keys().forEach(testsContext)
// require all src files except main.js for coverage.
// you can also change this to match only the subset of files that
// you want coverage for.
const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/)
srcContext.keys().forEach(srcContext)
+33
View File
@@ -0,0 +1,33 @@
// This is a karma config file. For more details see
// http://karma-runner.github.io/0.13/config/configuration-file.html
// we are also using it with karma-webpack
// https://github.com/webpack/karma-webpack
var webpackConfig = require('../../build/webpack.test.conf')
module.exports = function (config) {
config.set({
// to run in additional browsers:
// 1. install corresponding karma launcher
// http://karma-runner.github.io/0.13/config/browsers.html
// 2. add it to the `browsers` array below.
browsers: ['PhantomJS'],
frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'],
reporters: ['spec', 'coverage'],
files: ['./index.js'],
preprocessors: {
'./index.js': ['webpack', 'sourcemap']
},
webpack: webpackConfig,
webpackMiddleware: {
noInfo: true
},
coverageReporter: {
dir: './coverage',
reporters: [
{ type: 'lcov', subdir: '.' },
{ type: 'text-summary' }
]
}
})
}
+22
View File
@@ -0,0 +1,22 @@
import Vue from 'vue'
import BootstrapVue from 'bootstrap-vue'
import Dashboard from '@/views/Dashboard'
Vue.use(BootstrapVue)
describe('Dashboard', () => {
it('has a created hook', () => {
expect(typeof Dashboard.data).to.equal('function')
})
it('sets the correct default data', () => {
expect(typeof Dashboard.data).to.equal('function')
const defaultData = Dashboard.data()
expect(defaultData.selected).to.equal('Month')
})
it('should render correct contents', () => {
const Constructor = Vue.extend(Dashboard)
const vm = new Constructor().$mount()
expect(vm.$el.querySelector('#traffic').textContent)
.to.equal('Traffic')
})
})