From 12f9f581d06e2554fe583d17ead2c8800128ec41 Mon Sep 17 00:00:00 2001 From: Tom Robinson <tlrobinson@gmail.com> Date: Thu, 11 Jun 2015 03:21:17 -0700 Subject: [PATCH] Add a 'real' test --- .gitignore | 1 + karma.conf.js | 91 ++++++++++--------- .../app/metabase/metabase.services.js | 8 +- .../frontend_client/app/test/unit/app.spec.js | 12 --- .../app/test/unit/services.spec.js | 21 +++++ 5 files changed, 76 insertions(+), 57 deletions(-) delete mode 100644 resources/frontend_client/app/test/unit/app.spec.js create mode 100644 resources/frontend_client/app/test/unit/services.spec.js diff --git a/.gitignore b/.gitignore index 8308bd954d5..15e6bf0dfe6 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ profiles.clj /node_modules/ /.js_hint_output/ /.babel_cache +/coverage diff --git a/karma.conf.js b/karma.conf.js index e894afa3ce7..8982c603b12 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,48 +1,53 @@ 'use strict'; var webpackConfig = require('./webpack.config'); -webpackConfig.cache = true; -webpackConfig.module.postLoaders = [{ - test: /\.js$/, - exclude: /(_spec|vendor|node_modules)/, - loader: 'istanbul-instrumenter' -}]; +webpackConfig.module.postLoaders = [ + { test: /\.js$/, exclude: /(_spec|vendor|node_modules)/, loader: 'istanbul-instrumenter' } +]; -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine'], - files: [ - 'resources/frontend_client/app/**/*.spec.js' - ], - webpack: { - resolve: webpackConfig.resolve, - module: webpackConfig.module - }, - preprocessors: { - 'resources/frontend_client/app/**/*.spec.js': ['webpack'] - }, - reporters: [ - 'progress', - 'coverage' - ], - coverageReporter: { - dir: 'coverage/', - subdir: function (browser) { - return browser.toLowerCase().split(/[ /-]/)[0]; - }, - reporters: [ - {type: 'cobertura', file: 'cobertura.xml'}, - {type: 'text', file: 'text.txt'}, - {type: 'text-summary', file: 'text-summary.txt'}, - {type: 'html'} - ] - }, - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: false, - browsers: ['Chrome'], - singleRun: true - }); +module.exports = function(config) { + config.set({ + basePath: '', + files: [ + 'resources/frontend_client/app/dist/vendor.js', + // 'resources/frontend_client/vendor.js', + 'node_modules/angular-mocks/angular-mocks.js', + 'resources/frontend_client/app/dist/app.js', + 'resources/frontend_client/app/**/*.spec.js' + ], + exclude: [ + ], + preprocessors: { + 'resources/frontend_client/vendor.js': ['webpack'], + 'resources/frontend_client/app/**/*.spec.js': ['webpack'] + }, + frameworks: [ + 'jasmine' + ], + reporters: [ + 'progress', + 'coverage' + ], + webpack: { + resolve: webpackConfig.resolve, + module: webpackConfig.module + }, + coverageReporter: { + dir: 'coverage/', + subdir: function(browser) { + return browser.toLowerCase().split(/[ /-]/)[0]; + }, + reporters: [ + { type: 'text', file: 'text.txt' }, + { type: 'text-summary', file: 'text-summary.txt' }, + { type: 'html' } + ] + }, + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + browsers: ['Chrome'], + autoWatch: true, + singleRun: false + }); }; diff --git a/resources/frontend_client/app/metabase/metabase.services.js b/resources/frontend_client/app/metabase/metabase.services.js index fbecdf2ab17..bc509ed0047 100644 --- a/resources/frontend_client/app/metabase/metabase.services.js +++ b/resources/frontend_client/app/metabase/metabase.services.js @@ -1,7 +1,11 @@ 'use strict'; // Metabase Services -var MetabaseServices = angular.module('corvus.metabase.services', ['ngResource', 'ngCookies']); +var MetabaseServices = angular.module('corvus.metabase.services', [ + 'ngResource', + 'ngCookies', + 'corvus.services' +]); MetabaseServices.factory('Metabase', ['$resource', '$cookies', 'CorvusCore', function($resource, $cookies, CorvusCore) { return $resource('/api/meta', {}, { @@ -335,4 +339,4 @@ MetabaseServices.factory('TableSegment', ['$resource', '$cookies', function($res }, }); -}]); \ No newline at end of file +}]); diff --git a/resources/frontend_client/app/test/unit/app.spec.js b/resources/frontend_client/app/test/unit/app.spec.js deleted file mode 100644 index a382d4b1db7..00000000000 --- a/resources/frontend_client/app/test/unit/app.spec.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -import angular from 'angular'; -import 'angular-mocks'; - -describe('Hello Service', function () { - describe('.hello', function () { - it('1 should equal 1', function () { - expect(1).toEqual(1); - }); - }); -}); diff --git a/resources/frontend_client/app/test/unit/services.spec.js b/resources/frontend_client/app/test/unit/services.spec.js new file mode 100644 index 00000000000..0ca25ab909e --- /dev/null +++ b/resources/frontend_client/app/test/unit/services.spec.js @@ -0,0 +1,21 @@ +'use strict'; + +import 'metabase/services'; +import 'metabase/metabase/metabase.services'; + +describe('corvus.metabase.services', function() { + beforeEach(angular.mock.module('corvus.metabase.services')); + + describe('Metabase Service', function() { + it('should return current version', inject(function(Metabase, $httpBackend) { + $httpBackend.expect('GET', '/api/meta/db/?org=') + .respond(200, '[]'); + + Metabase.db_list().$promise.then(function(data) { + expect(data.length).toEqual(0); + }); + + $httpBackend.flush(); + })); + }); +}); -- GitLab