77 lines
1.8 KiB
Ruby
77 lines
1.8 KiB
Ruby
require 'spec_helper'
|
|
require 'fakefs/spec_helpers'
|
|
require 'jasmine/headless/task'
|
|
require 'mocha'
|
|
|
|
describe Jasmine::Headless::Task do
|
|
before do
|
|
Jasmine::Headless::Task.any_instance.stubs(:desc)
|
|
Jasmine::Headless::Task.any_instance.stubs(:task)
|
|
end
|
|
|
|
after do
|
|
Object.send(:remove_const, :Rails) if defined?(Rails)
|
|
end
|
|
|
|
describe 'define task' do
|
|
context 'without Rails' do
|
|
it 'should not explode when Rails is undefined' do
|
|
Jasmine::Headless::Task.new('jasmine:headless')
|
|
end
|
|
end
|
|
|
|
context 'with Rails' do
|
|
before do
|
|
module Rails
|
|
def self.version
|
|
return "0"
|
|
end
|
|
end
|
|
end
|
|
|
|
it 'should be OK if rails is defined' do
|
|
Jasmine::Headless::Task.new('jasmine:headless')
|
|
end
|
|
end
|
|
end
|
|
|
|
describe 'jasmine:headless integration test' do
|
|
context 'with successful test' do
|
|
let(:test) do
|
|
described_class.new do |t|
|
|
t.jasmine_config = "spec/jasmine/success/success.yml"
|
|
end
|
|
end
|
|
|
|
it 'should do nothing on success' do
|
|
expect { test.send(:run_rake_task) }.to_not raise_error
|
|
end
|
|
end
|
|
|
|
context 'with failing test' do
|
|
let(:test) do
|
|
described_class.new do |t|
|
|
t.jasmine_config = "spec/jasmine/failure/failure.yml"
|
|
end
|
|
end
|
|
|
|
it 'should raise an exception on failure' do
|
|
expect { test.send(:run_rake_task) }.to raise_error(Jasmine::Headless::TestFailure)
|
|
end
|
|
end
|
|
|
|
context 'with console.log using test' do
|
|
let(:test) do
|
|
described_class.new do |t|
|
|
t.jasmine_config = "spec/jasmine/console_log/console_log.yml"
|
|
end
|
|
end
|
|
|
|
it 'should raise an exception on console.log usage' do
|
|
expect { test.send(:run_rake_task) }.to raise_error(Jasmine::Headless::ConsoleLogUsage)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|