diff --git a/client/config/test/webpack.js b/client/config/test/webpack.js new file mode 100644 index 0000000..c71a86c --- /dev/null +++ b/client/config/test/webpack.js @@ -0,0 +1,55 @@ +import webpack from 'webpack'; + +module.exports = { + entry: { + app: __dirname + '/../../config/development/app', + style: __dirname + '/../../config/development/style' + }, + output: { + filename: '[name].js', + path: __dirname + '/../../build/development' + }, + module: { + loaders: [ + { + test: /\.scss$/, + loaders: ['style', 'raw', 'sass'] + }, { + test: /\.css$/, + loaders: ['style', 'raw'] + }, { + test: /\.js$/, + loader: 'babel' + }, { + test: /\.json$/, + loader: 'json' + }, { + test: /\.rt/, + loader: "react-templates-loader?targetVersion=0.14.0" + } + ] + }, + sassLoader: { + includePaths: [__dirname + '/../..', __dirname + '/../../../node_modules'] + }, + plugins: [ + new webpack.ProvidePlugin({ + $: "jquery", + jQuery: "jquery", + "window.jQuery": "jquery" + }), + new webpack.ProvidePlugin({ + d3: "d3", + "window.d3": "d3" + }) + ], + node: { + fs: "empty" + }, + resolve: { + alias: { + api: __dirname + '/../../api/development', + config: __dirname + '/../../config/development' + } + } +} diff --git a/examples/example.js b/examples/example.js new file mode 100644 index 0000000..c404e47 --- /dev/null +++ b/examples/example.js @@ -0,0 +1,10 @@ +class Example { + constructor(){ + + } + sayHi(){ + console.log('hi') + } +} + +export default Example; diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 0000000..fee5710 --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,68 @@ +var path = require('path'); + +module.exports = function (config) { + config.set({ + browsers: ['PhantomJS'], + //coverageReporter: { + // reporters: [ + // { type: 'html', subdir: 'html' }, + // { type: 'lcovonly', subdir: '.' }, + // ], + // }, + files: [ + 'tests.webpack.js', + ], + frameworks: [ + 'jasmine', + ], + preprocessors: { + 'tests.webpack.js': ['webpack', 'sourcemap'], + }, + reporters: ['progress'], + webpack: { + cache: true, + devtool: 'inline-source-map', + module: { + preLoaders: [ + { + test: /\.test\.js$/, + include: /spec/, + exclude: /node_modules/, + loader: 'babel', + query: { + cacheDirectory: true, + }, + }/*, { + test: /\.js?$/, + include: /(client|shared)/, + exclude: /(node_modules|spec)/, + loader: 'babel-istanbul', + query: { + cacheDirectory: true, + }, + }*/ + ], + loaders: [ + { + test: /\.js$/, + include: /(client|shared)/, + exclude: /(node_modules|spec)/, + loader: 'babel', + query: { + cacheDirectory: true, + }, + }, { + test: /\.json$/, + loader: 'json' + } + ], + }, + resolve: { + alias: { + api: __dirname + '/client/api/development', + config: __dirname + '/client/config/development' + } + } + }, + }); +}; diff --git a/npm-debug.log b/npm-debug.log deleted file mode 100644 index 22fe718..0000000 --- a/npm-debug.log +++ /dev/null @@ -1,45 +0,0 @@ -0 info it worked if it ends with ok -1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'start' ] -2 info using npm@3.5.3 -3 info using node@v5.4.1 -4 verbose run-script [ 'prestart', 'start', 'poststart' ] -5 info lifecycle spike_proto@0.0.0~prestart: spike_proto@0.0.0 -6 silly lifecycle spike_proto@0.0.0~prestart: no script for prestart, continuing -7 info lifecycle spike_proto@0.0.0~start: spike_proto@0.0.0 -8 verbose lifecycle spike_proto@0.0.0~start: unsafe-perm in lifecycle true -9 verbose lifecycle spike_proto@0.0.0~start: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/home/eric/Code/spike2/node_modules/.bin:/home/eric/.rvm/gems/ruby-1.9.3-p484@oroeco_dev/bin:/home/eric/.rvm/gems/ruby-1.9.3-p484@global/bin:/home/eric/.rvm/rubies/ruby-1.9.3-p484/bin:/home/eric/.rvm/bin:/home/eric/bin:/usr/local/heroku/bin:/home/eric/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/lampp/bin -10 verbose lifecycle spike_proto@0.0.0~start: CWD: /home/eric/Code/spike2 -11 silly lifecycle spike_proto@0.0.0~start: Args: [ '-c', 'babel-node ./server/app.express.js' ] -12 silly lifecycle spike_proto@0.0.0~start: Returned: code: 1 signal: null -13 info lifecycle spike_proto@0.0.0~start: Failed to exec start script -14 verbose stack Error: spike_proto@0.0.0 start: `babel-node ./server/app.express.js` -14 verbose stack Exit status 1 -14 verbose stack at EventEmitter. (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:232:16) -14 verbose stack at emitTwo (events.js:87:13) -14 verbose stack at EventEmitter.emit (events.js:172:7) -14 verbose stack at ChildProcess. (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14) -14 verbose stack at emitTwo (events.js:87:13) -14 verbose stack at ChildProcess.emit (events.js:172:7) -14 verbose stack at maybeClose (internal/child_process.js:821:16) -14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5) -15 verbose pkgid spike_proto@0.0.0 -16 verbose cwd /home/eric/Code/spike2 -17 error Linux 3.19.0-51-generic -18 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "start" -19 error node v5.4.1 -20 error npm v3.5.3 -21 error code ELIFECYCLE -22 error spike_proto@0.0.0 start: `babel-node ./server/app.express.js` -22 error Exit status 1 -23 error Failed at the spike_proto@0.0.0 start script 'babel-node ./server/app.express.js'. -23 error Make sure you have the latest version of node.js and npm installed. -23 error If you do, this is most likely a problem with the spike_proto package, -23 error not with npm itself. -23 error Tell the author that this fails on your system: -23 error babel-node ./server/app.express.js -23 error You can get information on how to open an issue for this project with: -23 error npm bugs spike_proto -23 error Or if that isn't available, you can get their info via: -23 error npm owner ls spike_proto -23 error There is likely additional logging output above. -24 verbose exit [ 1, true ] diff --git a/package.json b/package.json index 6bf1113..1709b1c 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,17 @@ "gulp-copy": "0.0.2", "jasmine-core": "2.4.1", "react-templates": "0.4.1", - "jasmine-es6": "0.1.4" + "jasmine-es6": "0.1.4", + "karma": "^0.13.19", + "babel-plugin-add-module-exports": "^0.1.2", + "karma-webpack": "^1.7.0", + "karma-chrome-launcher": "^0.2.2", + "karma-coverage": "^0.5.3", + "karma-jasmine": "^0.3.6", + "karma-sourcemap-loader": "^0.3.7", + "phantomjs-prebuilt": "2.1.4", + "babel-istanbul": "^0.6.0", + "babel-istanbul-loader": "0.0.1", + "karma-phantomjs-launcher": "1.0.0" } } diff --git a/spec/client/dashboard/models/house.test.js b/spec/client/dashboard/models/house.test.js index c8f2b47..b44366b 100644 --- a/spec/client/dashboard/models/house.test.js +++ b/spec/client/dashboard/models/house.test.js @@ -52,8 +52,9 @@ describe('house#setMonthState', ()=>{ house.setMonthState({ month: 'Mar', - year: 2015 - }, [ power_min, power_max ]); + year: 2015, + power_range: [ power_min, power_max ] + }); expect(house.state.month).toEqual('Mar'); expect(house.state.year).toEqual(2015); diff --git a/tests.webpack.js b/tests.webpack.js new file mode 100644 index 0000000..4037771 --- /dev/null +++ b/tests.webpack.js @@ -0,0 +1,14 @@ +// Require babel polyfill for browser. +require('babel-polyfill'); + +var testsContext = require.context('./spec', true, /\.test\.js$/); +testsContext.keys().forEach(testsContext); + +require('./client/models/house'); +require('./shared/utils/date_range'); + +/* +var srcContext = require.context('./client', true, /\.js$/); +srcContext.keys().forEach(srcContext);*/ + +