mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Setting up a Rake task for Jasmine/Karma
This commit is contained in:
@@ -5,11 +5,11 @@ module.exports = function(config) {
|
||||
frameworks: ['jasmine'],
|
||||
|
||||
files: [
|
||||
APPLICATION_SPEC,
|
||||
'app/assets/javascripts/shared/jquery-1.8.0.js', // TODO: Can we link to Rails' jquery?
|
||||
'app/assets/javascripts/shared/angular.js',
|
||||
'app/assets/javascripts/shared/angular-*.js',
|
||||
'app/assets/javascripts/shared/jquery.timeago.js',
|
||||
'app/assets/javascripts/shared/mm-foundation-tpls-0.2.0-SNAPSHOT.js',
|
||||
'app/assets/javascripts/shared/angular-local-storage.js',
|
||||
|
||||
'app/assets/javascripts/admin/shared_directives.js.coffee',
|
||||
'app/assets/javascripts/admin/shared_services.js.coffee',
|
||||
@@ -18,7 +18,6 @@ module.exports = function(config) {
|
||||
'app/assets/javascripts/admin/bulk_product_update.js.coffee',
|
||||
'app/assets/javascripts/darkswarm/*.js*',
|
||||
'app/assets/javascripts/darkswarm/**/*.js*',
|
||||
|
||||
'spec/javascripts/unit/**/*.js*'
|
||||
],
|
||||
|
||||
|
||||
31
lib/tasks/karma.rake
Normal file
31
lib/tasks/karma.rake
Normal file
@@ -0,0 +1,31 @@
|
||||
namespace :karma do
|
||||
task :start => :environment do
|
||||
with_tmp_config :start
|
||||
end
|
||||
|
||||
task :run => :environment do
|
||||
with_tmp_config :start, "--single-run"
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def with_tmp_config(command, args = nil)
|
||||
Tempfile.open('karma_unit.js', Rails.root.join('tmp') ) do |f|
|
||||
f.write unit_js(application_spec_files)
|
||||
f.flush
|
||||
system "karma #{command} #{f.path} #{args}"
|
||||
end
|
||||
end
|
||||
|
||||
def application_spec_files
|
||||
sprockets = Rails.application.assets
|
||||
sprockets.append_path Rails.root.join("spec/javascripts")
|
||||
files = Rails.application.assets.find_asset("application_spec.js").to_a.map {|e| e.pathname.to_s }
|
||||
end
|
||||
|
||||
def unit_js(files)
|
||||
puts files
|
||||
unit_js = File.open('config/ng-test.conf.js', 'r').read
|
||||
unit_js.gsub "APPLICATION_SPEC", "\"#{files.join("\",\n\"")}\""
|
||||
end
|
||||
end
|
||||
5
spec/javascripts/application_spec.js
Normal file
5
spec/javascripts/application_spec.js
Normal file
@@ -0,0 +1,5 @@
|
||||
//= require angular
|
||||
//= require angular-resource
|
||||
//= require angular-animate
|
||||
//= require angular-mocks
|
||||
//= require angular-cookies
|
||||
@@ -828,4 +828,4 @@ describe 'OrderCycle services', ->
|
||||
expect(order_cycle.outgoing_exchanges[0].enterprise_fees).toEqual [{id: 3}, {id: 4}]
|
||||
expect(order_cycle.incoming_exchanges[0].enterprise_fee_ids).toBeUndefined()
|
||||
expect(order_cycle.outgoing_exchanges[0].enterprise_fee_ids).toBeUndefined()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user