Skip to content
Snippets Groups Projects
Commit 7c47cc94 authored by Luke "Jared" Bennett's avatar Luke "Jared" Bennett Committed by Mike Greiling
Browse files

Swapped out teaspoon for karma

parent 3eb85697
No related branches found
No related tags found
No related merge requests found
Showing
with 115 additions and 81 deletions
Loading
Loading
@@ -291,7 +291,7 @@ rake db:seed_fu:
paths:
- log/development.log
 
teaspoon:
karma:
cache:
paths:
- vendor/ruby
Loading
Loading
@@ -300,9 +300,9 @@ teaspoon:
<<: *use-db
<<: *dedicated-runner
script:
- npm install
- npm link istanbul
- rake teaspoon
- rake webpack:compile
- npm run karma-start
artifacts:
name: coverage-javascript
expire_in: 31d
Loading
Loading
@@ -381,8 +381,6 @@ lint:javascript:
- node_modules/
stage: test
image: "node:7.1"
before_script:
- npm install
script:
- npm --silent run eslint
 
Loading
Loading
@@ -393,8 +391,6 @@ lint:javascript:report:
- node_modules/
stage: post-test
image: "node:7.1"
before_script:
- npm install
script:
- find app/ spec/ -name '*.js' -or -name '*.js.es6' -exec sed --in-place 's|/\* eslint-disable .*\*/||' {} \; # run report over all files
- npm --silent run eslint-report || true # ignore exit code
Loading
Loading
@@ -444,7 +440,7 @@ pages:
<<: *dedicated-runner
dependencies:
- coverage
- teaspoon
- karma
- lint:javascript:report
script:
- mv public/ .public/
Loading
Loading
var path = require('path');
var webpackConfig = require('./webpack.config.js');
var ROOT_PATH = path.resolve(__dirname, '..');
// Karma configuration
module.exports = function(config) {
config.set({
basePath: ROOT_PATH,
frameworks: ['jquery-2.1.0', 'jasmine'],
files: [
'spec/javascripts/*_spec.js',
'spec/javascripts/*_spec.js.es6',
{ pattern: 'spec/javascripts/fixtures/**/*.html', included: false, served: true },
{ pattern: 'spec/javascripts/fixtures/**/*.json', included: false, served: true },
],
preprocessors: {
'spec/javascripts/*_spec.js': ['webpack'],
'spec/javascripts/*_spec.js.es6': ['webpack'],
'app/assets/javascripts/**/*.js': ['webpack'],
'app/assets/javascripts/**/*.js.es6': ['webpack'],
},
webpack: webpackConfig,
webpackMiddleware: { stats: 'errors-only' },
});
};
Loading
Loading
@@ -58,7 +58,7 @@ var config = {
{
test: /\.(js|es6)$/,
loader: 'imports-loader',
query: 'this=>window'
query: '$=jquery,jQuery=jquery,this=>window'
},
{
test: /\.json$/,
Loading
Loading
@@ -87,7 +87,10 @@ var config = {
'vendor': path.join(ROOT_PATH, 'vendor/assets/javascripts'),
'vue$': 'vue/dist/vue.js',
'vue-resource$': 'vue-resource/dist/vue-resource.js'
}
},
root: [
path.join(ROOT_PATH, 'app/assets/javascripts'),
],
}
}
 
Loading
Loading
Loading
Loading
@@ -6,7 +6,7 @@ namespace :gitlab do
%W(rake rubocop),
%W(rake spinach),
%W(rake spec),
%W(rake teaspoon)
%W(npm run karma-start)
]
 
cmds.each do |cmd|
Loading
Loading
Loading
Loading
@@ -7,5 +7,5 @@ end
 
unless Rails.env.production?
desc "GitLab | Run all tests on CI with simplecov"
task test_ci: [:rubocop, :brakeman, :teaspoon, :spinach, :spec]
task test_ci: [:rubocop, :brakeman, :'karma-start', :spinach, :spec]
end
Loading
Loading
@@ -4,7 +4,8 @@
"dev-server": "node_modules/.bin/webpack-dev-server --config config/webpack.config.js",
"eslint": "eslint --max-warnings 0 --ext .js,.js.es6 .",
"eslint-fix": "npm run eslint -- --fix",
"eslint-report": "npm run eslint -- --format html --output-file ./eslint-report.html"
"eslint-report": "npm run eslint -- --format html --output-file ./eslint-report.html",
"karma-start": "karma start config/karma.config.js"
},
"dependencies": {
"babel": "^5.8.38",
Loading
Loading
@@ -35,6 +36,11 @@
"eslint-plugin-import": "^2.2.0",
"eslint-plugin-jasmine": "^2.1.0",
"istanbul": "^0.4.5",
"karma": "^1.3.0"
"jasmine-core": "^2.5.2",
"jasmine-jquery": "^2.1.1",
"karma": "^1.3.0",
"karma-jasmine": "^1.1.0",
"karma-jquery": "^0.1.0",
"karma-webpack": "^1.8.0"
}
}
/*= require lib/utils/text_utility */
/*= require abuse_reports */
require('./spec_helper');
require('lib/utils/text_utility');
require('abuse_reports');
 
((global) => {
describe('Abuse Reports', () => {
Loading
Loading
/* eslint-disable no-unused-expressions, comma-spacing, prefer-const, no-prototype-builtins, semi, no-new, keyword-spacing, no-plusplus, no-shadow, max-len */
 
/*= require js.cookie.js */
/*= require jquery.endless-scroll.js */
/*= require pager */
/*= require activities */
require('./spec_helper');
require('vendor/js.cookie.js');
require('vendor/jquery.endless-scroll.js');
require('pager');
require('activities');
 
(() => {
window.gon || (window.gon = {});
Loading
Loading
/* eslint-disable space-before-function-paren, no-var, one-var, one-var-declaration-per-line, no-unused-expressions, comma-dangle, new-parens, no-unused-vars, quotes, jasmine/no-spec-dupes, prefer-template, padded-blocks, max-len */
/* global AwardsHandler */
 
/*= require awards_handler */
/*= require jquery */
/*= require js.cookie */
/*= require ./fixtures/emoji_menu */
require('./spec_helper');
require('awards_handler');
require('vendor/js.cookie');
require('./fixtures/emoji_menu');
 
(function() {
var awardsHandler, lazyAssert, urlRoot;
Loading
Loading
/* eslint-disable space-before-function-paren, no-var, comma-dangle, no-return-assign, padded-blocks, max-len */
 
/*= require behaviors/autosize */
require('behaviors/autosize');
 
(function() {
describe('Autosize behavior', function() {
Loading
Loading
/* eslint-disable space-before-function-paren, no-var, no-return-assign, comma-dangle, jasmine/no-spec-dupes, new-cap, padded-blocks, max-len */
 
/*= require behaviors/quick_submit */
require('./spec_helper');
require('behaviors/quick_submit');
 
(function() {
describe('Quick Submit behavior', function() {
Loading
Loading
/* eslint-disable space-before-function-paren, no-var, padded-blocks */
 
/*= require behaviors/requires_input */
require('./spec_helper');
require('behaviors/requires_input');
 
(function() {
describe('requiresInput', function() {
Loading
Loading
Loading
Loading
@@ -6,19 +6,18 @@
/* global listObj */
/* global listObjDuplicate */
 
//= require jquery
//= require jquery_ujs
//= require js.cookie
//= require vue
//= require vue-resource
//= require lib/utils/url_utility
//= require boards/models/issue
//= require boards/models/label
//= require boards/models/list
//= require boards/models/user
//= require boards/services/board_service
//= require boards/stores/boards_store
//= require ./mock_data
require('jquery_ujs');
require('js.cookie');
require('vue');
require('vue-resource');
require('lib/utils/url_utility');
require('boards/models/issue');
require('boards/models/label');
require('boards/models/list');
require('boards/models/user');
require('boards/services/board_service');
require('boards/stores/boards_store');
require('./mock_data');
 
describe('Store', () => {
beforeEach(() => {
Loading
Loading
Loading
Loading
@@ -2,19 +2,18 @@
/* global BoardService */
/* global ListIssue */
 
//= require jquery
//= require jquery_ujs
//= require js.cookie
//= require vue
//= require vue-resource
//= require lib/utils/url_utility
//= require boards/models/issue
//= require boards/models/label
//= require boards/models/list
//= require boards/models/user
//= require boards/services/board_service
//= require boards/stores/boards_store
//= require ./mock_data
require('jquery_ujs');
require('js.cookie');
require('vue');
require('vue-resource');
require('lib/utils/url_utility');
require('boards/models/issue');
require('boards/models/label');
require('boards/models/list');
require('boards/models/user');
require('boards/services/board_service');
require('boards/stores/boards_store');
require('./mock_data');
 
describe('Issue model', () => {
let issue;
Loading
Loading
Loading
Loading
@@ -5,19 +5,18 @@
/* global List */
/* global listObj */
 
//= require jquery
//= require jquery_ujs
//= require js.cookie
//= require vue
//= require vue-resource
//= require lib/utils/url_utility
//= require boards/models/issue
//= require boards/models/label
//= require boards/models/list
//= require boards/models/user
//= require boards/services/board_service
//= require boards/stores/boards_store
//= require ./mock_data
require('jquery_ujs');
require('js.cookie');
require('vue');
require('vue-resource');
require('lib/utils/url_utility');
require('boards/models/issue');
require('boards/models/label');
require('boards/models/list');
require('boards/models/user');
require('boards/services/board_service');
require('boards/stores/boards_store');
require('./mock_data');
 
describe('List model', () => {
let list;
Loading
Loading
//= require lib/utils/bootstrap_linked_tabs
require('./spec_helper');
require('lib/utils/bootstrap_linked_tabs');
 
(() => {
describe('Linked Tabs', () => {
Loading
Loading
Loading
Loading
@@ -2,11 +2,12 @@
/* global Build */
/* global Turbolinks */
 
//= require lib/utils/datetime_utility
//= require build
//= require breakpoints
//= require jquery.nicescroll
//= require turbolinks
require('./spec_helper');
require('lib/utils/datetime_utility');
require('build');
require('breakpoints');
require('vendor/jquery.nicescroll');
require('vendor/turbolinks');
 
describe('Build', () => {
const BUILD_URL = `${gl.TEST_HOST}/frontend-fixtures/builds-project/builds/1`;
Loading
Loading
/* eslint-disable no-new, padded-blocks */
 
/*= require sidebar */
/*= require jquery */
/*= require js.cookie */
/*= require lib/utils/text_utility */
require('./spec_helper');
require('sidebar');
require('vendor/js.cookie');
require('lib/utils/text_utility');
 
((global) => {
describe('Dashboard', () => {
Loading
Loading
//= require lib/utils/datetime_utility
require('lib/utils/datetime_utility');
 
(() => {
describe('Date time utils', () => {
Loading
Loading
/* eslint-disable no-extra-semi, jasmine/no-global-setup, dot-notation, jasmine/no-expect-in-setup-teardown, max-len */
/* global CommentsStore */
 
//= require vue
//= require diff_notes/models/discussion
//= require diff_notes/models/note
//= require diff_notes/stores/comments
require('diff_notes/models/discussion');
require('diff_notes/models/note');
require('diff_notes/stores/comments');
 
(() => {
function createDiscussion(noteId = 1, resolved = true) {
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment